Home
last modified time | relevance | path

Searched refs:dcss (Results 1 – 21 of 21) sorted by relevance

/linux-6.6.21/drivers/gpu/drm/imx/dcss/
Ddcss-dev.c19 static void dcss_clocks_enable(struct dcss_dev *dcss) in dcss_clocks_enable() argument
21 clk_prepare_enable(dcss->axi_clk); in dcss_clocks_enable()
22 clk_prepare_enable(dcss->apb_clk); in dcss_clocks_enable()
23 clk_prepare_enable(dcss->rtrm_clk); in dcss_clocks_enable()
24 clk_prepare_enable(dcss->dtrc_clk); in dcss_clocks_enable()
25 clk_prepare_enable(dcss->pix_clk); in dcss_clocks_enable()
28 static void dcss_clocks_disable(struct dcss_dev *dcss) in dcss_clocks_disable() argument
30 clk_disable_unprepare(dcss->pix_clk); in dcss_clocks_disable()
31 clk_disable_unprepare(dcss->dtrc_clk); in dcss_clocks_disable()
32 clk_disable_unprepare(dcss->rtrm_clk); in dcss_clocks_disable()
[all …]
Ddcss-crtc.c19 struct dcss_dev *dcss = crtc->dev->dev_private; in dcss_enable_vblank() local
21 dcss_dtg_vblank_irq_enable(dcss->dtg, true); in dcss_enable_vblank()
23 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, true); in dcss_enable_vblank()
34 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_disable_vblank() local
38 dcss_dtg_vblank_irq_enable(dcss->dtg, false); in dcss_disable_vblank()
41 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, false); in dcss_disable_vblank()
66 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_flush() local
76 if (dcss_dtg_is_enabled(dcss->dtg)) in dcss_crtc_atomic_flush()
77 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_flush()
87 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_enable() local
[all …]
DMakefile1 imx-dcss-objs := dcss-drv.o dcss-dev.o dcss-blkctl.o dcss-ctxld.o dcss-dtg.o \
2 dcss-ss.o dcss-dpr.o dcss-scaler.o dcss-kms.o dcss-crtc.o \
3 dcss-plane.o
5 obj-$(CONFIG_DRM_IMX_DCSS) += imx-dcss.o
Ddcss-blkctl.c25 struct dcss_dev *dcss; member
31 if (blkctl->dcss->hdmi_output) in dcss_blkctl_cfg()
41 int dcss_blkctl_init(struct dcss_dev *dcss, unsigned long blkctl_base) in dcss_blkctl_init() argument
51 dev_err(dcss->dev, "unable to remap BLK CTRL base\n"); in dcss_blkctl_init()
56 dcss->blkctl = blkctl; in dcss_blkctl_init()
57 blkctl->dcss = dcss; in dcss_blkctl_init()
Ddcss-drv.c17 struct dcss_dev *dcss; member
25 return mdrv ? mdrv->dcss : NULL; in dcss_drv_dev_to_dcss()
58 mdrv->dcss = dcss_dev_create(dev, hdmi_output); in dcss_drv_platform_probe()
59 if (IS_ERR(mdrv->dcss)) { in dcss_drv_platform_probe()
60 err = PTR_ERR(mdrv->dcss); in dcss_drv_platform_probe()
66 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe()
76 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_probe()
88 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_remove()
Ddcss-plane.c147 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_check() local
175 dcss_scaler_get_min_max_ratios(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_check()
218 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_set_base() local
244 dcss_dpr_addr_set(dcss->dpr, dcss_plane->ch_num, p1_ba, p2_ba, in dcss_plane_atomic_set_base()
276 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_update() local
312 dcss_dpr_format_set(dcss->dpr, dcss_plane->ch_num, in dcss_plane_atomic_update()
316 dcss_dpr_set_res(dcss->dpr, dcss_plane->ch_num, src_w, src_h); in dcss_plane_atomic_update()
317 dcss_dpr_set_rotation(dcss->dpr, dcss_plane->ch_num, in dcss_plane_atomic_update()
325 dcss_scaler_set_filter(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_update()
328 dcss_scaler_setup(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_update()
[all …]
Ddcss-ctxld.c91 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); in dcss_ctxld_irq_handler() local
100 if (dcss && dcss->disable_callback) in dcss_ctxld_irq_handler()
101 dcss->disable_callback(dcss); in dcss_ctxld_irq_handler()
200 int dcss_ctxld_init(struct dcss_dev *dcss, unsigned long ctxld_base) in dcss_ctxld_init() argument
209 dcss->ctxld = ctxld; in dcss_ctxld_init()
210 ctxld->dev = dcss->dev; in dcss_ctxld_init()
216 dev_err(dcss->dev, "ctxld: cannot allocate context memory.\n"); in dcss_ctxld_init()
222 dev_err(dcss->dev, "ctxld: unable to remap ctxld base\n"); in dcss_ctxld_init()
227 ret = dcss_ctxld_irq_config(ctxld, to_platform_device(dcss->dev)); in dcss_ctxld_init()
261 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); in dcss_ctxld_enable_locked() local
[all …]
Ddcss-dev.h98 void dcss_dev_destroy(struct dcss_dev *dcss);
99 void dcss_enable_dtg_and_ss(struct dcss_dev *dcss);
100 void dcss_disable_dtg_and_ss(struct dcss_dev *dcss);
105 int dcss_blkctl_init(struct dcss_dev *dcss, unsigned long blkctl_base);
110 int dcss_ctxld_init(struct dcss_dev *dcss, unsigned long ctxld_base);
126 int dcss_dpr_init(struct dcss_dev *dcss, unsigned long dpr_base);
138 int dcss_dtg_init(struct dcss_dev *dcss, unsigned long dtg_base);
157 int dcss_ss_init(struct dcss_dev *dcss, unsigned long subsam_base);
166 int dcss_scaler_init(struct dcss_dev *dcss, unsigned long scaler_base);
Ddcss-dtg.c150 int dcss_dtg_init(struct dcss_dev *dcss, unsigned long dtg_base) in dcss_dtg_init() argument
159 dcss->dtg = dtg; in dcss_dtg_init()
160 dtg->dev = dcss->dev; in dcss_dtg_init()
161 dtg->ctxld = dcss->ctxld; in dcss_dtg_init()
165 dev_err(dcss->dev, "dtg: unable to remap dtg base\n"); in dcss_dtg_init()
178 ret = dcss_dtg_irq_config(dtg, to_platform_device(dcss->dev)); in dcss_dtg_init()
205 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dtg->dev); in dcss_dtg_sync_set() local
223 clk_disable_unprepare(dcss->pix_clk); in dcss_dtg_sync_set()
224 clk_set_rate(dcss->pix_clk, vm->pixelclock); in dcss_dtg_sync_set()
225 clk_prepare_enable(dcss->pix_clk); in dcss_dtg_sync_set()
[all …]
Ddcss-ss.c82 int dcss_ss_init(struct dcss_dev *dcss, unsigned long ss_base) in dcss_ss_init() argument
90 dcss->ss = ss; in dcss_ss_init()
91 ss->dev = dcss->dev; in dcss_ss_init()
92 ss->ctxld = dcss->ctxld; in dcss_ss_init()
96 dev_err(dcss->dev, "ss: unable to remap ss base\n"); in dcss_ss_init()
Ddcss-kms.c109 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss) in dcss_kms_attach() argument
116 kms = devm_drm_dev_alloc(dcss->dev, &dcss_kms_driver, in dcss_kms_attach()
124 drm->dev_private = dcss; in dcss_kms_attach()
Ddcss-dpr.c154 int dcss_dpr_init(struct dcss_dev *dcss, unsigned long dpr_base) in dcss_dpr_init() argument
162 dcss->dpr = dpr; in dcss_dpr_init()
163 dpr->dev = dcss->dev; in dcss_dpr_init()
164 dpr->ctxld = dcss->ctxld; in dcss_dpr_init()
Ddcss-kms.h35 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss);
Ddcss-scaler.c317 int dcss_scaler_init(struct dcss_dev *dcss, unsigned long scaler_base) in dcss_scaler_init() argument
325 dcss->scaler = scaler; in dcss_scaler_init()
326 scaler->dev = dcss->dev; in dcss_scaler_init()
327 scaler->ctxld = dcss->ctxld; in dcss_scaler_init()
/linux-6.6.21/Documentation/devicetree/bindings/display/imx/
Dnxp,imx8mq-dcss.yaml5 $id: http://devicetree.org/schemas/display/imx/nxp,imx8mq-dcss.yaml#
23 const: nxp,imx8mq-dcss
86 dcss: display-controller@32e00000 {
87 compatible = "nxp,imx8mq-dcss";
/linux-6.6.21/drivers/gpu/drm/imx/
DMakefile3 obj-$(CONFIG_DRM_IMX_DCSS) += dcss/
DKconfig3 source "drivers/gpu/drm/imx/dcss/Kconfig"
/linux-6.6.21/drivers/s390/block/
DKconfig12 Support for dcss block device
/linux-6.6.21/drivers/video/fbdev/
Dffb.c228 u32 dcss; member
/linux-6.6.21/Documentation/filesystems/
Ddax.rst210 - dcssblk: s390 dcss block device driver
/linux-6.6.21/
DMAINTAINERS15355 F: Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml
15356 F: drivers/gpu/drm/imx/dcss/