/Linux-v5.4/drivers/gpu/drm/exynos/ |
D | exynos_drm_scaler.c | 26 #define scaler_read(offset) readl(scaler->regs + (offset)) 27 #define scaler_write(cfg, offset) writel(cfg, scaler->regs + (offset)) 91 static inline int scaler_reset(struct scaler_context *scaler) in scaler_reset() argument 108 static inline void scaler_enable_int(struct scaler_context *scaler) in scaler_enable_int() argument 141 static inline void scaler_set_src_fmt(struct scaler_context *scaler, in scaler_set_src_fmt() argument 150 static inline void scaler_set_src_base(struct scaler_context *scaler, in scaler_set_src_base() argument 164 static inline void scaler_set_src_span(struct scaler_context *scaler, in scaler_set_src_span() argument 178 static inline void scaler_set_src_luma_chroma_pos(struct scaler_context *scaler, in scaler_set_src_luma_chroma_pos() argument 194 static inline void scaler_set_src_wh(struct scaler_context *scaler, in scaler_set_src_wh() argument 204 static inline void scaler_set_dst_fmt(struct scaler_context *scaler, in scaler_set_dst_fmt() argument [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/gpu/ |
D | samsung-scaler.txt | 5 (a) "samsung,exynos5420-scaler" for Scaler IP in Exynos5420 6 (b) "samsung,exynos5433-scaler" for Scaler IP in Exynos5433 11 - interrupts : Interrupt specifier for scaler interrupt, according to format 14 - clocks : Clock specifier for scaler clock, according to generic clock 17 - clock-names : Names of clocks. For exynos scaler, it should be "mscl" 21 scaler@12800000 { 22 compatible = "samsung,exynos5420-scaler";
|
/Linux-v5.4/drivers/media/platform/s3c-camif/ |
D | camif-core.c | 143 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 …]
|
D | camif-regs.c | 364 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 …]
|
D | camif-core.h | 221 struct camif_scaler scaler; member 334 struct camif_scaler *scaler);
|
D | camif-capture.c | 46 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.4/drivers/staging/media/ipu3/ |
D | ipu3-css-params.c | 876 struct imgu_abi_osys_scaler_params *scaler = in imgu_css_osys_calc() local 877 &osys->scaler[s].param; in imgu_css_osys_calc() 882 scaler->inp_buf_y_st_addr = IMGU_VMEM1_INP_BUF_ADDR; in imgu_css_osys_calc() 890 scaler->inp_buf_y_line_stride = IMGU_VMEM1_Y_STRIDE; in imgu_css_osys_calc() 899 scaler->inp_buf_y_buffer_stride = IMGU_VMEM1_BUF_SIZE; in imgu_css_osys_calc() 900 scaler->inp_buf_u_st_addr = IMGU_VMEM1_INP_BUF_ADDR + in imgu_css_osys_calc() 902 scaler->inp_buf_v_st_addr = IMGU_VMEM1_INP_BUF_ADDR + in imgu_css_osys_calc() 904 scaler->inp_buf_uv_line_stride = IMGU_VMEM1_UV_STRIDE; in imgu_css_osys_calc() 905 scaler->inp_buf_uv_buffer_stride = IMGU_VMEM1_BUF_SIZE; in imgu_css_osys_calc() 906 scaler->inp_buf_chunk_width = stripe_params[s].chunk_width; in imgu_css_osys_calc() [all …]
|
/Linux-v5.4/drivers/gpu/drm/arm/display/komeda/ |
D | komeda_pipeline_state.c | 426 komeda_scaler_check_cfg(struct komeda_scaler *scaler, in komeda_scaler_check_cfg() argument 438 if (!in_range(&scaler->hsize, hsize_in) || in komeda_scaler_check_cfg() 439 !in_range(&scaler->hsize, hsize_out)) { in komeda_scaler_check_cfg() 444 if (!in_range(&scaler->vsize, vsize_in) || in komeda_scaler_check_cfg() 445 !in_range(&scaler->vsize, vsize_out)) { in komeda_scaler_check_cfg() 456 max_upscaling = scaler->max_upscaling; in komeda_scaler_check_cfg() 459 scaler->max_downscaling)) { in komeda_scaler_check_cfg() 465 scaler->max_downscaling)) { in komeda_scaler_check_cfg() 471 struct komeda_pipeline *pipe = scaler->base.pipeline; in komeda_scaler_check_cfg() 494 struct komeda_scaler *scaler; in komeda_scaler_validate() local [all …]
|
D | komeda_private_obj.c | 91 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.4/Documentation/media/uapi/v4l/ |
D | pipeline.dot | 6 …scaler [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"]
|
D | dev-subdev.rst | 119 The sensor scaler is usually of less quality than the host scaler, but 266 * - Configure scaler sink format 283 * - Configure scaler sink compose selection 307 host frontend and scaler sink and source pads have the default 308 values, as well as the compose rectangle on the scaler's sink pad. 314 3. The application configures the scaler sink pad format's size to 319 scaler's sink pad, and the format to the scaler source pad. 322 rectangle of the scaler's sink pad 1280x960. The driver propagates 323 the size to the scaler's source pad format.
|
/Linux-v5.4/drivers/gpu/drm/nouveau/ |
D | nouveau_connector.c | 107 *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 …]
|
D | nouveau_connector.h | 162 } scaler; member 172 bool scaler:1; member
|
/Linux-v5.4/drivers/pwm/ |
D | pwm-bcm2835.c | 66 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.4/drivers/tty/serial/ |
D | apbuart.h | 14 u32 scaler; member 51 #define APBBASE_SCALAR_P(port) (&(APBBASE(port)->scaler))
|
/Linux-v5.4/drivers/gpu/drm/nouveau/dispnv50/ |
D | head.c | 115 int mode = asyc->scaler.mode; in nv50_head_atomic_check_view() 124 if (!asyc->scaler.full) { in nv50_head_atomic_check_view() 149 if ((asyc->scaler.underscan.mode == UNDERSCAN_ON || in nv50_head_atomic_check_view() 150 (asyc->scaler.underscan.mode == UNDERSCAN_AUTO && in nv50_head_atomic_check_view() 152 u32 bX = asyc->scaler.underscan.hborder; in nv50_head_atomic_check_view() 153 u32 bY = asyc->scaler.underscan.vborder; in nv50_head_atomic_check_view() 318 asyc->set.scaler = true; in nv50_head_atomic_check() 342 if (asyc->set.scaler) in nv50_head_atomic_check()
|
/Linux-v5.4/Documentation/gpu/ |
D | komeda-kms.rst | 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 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.4/drivers/media/platform/vimc/ |
D | Makefile | 5 vimc-scaler.o vimc-sensor.o
|
/Linux-v5.4/drivers/gpu/drm/arm/display/komeda/d71/ |
D | d71_component.c | 738 struct komeda_scaler *scaler; in d71_scaler_init() local 743 c = komeda_component_add(&d71->pipes[pipe_id]->base, sizeof(*scaler), in d71_scaler_init() 755 scaler = to_scaler(c); in d71_scaler_init() 756 set_range(&scaler->hsize, 4, 2048); in d71_scaler_init() 757 set_range(&scaler->vsize, 4, 4096); in d71_scaler_init() 758 scaler->max_downscaling = 6; in d71_scaler_init() 759 scaler->max_upscaling = 64; in d71_scaler_init() 760 scaler->scaling_split_overlap = 8; in d71_scaler_init() 761 scaler->enh_split_overlap = 1; in d71_scaler_init()
|
/Linux-v5.4/drivers/staging/media/imx/ |
D | Makefile | 4 imx-media-csc-scaler.o
|
/Linux-v5.4/drivers/media/platform/exynos4-is/ |
D | fimc-reg.c | 234 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() 789 fimc_hw_enable_scaler(ctx->fimc_dev, ctx->scaler.enabled); in fimc_activate_capture()
|
/Linux-v5.4/Documentation/media/v4l-drivers/ |
D | vimc.rst | 7 API. It has a capture device and three subdevices: sensor, debayer and scaler. 63 vimc-scaler:
|
/Linux-v5.4/drivers/gpu/drm/amd/display/modules/color/ |
D | color_gamma.c | 1079 struct fixed31_32 scaler = max_os; in scale_gamma() local 1090 scaler = max_driver; in scale_gamma() 1100 ramp->entries.red[i], scaler); in scale_gamma() 1102 ramp->entries.green[i], scaler); in scale_gamma() 1104 ramp->entries.blue[i], scaler); in scale_gamma() 1210 unsigned short scaler = max_os; in scale_user_regamma_ramp() local 1220 scaler = max_driver; in scale_user_regamma_ramp() 1229 ramp->gamma[i], scaler); in scale_user_regamma_ramp() 1231 ramp->gamma[i + 256], scaler); in scale_user_regamma_ramp() 1233 ramp->gamma[i + 512], scaler); in scale_user_regamma_ramp()
|
/Linux-v5.4/Documentation/devicetree/bindings/reserved-memory/ |
D | reserved-memory.txt | 127 scaler: scaler@12500000 {
|
/Linux-v5.4/arch/arm/boot/dts/ |
D | exynos5420.dtsi | 653 gsc_0: video-scaler@13e00000 { 663 gsc_1: video-scaler@13e10000 { 673 scaler_0: scaler@12800000 { 674 compatible = "samsung,exynos5420-scaler"; 683 scaler_1: scaler@12810000 { 684 compatible = "samsung,exynos5420-scaler"; 693 scaler_2: scaler@12820000 { 694 compatible = "samsung,exynos5420-scaler";
|