Lines Matching full:dcss
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->dtg)) in dcss_crtc_atomic_flush()
76 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_flush()
84 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_enable() local
91 pm_runtime_get_sync(dcss->dev); in dcss_crtc_atomic_enable()
95 dcss_ss_subsam_set(dcss->ss); in dcss_crtc_atomic_enable()
96 dcss_dtg_css_set(dcss->dtg); in dcss_crtc_atomic_enable()
99 dcss_dtg_sync_set(dcss->dtg, &vm); in dcss_crtc_atomic_enable()
100 dcss_ss_sync_set(dcss->ss, &vm, in dcss_crtc_atomic_enable()
105 dcss_enable_dtg_and_ss(dcss); in dcss_crtc_atomic_enable()
107 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_enable()
118 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_disable() local
131 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, true); in dcss_crtc_atomic_disable()
133 reinit_completion(&dcss->disable_completion); in dcss_crtc_atomic_disable()
135 dcss_disable_dtg_and_ss(dcss); in dcss_crtc_atomic_disable()
137 dcss_ctxld_enable(dcss->ctxld); in dcss_crtc_atomic_disable()
140 if (!wait_for_completion_timeout(&dcss->disable_completion, in dcss_crtc_atomic_disable()
142 dev_err(dcss->dev, "Shutting off DTG timed out.\n"); in dcss_crtc_atomic_disable()
152 pm_runtime_mark_last_busy(dcss->dev); in dcss_crtc_atomic_disable()
153 pm_runtime_put_autosuspend(dcss->dev); in dcss_crtc_atomic_disable()
166 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_irq_handler() local
168 if (!dcss_dtg_vblank_irq_valid(dcss->dtg)) in dcss_crtc_irq_handler()
171 if (dcss_ctxld_is_flushed(dcss->ctxld)) in dcss_crtc_irq_handler()
174 dcss_dtg_vblank_irq_clear(dcss->dtg); in dcss_crtc_irq_handler()
181 struct dcss_dev *dcss = drm->dev_private; in dcss_crtc_init() local
182 struct platform_device *pdev = to_platform_device(dcss->dev); in dcss_crtc_init()
190 crtc->base.port = dcss->of_port; in dcss_crtc_init()
196 dev_err(dcss->dev, "failed to init crtc\n"); in dcss_crtc_init()
207 dev_err(dcss->dev, "irq request failed with %d.\n", ret); in dcss_crtc_init()