Home
last modified time | relevance | path

Searched full:scaler (Results 1 – 25 of 220) sorted by relevance

123456789

/Linux-v5.10/drivers/gpu/drm/exynos/
Dexynos_drm_scaler.c24 #include "regs-scaler.h"
26 #define scaler_read(offset) readl(scaler->regs + (offset))
27 #define scaler_write(cfg, offset) writel(cfg, scaler->regs + (offset))
92 static inline int scaler_reset(struct scaler_context *scaler) in scaler_reset() argument
109 static inline void scaler_enable_int(struct scaler_context *scaler) in scaler_enable_int() argument
142 static inline void scaler_set_src_fmt(struct scaler_context *scaler, in scaler_set_src_fmt() argument
151 static inline void scaler_set_src_base(struct scaler_context *scaler, in scaler_set_src_base() argument
165 static inline void scaler_set_src_span(struct scaler_context *scaler, in scaler_set_src_span() argument
179 static inline void scaler_set_src_luma_chroma_pos(struct scaler_context *scaler, in scaler_set_src_luma_chroma_pos() argument
195 static inline void scaler_set_src_wh(struct scaler_context *scaler, in scaler_set_src_wh() argument
[all …]
Dregs-gsc.h7 * Register definition file for Samsung G-Scaler driver
13 /* G-Scaler enable */
33 /* G-Scaler S/W reset */
37 /* G-Scaler IRQ */
45 /* G-Scaler input control */
91 /* G-Scaler source image size */
98 /* G-Scaler source image offset */
105 /* G-Scaler cropped source image size */
112 /* G-Scaler output control */
148 /* G-Scaler scaled destination image size */
[all …]
DKconfig112 bool "Scaler"
115 Choose this option if you want to use Exynos Scaler for DRM.
/Linux-v5.10/drivers/media/platform/exynos-gsc/
Dgsc-regs.h6 * Register definition file for Samsung G-Scaler driver
12 /* G-Scaler enable */
18 /* G-Scaler S/W reset */
22 /* G-Scaler IRQ */
29 /* G-Scaler input control */
65 /* G-Scaler source image size */
70 /* G-Scaler source image offset */
75 /* G-Scaler cropped source image size */
80 /* G-Scaler output control */
110 /* G-Scaler scaled destination image size */
[all …]
Dgsc-core.h6 * header file for Samsung EXYNOS5 SoC series G-Scaler driver
64 * enum gsc_datapath - the path of data used for G-Scaler
130 * @idx : index of G-Scaler input buffer
139 * struct gsc_addr - the G-Scaler physical address set
150 /* struct gsc_ctrls - the G-Scaler control set
164 * struct gsc_scaler - the configuration data for G-Scaler inetrnal scaler
168 * @main_hratio: the main scaler's horizontal ratio
169 * @main_vratio: the main scaler's vertical ratio
190 * @fmt: G-Scaler color format pointer
222 * @org_scaler_bypass_w: max pixel width when the scaler is disabled
[all …]
/Linux-v5.10/Documentation/gpu/
Dkomeda-kms.rst29 Scaler section in Overview of D71 like display IPs
31 As its name suggests, scaler takes responsibility for scaling, and D71 also
32 supports image enhancements by scaler.
33 The usage of scaler is very flexible and can be connected to layer output
43 user can also insert a scaler between compositor and wb_layer to down scale
63 D71 scaler mostly only has the half horizontal input/output capabilities
64 compared with Layer, like if Layer supports 4K input size, the scaler only can
114 "Scaler-0";
115 "Scaler-1";
116 "Scaler-0/1"
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/gpu/
Dsamsung-scaler.yaml4 $id: http://devicetree.org/schemas/gpu/samsung-scaler.yaml#
7 title: Samsung Exynos SoC Image Scaler
15 - samsung,exynos5420-scaler
16 - samsung,exynos5433-scaler
33 const: samsung,exynos5420-scaler
73 scaler@12800000 {
74 compatible = "samsung,exynos5420-scaler";
/Linux-v5.10/Documentation/devicetree/bindings/media/
Dexynos5-gsc.txt1 * Samsung Exynos5 G-Scaler device
3 G-Scaler is used for scaling and color space conversion on Exynos5 SoCs.
11 - reg: should contain G-Scaler physical address location and length.
12 - interrupts: should contain G-Scaler interrupt number
27 Each G-Scaler node should have a numbered alias in the aliases node,
28 in the form of gscN, N = 0...3. G-Scaler driver uses these aliases
/Linux-v5.10/drivers/gpu/drm/arm/display/komeda/
Dkomeda_pipeline_state.c253 /* Get current available scaler from the component->supported_outputs */
443 komeda_scaler_check_cfg(struct komeda_scaler *scaler, in komeda_scaler_check_cfg() argument
455 if (!in_range(&scaler->hsize, hsize_in) || in komeda_scaler_check_cfg()
456 !in_range(&scaler->hsize, hsize_out)) { in komeda_scaler_check_cfg()
461 if (!in_range(&scaler->vsize, vsize_in) || in komeda_scaler_check_cfg()
462 !in_range(&scaler->vsize, vsize_out)) { in komeda_scaler_check_cfg()
468 * and scaler can not do upscaling for writeback in komeda_scaler_check_cfg()
473 max_upscaling = scaler->max_upscaling; in komeda_scaler_check_cfg()
476 scaler->max_downscaling)) { in komeda_scaler_check_cfg()
482 scaler->max_downscaling)) { in komeda_scaler_check_cfg()
[all …]
/Linux-v5.10/drivers/media/platform/s3c-camif/
Dcamif-core.c143 struct camif_scaler *scaler) in s3c_camif_get_scaler_config() argument
155 ret = camif_get_scaler_factor(source_x, target_x, &scaler->pre_h_ratio, in s3c_camif_get_scaler_config()
156 &scaler->h_shift); in s3c_camif_get_scaler_config()
160 ret = camif_get_scaler_factor(source_y, target_y, &scaler->pre_v_ratio, in s3c_camif_get_scaler_config()
161 &scaler->v_shift); in s3c_camif_get_scaler_config()
165 scaler->pre_dst_width = source_x / scaler->pre_h_ratio; in s3c_camif_get_scaler_config()
166 scaler->pre_dst_height = source_y / scaler->pre_v_ratio; in s3c_camif_get_scaler_config()
168 scaler->main_h_ratio = (source_x << 8) / (target_x << scaler->h_shift); in s3c_camif_get_scaler_config()
169 scaler->main_v_ratio = (source_y << 8) / (target_y << scaler->v_shift); in s3c_camif_get_scaler_config()
171 scaler->scaleup_h = (target_x >= source_x); in s3c_camif_get_scaler_config()
[all …]
Dcamif-regs.c364 struct camif_scaler *sc = &vp->scaler; in camif_hw_set_prescaler()
382 struct camif_scaler *scaler = &vp->scaler; in camif_s3c244x_hw_set_scaler() local
393 if (scaler->enable) { in camif_s3c244x_hw_set_scaler()
394 if (scaler->scaleup_h) { in camif_s3c244x_hw_set_scaler()
400 if (scaler->scaleup_v) { in camif_s3c244x_hw_set_scaler()
411 cfg |= ((scaler->main_h_ratio & 0x1ff) << 16); in camif_s3c244x_hw_set_scaler()
412 cfg |= scaler->main_v_ratio & 0x1ff; in camif_s3c244x_hw_set_scaler()
423 scaler->main_h_ratio, scaler->main_v_ratio); in camif_s3c244x_hw_set_scaler()
429 struct camif_scaler *scaler = &vp->scaler; in camif_s3c64xx_hw_set_scaler() local
446 if (!scaler->enable) { in camif_s3c64xx_hw_set_scaler()
[all …]
/Linux-v5.10/drivers/gpu/drm/i915/display/
Dintel_atomic.c315 /* find a free scaler */ in intel_atomic_setup_scaler()
327 "Cannot find scaler for %s:%d\n", name, idx)) in intel_atomic_setup_scaler()
330 /* set scaler mode */ in intel_atomic_setup_scaler()
340 * On gen11+'s HDR planes we only use the scaler for in intel_atomic_setup_scaler()
342 * we don't need the scaler to upsample the UV plane. in intel_atomic_setup_scaler()
358 * when only 1 scaler is in use on a pipe with 2 scalers in intel_atomic_setup_scaler()
359 * scaler 0 operates in high quality (HQ) mode. in intel_atomic_setup_scaler()
360 * In this case use scaler 0 to take advantage of HQ mode in intel_atomic_setup_scaler()
370 drm_dbg_kms(&dev_priv->drm, "Attached scaler id %u.%u to %s:%d\n", in intel_atomic_setup_scaler()
385 * This function takes into account the current scaler(s) in use by any planes
[all …]
/Linux-v5.10/drivers/staging/media/ipu3/
Dipu3-css-params.c42 /* Set up the CSS scaler look up table */
131 * and chroma details of a scaler
193 /********************** Osys routines for scaler****************************/
459 * scaler factor is 1 or other in imgu_css_osys_calc_frame_and_stripe_params()
481 dev_dbg(css->dev, "osys scaler procmode is %u", procmode); in imgu_css_osys_calc_frame_and_stripe_params()
503 * Calculate scaler configuration parameters based on input and output in imgu_css_osys_calc_frame_and_stripe_params()
536 * in case scaler output is not enabled in imgu_css_osys_calc_frame_and_stripe_params()
642 * of chunck scaler HW may not output the pixel in imgu_css_osys_calc_frame_and_stripe_params()
740 * The scaler requires that the last stripe in imgu_css_osys_calc_frame_and_stripe_params()
784 * as produced by the scaler; actual in imgu_css_osys_calc_frame_and_stripe_params()
[all …]
/Linux-v5.10/drivers/media/platform/ti-vpe/
Dsc.c3 * Scaler library
58 * set the horizontal scaler coefficients according to the ratio of output to
94 * for each phase, the scaler expects space for 8 coefficients in sc_set_hs_coeffs()
95 * in it's memory. For the horizontal scaler, we copy the first in sc_set_hs_coeffs()
107 * set the vertical scaler coefficients according to the ratio of output to
136 * for the vertical scaler, we copy the first 5 coefficients and in sc_set_vs_coeffs()
187 /* configure horizontal scaler */ in sc_config_scaler()
210 /* configure vertical scaler */ in sc_config_scaler()
212 /* use RAV for vertical scaler if vertical downscaling is > 4x */ in sc_config_scaler()
306 MODULE_DESCRIPTION("TI VIP/VPE Scaler");
Dsc.h12 /* Scaler regs */
164 /* number of taps used by horizontal polyphase scaler */
167 /* number of taps used by vertical polyphase scaler */
170 /* number of taps expected by the scaler in it's coefficient memory */
173 /* Maximum frame width the scaler can handle (in pixels) */
176 /* Maximum frame height the scaler can handle (in lines) */
/Linux-v5.10/Documentation/userspace-api/media/v4l/
Ddev-subdev.rst117 The sensor scaler is usually of less quality than the host scaler, but
233 - Scaler/0
236 - Scaler/0
239 - Scaler/1
264 * - Configure scaler sink format
281 * - Configure scaler sink compose selection
305 host frontend and scaler sink and source pads have the default
306 values, as well as the compose rectangle on the scaler's sink pad.
312 3. The application configures the scaler sink pad format's size to
317 scaler's sink pad, and the format to the scaler source pad.
[all …]
Dpipeline.dot6scaler [label="{<scaler_0> 0} | Host\nScaler | {<scaler_1> 1} ", shape=Mrecord, style=filled, fill…
12 frontend:frontend_1 -> scaler:scaler_0 [color=blue, label="HQ: 2592x1968\nHS: 1296x984"]
13 scaler:scaler_1 -> io:io_0 [color=blue, label="HQ: 1280x720\nHS: 1280x720"]
/Linux-v5.10/drivers/gpu/drm/imx/dcss/
Ddcss-scaler.c91 /* scaler coefficients generator */
290 dev_err(scl->dev, "scaler: unable to remap ch base\n"); in dcss_scaler_ch_init_all()
302 struct dcss_scaler *scaler; in dcss_scaler_init() local
304 scaler = kzalloc(sizeof(*scaler), GFP_KERNEL); in dcss_scaler_init()
305 if (!scaler) in dcss_scaler_init()
308 dcss->scaler = scaler; in dcss_scaler_init()
309 scaler->dev = dcss->dev; in dcss_scaler_init()
310 scaler->ctxld = dcss->ctxld; in dcss_scaler_init()
311 scaler->ctx_id = CTX_SB_HP; in dcss_scaler_init()
313 if (dcss_scaler_ch_init_all(scaler, scaler_base)) { in dcss_scaler_init()
[all …]
/Linux-v5.10/drivers/gpu/drm/nouveau/
Dnouveau_connector.c107 *val = asyc->scaler.mode; in nouveau_conn_atomic_get_property()
109 *val = asyc->scaler.underscan.mode; in nouveau_conn_atomic_get_property()
111 *val = asyc->scaler.underscan.hborder; in nouveau_conn_atomic_get_property()
113 *val = asyc->scaler.underscan.vborder; in nouveau_conn_atomic_get_property()
168 if (asyc->scaler.mode != val) { in nouveau_conn_atomic_set_property()
169 asyc->scaler.mode = val; in nouveau_conn_atomic_set_property()
170 asyc->set.scaler = true; in nouveau_conn_atomic_set_property()
174 if (asyc->scaler.underscan.mode != val) { in nouveau_conn_atomic_set_property()
175 asyc->scaler.underscan.mode = val; in nouveau_conn_atomic_set_property()
176 asyc->set.scaler = true; in nouveau_conn_atomic_set_property()
[all …]
/Linux-v5.10/drivers/gpu/drm/sun4i/
Dsun8i_mixer.h151 * First, scaler supports for VI channels is defined and after that, scaler
153 * scaler and 2 UI channels with scaler, bitmask would be 0xC.
161 * @scaline_yuv: size of a scanline for VI scaler for YUV formats.
/Linux-v5.10/drivers/media/platform/exynos4-is/
Dfimc-core.h170 * struct fimc_scaler - the configuration data for FIMC inetrnal scaler
175 * @enabled: flag indicating if the scaler is used
182 * @main_hratio: the main scaler's horizontal ratio
183 * @main_vratio: the main scaler's vertical ratio
289 * @ci_fmt: image format at the FIMC camera input (and the scaler output)
326 * @scaler_en_w: max input pixel width when the scaler is enabled
327 * @scaler_dis_w: max input pixel width when the scaler is disabled
350 * @pix_limit: pixel size constraints for the scaler
465 * @scaler: image scaler properties
485 struct fimc_scaler scaler; member
/Linux-v5.10/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_hw_util.h68 * @enable: scaler enable
84 * @ lut_flag: scaler LUT update flags
216 * @enable: Scaler enable
221 * @init_phase_x: Initial scaler phase values for x
223 * @init_phase_y: Initial scaler phase values for y
/Linux-v5.10/drivers/pwm/
Dpwm-bcm2835.c66 unsigned long scaler; in bcm2835_pwm_config() local
74 scaler = DIV_ROUND_CLOSEST(NSEC_PER_SEC, rate); in bcm2835_pwm_config()
75 period = DIV_ROUND_CLOSEST(period_ns, scaler); in bcm2835_pwm_config()
80 writel(DIV_ROUND_CLOSEST(duty_ns, scaler), in bcm2835_pwm_config()
/Linux-v5.10/drivers/media/test-drivers/vimc/
Dvimc-core.c80 .name = "Scaler",
98 /* Link: Debayer A (Pad 1)->(Pad 0) Scaler */
100 /* Link: Debayer B (Pad 1)->(Pad 0) Scaler */
102 /* Link: RGB/YUV Input (Pad 0)->(Pad 0) Scaler */
104 /* Link: Scaler (Pad 1)->(Pad 0) RGB/YUV Capture */
/Linux-v5.10/drivers/gpu/drm/nouveau/dispnv50/
Dhead.c123 int mode = asyc->scaler.mode; in nv50_head_atomic_check_view()
132 if (!asyc->scaler.full) { in nv50_head_atomic_check_view()
157 if ((asyc->scaler.underscan.mode == UNDERSCAN_ON || in nv50_head_atomic_check_view()
158 (asyc->scaler.underscan.mode == UNDERSCAN_AUTO && in nv50_head_atomic_check_view()
160 u32 bX = asyc->scaler.underscan.hborder; in nv50_head_atomic_check_view()
161 u32 bY = asyc->scaler.underscan.vborder; in nv50_head_atomic_check_view()
336 asyc->set.scaler = true; in nv50_head_atomic_check()
360 if (asyc->set.scaler) in nv50_head_atomic_check()

123456789