/linux/drivers/gpu/drm/imx/dcss/ |
A D | dcss-dev.c | 158 devm_clk_put(dcss->dev, dcss->dtrc_clk); in dcss_clks_release() 159 devm_clk_put(dcss->dev, dcss->rtrm_clk); in dcss_clks_release() 160 devm_clk_put(dcss->dev, dcss->pix_clk); in dcss_clks_release() 161 devm_clk_put(dcss->dev, dcss->axi_clk); in dcss_clks_release() 162 devm_clk_put(dcss->dev, dcss->apb_clk); in dcss_clks_release() 185 dcss = kzalloc(sizeof(*dcss), GFP_KERNEL); in dcss_dev_create() 186 if (!dcss) in dcss_dev_create() 189 dcss->dev = dev; in dcss_dev_create() 222 return dcss; in dcss_dev_create() 228 kfree(dcss); in dcss_dev_create() [all …]
|
A D | dcss-crtc.c | 76 if (dcss_dtg_is_enabled(dcss->dtg)) in dcss_crtc_atomic_flush() 77 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_flush() 94 pm_runtime_get_sync(dcss->dev); in dcss_crtc_atomic_enable() 98 dcss_ss_subsam_set(dcss->ss); in dcss_crtc_atomic_enable() 99 dcss_dtg_css_set(dcss->dtg); in dcss_crtc_atomic_enable() 103 dcss_ss_sync_set(dcss->ss, &vm, in dcss_crtc_atomic_enable() 108 dcss_enable_dtg_and_ss(dcss); in dcss_crtc_atomic_enable() 110 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_enable() 140 dcss_disable_dtg_and_ss(dcss); in dcss_crtc_atomic_disable() 142 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_disable() [all …]
|
A D | Makefile | 1 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
|
A D | dcss-plane.c | 145 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_check() local 216 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_set_base() local 274 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_update() local 310 dcss_dpr_format_set(dcss->dpr, dcss_plane->ch_num, in dcss_plane_atomic_update() 315 dcss_dpr_set_rotation(dcss->dpr, dcss_plane->ch_num, in dcss_plane_atomic_update() 326 dcss_scaler_setup(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_update() 333 dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num, in dcss_plane_atomic_update() 335 dcss_dtg_plane_alpha_set(dcss->dtg, dcss_plane->ch_num, in dcss_plane_atomic_update() 345 dcss_dtg_plane_pos_set(dcss->dtg, dcss_plane->ch_num, in dcss_plane_atomic_update() 355 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_disable() local [all …]
|
A D | dcss-blkctl.c | 25 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()
|
A D | dcss-drv.c | 15 struct dcss_dev *dcss; member 23 return mdrv ? mdrv->dcss : NULL; in dcss_drv_dev_to_dcss() 56 mdrv->dcss = dcss_dev_create(dev, hdmi_output); in dcss_drv_platform_probe() 57 if (IS_ERR(mdrv->dcss)) { in dcss_drv_platform_probe() 58 err = PTR_ERR(mdrv->dcss); in dcss_drv_platform_probe() 64 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe() 73 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_probe() 90 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_remove()
|
A D | dcss-ctxld.c | 91 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() 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() 261 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); in dcss_ctxld_enable_locked() local 263 if (!dcss) in dcss_ctxld_enable_locked() 266 dcss_dpr_write_sysctrl(dcss->dpr); in dcss_ctxld_enable_locked() [all …]
|
A D | dcss-dev.h | 97 void dcss_dev_destroy(struct dcss_dev *dcss); 102 void dcss_enable_dtg_and_ss(struct dcss_dev *dcss); 103 void dcss_disable_dtg_and_ss(struct dcss_dev *dcss); 106 int dcss_blkctl_init(struct dcss_dev *dcss, unsigned long blkctl_base); 111 int dcss_ctxld_init(struct dcss_dev *dcss, unsigned long ctxld_base); 127 int dcss_dpr_init(struct dcss_dev *dcss, unsigned long dpr_base); 139 int dcss_dtg_init(struct dcss_dev *dcss, unsigned long dtg_base); 158 int dcss_ss_init(struct dcss_dev *dcss, unsigned long subsam_base); 167 int dcss_scaler_init(struct dcss_dev *dcss, unsigned long scaler_base);
|
A D | dcss-dtg.c | 150 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 …]
|
A D | dcss-ss.c | 82 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()
|
A D | dcss-kms.c | 110 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss) in dcss_kms_attach() argument 117 kms = devm_drm_dev_alloc(dcss->dev, &dcss_kms_driver, in dcss_kms_attach() 125 drm->dev_private = dcss; in dcss_kms_attach()
|
A D | dcss-dpr.c | 154 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()
|
A D | dcss-kms.h | 35 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss);
|
A D | dcss-scaler.c | 317 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/Documentation/devicetree/bindings/display/imx/ |
A D | nxp,imx8mq-dcss.yaml | 5 $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/drivers/gpu/drm/imx/ |
A D | Makefile | 12 obj-$(CONFIG_DRM_IMX_DCSS) += dcss/
|
A D | Kconfig | 44 source "drivers/gpu/drm/imx/dcss/Kconfig"
|
/linux/drivers/s390/block/ |
A D | Kconfig | 12 Support for dcss block device
|
/linux/drivers/video/fbdev/ |
A D | ffb.c | 227 u32 dcss; member
|
/linux/Documentation/filesystems/ |
A D | dax.rst | 194 - dcssblk: s390 dcss block device driver
|
/linux/include/config/ |
A D | auto.conf.cmd | 639 drivers/gpu/drm/imx/dcss/Kconfig \
|
/linux/ |
A D | MAINTAINERS | 13706 F: Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml 13707 F: drivers/gpu/drm/imx/dcss/
|