/kernel/linux/linux-5.10/drivers/gpu/drm/imx/dcss/ |
H A D | dcss-dev.c | 15 #include "dcss-dev.h" 16 #include "dcss-kms.h" 18 static void dcss_clocks_enable(struct dcss_dev *dcss) in dcss_clocks_enable() argument 20 clk_prepare_enable(dcss->axi_clk); in dcss_clocks_enable() 21 clk_prepare_enable(dcss->apb_clk); in dcss_clocks_enable() 22 clk_prepare_enable(dcss->rtrm_clk); in dcss_clocks_enable() 23 clk_prepare_enable(dcss->dtrc_clk); in dcss_clocks_enable() 24 clk_prepare_enable(dcss->pix_clk); in dcss_clocks_enable() 27 static void dcss_clocks_disable(struct dcss_dev *dcss) in dcss_clocks_disable() argument 29 clk_disable_unprepare(dcss in dcss_clocks_disable() 38 struct dcss_dev *dcss = data; dcss_disable_dtg_and_ss_cb() local 48 dcss_disable_dtg_and_ss(struct dcss_dev *dcss) dcss_disable_dtg_and_ss() argument 53 dcss_enable_dtg_and_ss(struct dcss_dev *dcss) dcss_enable_dtg_and_ss() argument 62 dcss_submodules_init(struct dcss_dev *dcss) dcss_submodules_init() argument 118 dcss_submodules_stop(struct dcss_dev *dcss) dcss_submodules_stop() argument 130 dcss_clks_init(struct dcss_dev *dcss) dcss_clks_init() argument 156 dcss_clks_release(struct dcss_dev *dcss) dcss_clks_release() argument 170 struct dcss_dev *dcss; dcss_dev_create() local 234 dcss_dev_destroy(struct dcss_dev *dcss) dcss_dev_destroy() argument 255 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_suspend() local 278 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_resume() local 304 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_runtime_suspend() local 318 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_runtime_resume() local [all...] |
H A D | dcss-crtc.c | 11 #include "dcss-dev.h" 12 #include "dcss-kms.h" 18 struct dcss_dev *dcss = crtc->dev->dev_private; in dcss_enable_vblank() local 20 dcss_dtg_vblank_irq_enable(dcss->dtg, true); in dcss_enable_vblank() 22 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, true); in dcss_enable_vblank() 33 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_disable_vblank() local 37 dcss_dtg_vblank_irq_enable(dcss->dtg, false); in dcss_disable_vblank() 40 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, false); in dcss_disable_vblank() 65 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_flush() local 75 if (dcss_dtg_is_enabled(dcss in dcss_crtc_atomic_flush() 84 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_atomic_enable() local 118 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_atomic_disable() local 166 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_irq_handler() local 181 struct dcss_dev *dcss = drm->dev_private; dcss_crtc_init() local [all...] |
H 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 [all...] |
H A D | dcss-blkctl.c | 10 #include "dcss-dev.h" 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()
|
H A D | dcss-plane.c | 12 #include "dcss-dev.h" 13 #include "dcss-kms.h" 144 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_check() local 172 dcss_scaler_get_min_max_ratios(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_check() 215 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_set_base() local 241 dcss_dpr_addr_set(dcss->dpr, dcss_plane->ch_num, p1_ba, p2_ba, in dcss_plane_atomic_set_base() 269 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_update() local 305 dcss_dpr_format_set(dcss->dpr, dcss_plane->ch_num, state->fb->format, in dcss_plane_atomic_update() 308 dcss_dpr_set_res(dcss->dpr, dcss_plane->ch_num, src_w, src_h); in dcss_plane_atomic_update() 309 dcss_dpr_set_rotation(dcss in dcss_plane_atomic_update() 346 struct dcss_dev *dcss = plane->dev->dev_private; dcss_plane_atomic_disable() local [all...] |
H A D | dcss-drv.c | 11 #include "dcss-dev.h" 12 #include "dcss-kms.h" 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() [all...] |
H A D | dcss-dev.h | 96 void dcss_dev_destroy(struct dcss_dev *dcss); 101 void dcss_enable_dtg_and_ss(struct dcss_dev *dcss); 102 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);
|
H A D | dcss-ctxld.c | 12 #include "dcss-dev.h" 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() 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 in dcss_ctxld_init() 261 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); dcss_ctxld_enable_locked() local [all...] |
H A D | dcss-dtg.c | 13 #include "dcss-dev.h" 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 in dcss_dtg_sync_set() [all...] |
H A D | dcss-ss.c | 9 #include "dcss-dev.h" 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()
|
H A D | dcss-kms.c | 17 #include "dcss-dev.h" 18 #include "dcss-kms.h" 45 .name = "imx-dcss", 126 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss) in dcss_kms_attach() argument 133 kms = devm_drm_dev_alloc(dcss->dev, &dcss_kms_driver, in dcss_kms_attach() 141 drm->dev_private = dcss; in dcss_kms_attach()
|
H A D | dcss-dpr.c | 9 #include "dcss-dev.h" 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()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/imx/dcss/ |
H A D | dcss-dev.c | 16 #include "dcss-dev.h" 17 #include "dcss-kms.h" 19 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 in dcss_clocks_disable() 39 struct dcss_dev *dcss = data; dcss_disable_dtg_and_ss_cb() local 49 dcss_disable_dtg_and_ss(struct dcss_dev *dcss) dcss_disable_dtg_and_ss() argument 54 dcss_enable_dtg_and_ss(struct dcss_dev *dcss) dcss_enable_dtg_and_ss() argument 63 dcss_submodules_init(struct dcss_dev *dcss) dcss_submodules_init() argument 119 dcss_submodules_stop(struct dcss_dev *dcss) dcss_submodules_stop() argument 131 dcss_clks_init(struct dcss_dev *dcss) dcss_clks_init() argument 157 dcss_clks_release(struct dcss_dev *dcss) dcss_clks_release() argument 171 struct dcss_dev *dcss; dcss_dev_create() local 235 dcss_dev_destroy(struct dcss_dev *dcss) dcss_dev_destroy() argument 255 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_suspend() local 275 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_resume() local 296 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_runtime_suspend() local 310 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dev); dcss_dev_runtime_resume() local [all...] |
H A D | dcss-crtc.c | 12 #include "dcss-dev.h" 13 #include "dcss-kms.h" 19 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 in dcss_crtc_atomic_flush() 87 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_atomic_enable() local 123 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_atomic_disable() local 171 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; dcss_crtc_irq_handler() local 186 struct dcss_dev *dcss = drm->dev_private; dcss_crtc_init() local [all...] |
H 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 [all...] |
H A D | dcss-blkctl.c | 10 #include "dcss-dev.h" 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()
|
H A D | dcss-plane.c | 14 #include "dcss-dev.h" 15 #include "dcss-kms.h" 147 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 in dcss_plane_atomic_update() 357 struct dcss_dev *dcss = plane->dev->dev_private; dcss_plane_atomic_disable() local [all...] |
H A D | dcss-drv.c | 13 #include "dcss-dev.h" 14 #include "dcss-kms.h" 17 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() [all...] |
H A D | dcss-dev.h | 98 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);
|
H A D | dcss-ctxld.c | 12 #include "dcss-dev.h" 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() 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 in dcss_ctxld_init() 261 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); dcss_ctxld_enable_locked() local [all...] |
H A D | dcss-dtg.c | 13 #include "dcss-dev.h" 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 in dcss_dtg_sync_set() [all...] |
H A D | dcss-ss.c | 9 #include "dcss-dev.h" 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()
|
H A D | dcss-kms.c | 17 #include "dcss-dev.h" 18 #include "dcss-kms.h" 32 .name = "imx-dcss", 109 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()
|
H A D | dcss-dpr.c | 9 #include "dcss-dev.h" 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()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/imx/ |
H A D | Makefile | 12 obj-$(CONFIG_DRM_IMX_DCSS) += dcss/
|