/Linux-v5.10/drivers/gpu/drm/tidss/ |
D | tidss_irq.c | 16 static void tidss_irq_update(struct tidss_device *tidss) in tidss_irq_update() argument 18 assert_spin_locked(&tidss->wait_lock); in tidss_irq_update() 20 dispc_set_irqenable(tidss->dispc, tidss->irq_mask); in tidss_irq_update() 26 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_enable_vblank() local 31 spin_lock_irqsave(&tidss->wait_lock, flags); in tidss_irq_enable_vblank() 32 tidss->irq_mask |= DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | in tidss_irq_enable_vblank() 34 tidss_irq_update(tidss); in tidss_irq_enable_vblank() 35 spin_unlock_irqrestore(&tidss->wait_lock, flags); in tidss_irq_enable_vblank() 41 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_disable_vblank() local 46 spin_lock_irqsave(&tidss->wait_lock, flags); in tidss_irq_disable_vblank() [all …]
|
D | tidss_drv.c | 30 int tidss_runtime_get(struct tidss_device *tidss) in tidss_runtime_get() argument 34 dev_dbg(tidss->dev, "%s\n", __func__); in tidss_runtime_get() 36 r = pm_runtime_get_sync(tidss->dev); in tidss_runtime_get() 41 void tidss_runtime_put(struct tidss_device *tidss) in tidss_runtime_put() argument 45 dev_dbg(tidss->dev, "%s\n", __func__); in tidss_runtime_put() 47 r = pm_runtime_put_sync(tidss->dev); in tidss_runtime_put() 53 struct tidss_device *tidss = dev_get_drvdata(dev); in tidss_pm_runtime_suspend() local 57 return dispc_runtime_suspend(tidss->dispc); in tidss_pm_runtime_suspend() 62 struct tidss_device *tidss = dev_get_drvdata(dev); in tidss_pm_runtime_resume() local 67 r = dispc_runtime_resume(tidss->dispc); in tidss_pm_runtime_resume() [all …]
|
D | tidss_kms.c | 28 struct tidss_device *tidss = to_tidss(ddev); in tidss_atomic_commit_tail() local 32 tidss_runtime_get(tidss); in tidss_atomic_commit_tail() 43 tidss_runtime_put(tidss); in tidss_atomic_commit_tail() 106 static int tidss_dispc_modeset_init(struct tidss_device *tidss) in tidss_dispc_modeset_init() argument 108 struct device *dev = tidss->dev; in tidss_dispc_modeset_init() 110 const u32 *fourccs = dispc_plane_formats(tidss->dispc, &fourccs_len); in tidss_dispc_modeset_init() 119 const struct dispc_features *feat = tidss->feat; in tidss_dispc_modeset_init() 196 u32 hw_plane_id = feat->vid_order[tidss->num_planes]; in tidss_dispc_modeset_init() 199 tplane = tidss_plane_create(tidss, hw_plane_id, in tidss_dispc_modeset_init() 203 dev_err(tidss->dev, "plane create failed\n"); in tidss_dispc_modeset_init() [all …]
|
D | tidss_crtc.c | 27 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_finish_page_flip() local 40 busy = dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_finish_page_flip() 91 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_atomic_check() local 92 struct dispc_device *dispc = tidss->dispc; in tidss_crtc_atomic_check() 120 static void tidss_crtc_position_planes(struct tidss_device *tidss, in tidss_crtc_position_planes() argument 134 for (layer = 0; layer < tidss->feat->num_planes; layer++) { in tidss_crtc_position_planes() 153 dispc_ovr_set_plane(tidss->dispc, tplane->hw_plane_id, in tidss_crtc_position_planes() 158 dispc_ovr_enable_layer(tidss->dispc, tcrtc->hw_videoport, layer, in tidss_crtc_position_planes() 168 struct tidss_device *tidss = to_tidss(ddev); in tidss_crtc_atomic_flush() local 188 if (WARN_ON(dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport))) in tidss_crtc_atomic_flush() [all …]
|
D | tidss_plane.c | 25 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_check() local 93 ret = dispc_plane_check(tidss->dispc, hw_plane, state, hw_videoport); in tidss_plane_atomic_check() 104 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_update() local 113 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); in tidss_plane_atomic_update() 119 ret = dispc_plane_setup(tidss->dispc, tplane->hw_plane_id, in tidss_plane_atomic_update() 125 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); in tidss_plane_atomic_update() 129 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, true); in tidss_plane_atomic_update() 136 struct tidss_device *tidss = to_tidss(ddev); in tidss_plane_atomic_disable() local 141 dispc_plane_enable(tidss->dispc, tplane->hw_plane_id, false); in tidss_plane_atomic_disable() 167 struct tidss_plane *tidss_plane_create(struct tidss_device *tidss, in tidss_plane_create() argument [all …]
|
D | tidss_encoder.c | 72 struct drm_encoder *tidss_encoder_create(struct tidss_device *tidss, in tidss_encoder_create() argument 84 ret = drm_encoder_init(&tidss->ddev, enc, &encoder_funcs, in tidss_encoder_create() 93 dev_dbg(tidss->dev, "Encoder create done\n"); in tidss_encoder_create()
|
D | Makefile | 3 tidss-y := tidss_crtc.o \ 12 obj-$(CONFIG_DRM_TIDSS) += tidss.o
|
D | tidss_drv.h | 36 int tidss_runtime_get(struct tidss_device *tidss); 37 void tidss_runtime_put(struct tidss_device *tidss);
|
D | tidss_kms.h | 12 int tidss_modeset_init(struct tidss_device *tidss);
|
D | tidss_dispc.h | 132 int dispc_init(struct tidss_device *tidss); 133 void dispc_remove(struct tidss_device *tidss);
|
D | tidss_encoder.h | 14 struct drm_encoder *tidss_encoder_create(struct tidss_device *tidss,
|
D | tidss_plane.h | 20 struct tidss_plane *tidss_plane_create(struct tidss_device *tidss,
|
D | tidss_crtc.h | 45 struct tidss_crtc *tidss_crtc_create(struct tidss_device *tidss,
|
D | tidss_irq.h | 75 void tidss_irq_resume(struct tidss_device *tidss);
|
D | tidss_dispc.c | 282 struct tidss_device *tidss; member 2596 tidss_irq_resume(dispc->tidss); in dispc_runtime_resume() 2601 void dispc_remove(struct tidss_device *tidss) in dispc_remove() argument 2603 dev_dbg(tidss->dev, "%s\n", __func__); in dispc_remove() 2605 tidss->dispc = NULL; in dispc_remove() 2660 int dispc_init(struct tidss_device *tidss) in dispc_init() argument 2662 struct device *dev = tidss->dev; in dispc_init() 2671 feat = tidss->feat; in dispc_init() 2683 dispc->tidss = tidss; in dispc_init() 2767 tidss->dispc = dispc; in dispc_init()
|
/Linux-v5.10/drivers/gpu/drm/ |
D | Makefile | 125 obj-$(CONFIG_DRM_TIDSS) += tidss/
|
D | Kconfig | 387 source "drivers/gpu/drm/tidss/Kconfig"
|
/Linux-v5.10/ |
D | MAINTAINERS | 5943 F: drivers/gpu/drm/tidss/
|