Home
last modified time | relevance | path

Searched refs:scaler (Results 1 – 25 of 59) sorted by relevance

123

/Linux-v5.10/drivers/gpu/drm/exynos/
Dexynos_drm_scaler.c26 #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
205 static inline void scaler_set_dst_fmt(struct scaler_context *scaler, in scaler_set_dst_fmt() argument
[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 …]
Dcamif-core.h221 struct camif_scaler scaler; member
334 struct camif_scaler *scaler);
Dcamif-capture.c46 WARN_ON(s3c_camif_get_scaler_config(vp, &vp->scaler)); in camif_cfg_video_path()
410 camif_hw_enable_scaler(vp, vp->scaler.enable); in start_streaming()
506 camif_hw_enable_scaler(vp, vp->scaler.enable); in buffer_queue()
1440 struct camif_scaler scaler; in s3c_camif_subdev_set_selection() local
1459 scaler = vp->scaler; in s3c_camif_subdev_set_selection()
1460 if (s3c_camif_get_scaler_config(vp, &scaler)) in s3c_camif_subdev_set_selection()
1462 vp->scaler = scaler; in s3c_camif_subdev_set_selection()
1636 vp->scaler.enable = 1; in s3c_camif_set_defaults()
/Linux-v5.10/drivers/staging/media/ipu3/
Dipu3-css-params.c874 struct imgu_abi_osys_scaler_params *scaler = in imgu_css_osys_calc() local
875 &osys->scaler[s].param; in imgu_css_osys_calc()
880 scaler->inp_buf_y_st_addr = IMGU_VMEM1_INP_BUF_ADDR; in imgu_css_osys_calc()
888 scaler->inp_buf_y_line_stride = IMGU_VMEM1_Y_STRIDE; in imgu_css_osys_calc()
897 scaler->inp_buf_y_buffer_stride = IMGU_VMEM1_BUF_SIZE; in imgu_css_osys_calc()
898 scaler->inp_buf_u_st_addr = IMGU_VMEM1_INP_BUF_ADDR + in imgu_css_osys_calc()
900 scaler->inp_buf_v_st_addr = IMGU_VMEM1_INP_BUF_ADDR + in imgu_css_osys_calc()
902 scaler->inp_buf_uv_line_stride = IMGU_VMEM1_UV_STRIDE; in imgu_css_osys_calc()
903 scaler->inp_buf_uv_buffer_stride = IMGU_VMEM1_BUF_SIZE; in imgu_css_osys_calc()
904 scaler->inp_buf_chunk_width = stripe_params[s].chunk_width; in imgu_css_osys_calc()
[all …]
/Linux-v5.10/Documentation/userspace-api/media/v4l/
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"]
Ddev-subdev.rst117 The sensor scaler is usually of less quality than the host scaler, but
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.
320 rectangle of the scaler's sink pad 1280x960. The driver propagates
321 the size to the scaler's source pad format.
/Linux-v5.10/drivers/gpu/drm/arm/display/komeda/
Dkomeda_pipeline_state.c443 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()
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()
488 struct komeda_pipeline *pipe = scaler->base.pipeline; in komeda_scaler_check_cfg()
511 struct komeda_scaler *scaler; in komeda_scaler_validate() local
[all …]
Dkomeda_private_obj.c91 struct komeda_scaler *scaler) in komeda_scaler_obj_add() argument
99 st->base.component = &scaler->base; in komeda_scaler_obj_add()
101 &scaler->base.obj, &st->base.obj, in komeda_scaler_obj_add()
/Linux-v5.10/drivers/gpu/drm/imx/dcss/
Ddcss-scaler.c302 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()
317 if (scaler->ch[i].base_reg) in dcss_scaler_init()
318 iounmap(scaler->ch[i].base_reg); in dcss_scaler_init()
[all …]
Ddcss-plane.c171 dcss_scaler_get_min_max_ratios(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_check()
314 dcss_scaler_setup(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_update()
328 dcss_scaler_ch_enable(dcss->scaler, dcss_plane->ch_num, enable); in dcss_plane_atomic_update()
344 dcss_scaler_ch_enable(dcss->scaler, dcss_plane->ch_num, false); in dcss_plane_atomic_disable()
DMakefile2 dcss-ss.o dcss-dpr.o dcss-scaler.o dcss-kms.o dcss-crtc.o \
/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 …]
Dnouveau_connector.h96 } scaler; member
106 bool scaler:1; member
/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/tty/serial/
Dapbuart.h14 u32 scaler; member
51 #define APBBASE_SCALAR_P(port) (&(APBBASE(port)->scaler))
/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()
/Linux-v5.10/Documentation/gpu/
Dkomeda-kms.rst31 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
359 And a KMS-Plane may require multiple komeda resources: layer/scaler/compiz.
388 special configurations to the layer and scaler. We'd better hide such HW
452 setup 1: check if component is needed, like the scaler is optional depending
/Linux-v5.10/drivers/media/test-drivers/vimc/
DMakefile3 vimc-debayer.o vimc-scaler.o vimc-sensor.o
/Linux-v5.10/Documentation/admin-guide/media/
Dvimc.rst7 API. It has a capture device and three subdevices: sensor, debayer and scaler.
63 vimc-scaler:
/Linux-v5.10/drivers/staging/media/imx/
DMakefile4 imx-media-csc-scaler.o
/Linux-v5.10/drivers/media/platform/exynos4-is/
Dfimc-reg.c234 struct fimc_scaler *sc = &ctx->scaler; in fimc_hw_set_prescaler()
250 struct fimc_scaler *sc = &ctx->scaler; in fimc_hw_set_scaler()
315 struct fimc_scaler *sc = &ctx->scaler; in fimc_hw_set_mainscaler()
354 if (ctx->scaler.enabled) in fimc_hw_enable_capture()
796 fimc_hw_enable_scaler(ctx->fimc_dev, ctx->scaler.enabled); in fimc_activate_capture()
/Linux-v5.10/drivers/gpu/drm/arm/display/komeda/d71/
Dd71_component.c839 struct komeda_scaler *scaler; in d71_scaler_init() local
844 c = komeda_component_add(&d71->pipes[pipe_id]->base, sizeof(*scaler), in d71_scaler_init()
856 scaler = to_scaler(c); in d71_scaler_init()
857 set_range(&scaler->hsize, 4, __get_blk_line_size(d71, reg, 2048)); in d71_scaler_init()
858 set_range(&scaler->vsize, 4, 4096); in d71_scaler_init()
859 scaler->max_downscaling = 6; in d71_scaler_init()
860 scaler->max_upscaling = 64; in d71_scaler_init()
861 scaler->scaling_split_overlap = 8; in d71_scaler_init()
862 scaler->enh_split_overlap = 1; in d71_scaler_init()
/Linux-v5.10/drivers/gpu/drm/amd/display/modules/color/
Dcolor_gamma.c1117 struct fixed31_32 scaler = max_os; in scale_gamma() local
1128 scaler = max_driver; in scale_gamma()
1138 ramp->entries.red[i], scaler); in scale_gamma()
1140 ramp->entries.green[i], scaler); in scale_gamma()
1142 ramp->entries.blue[i], scaler); in scale_gamma()
1248 unsigned short scaler = max_os; in scale_user_regamma_ramp() local
1258 scaler = max_driver; in scale_user_regamma_ramp()
1267 ramp->gamma[i], scaler); in scale_user_regamma_ramp()
1269 ramp->gamma[i + 256], scaler); in scale_user_regamma_ramp()
1271 ramp->gamma[i + 512], scaler); in scale_user_regamma_ramp()

123