/Linux-v5.10/drivers/gpu/drm/exynos/ |
D | exynos_drm_scaler.c | 24 #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 …]
|
D | regs-gsc.h | 7 * 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 …]
|
D | Kconfig | 112 bool "Scaler" 115 Choose this option if you want to use Exynos Scaler for DRM.
|
/Linux-v5.10/drivers/media/platform/exynos-gsc/ |
D | gsc-regs.h | 6 * 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 …]
|
D | gsc-core.h | 6 * 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/ |
D | komeda-kms.rst | 29 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/ |
D | samsung-scaler.yaml | 4 $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/ |
D | exynos5-gsc.txt | 1 * 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/ |
D | komeda_pipeline_state.c | 253 /* 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/ |
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 …]
|
/Linux-v5.10/drivers/gpu/drm/i915/display/ |
D | intel_atomic.c | 315 /* 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/ |
D | ipu3-css-params.c | 42 /* 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/ |
D | sc.c | 3 * 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");
|
D | sc.h | 12 /* 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/ |
D | dev-subdev.rst | 117 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 …]
|
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"]
|
/Linux-v5.10/drivers/gpu/drm/imx/dcss/ |
D | dcss-scaler.c | 91 /* 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/ |
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 …]
|
/Linux-v5.10/drivers/gpu/drm/sun4i/ |
D | sun8i_mixer.h | 151 * 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/ |
D | fimc-core.h | 170 * 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/ |
D | dpu_hw_util.h | 68 * @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/ |
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.10/drivers/media/test-drivers/vimc/ |
D | vimc-core.c | 80 .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/ |
D | head.c | 123 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()
|