Lines Matching refs:tidss

19 static void tidss_irq_update(struct tidss_device *tidss)  in tidss_irq_update()  argument
21 assert_spin_locked(&tidss->wait_lock); in tidss_irq_update()
23 dispc_set_irqenable(tidss->dispc, tidss->irq_mask); in tidss_irq_update()
29 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_enable_vblank() local
34 spin_lock_irqsave(&tidss->wait_lock, flags); in tidss_irq_enable_vblank()
35 tidss->irq_mask |= DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | in tidss_irq_enable_vblank()
37 tidss_irq_update(tidss); in tidss_irq_enable_vblank()
38 spin_unlock_irqrestore(&tidss->wait_lock, flags); in tidss_irq_enable_vblank()
44 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_disable_vblank() local
49 spin_lock_irqsave(&tidss->wait_lock, flags); in tidss_irq_disable_vblank()
50 tidss->irq_mask &= ~(DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | in tidss_irq_disable_vblank()
52 tidss_irq_update(tidss); in tidss_irq_disable_vblank()
53 spin_unlock_irqrestore(&tidss->wait_lock, flags); in tidss_irq_disable_vblank()
59 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_handler() local
63 irqstatus = dispc_read_and_clear_irqstatus(tidss->dispc); in tidss_irq_handler()
65 for (id = 0; id < tidss->num_crtcs; id++) { in tidss_irq_handler()
66 struct drm_crtc *crtc = tidss->crtcs[id]; in tidss_irq_handler()
82 dev_err_ratelimited(tidss->dev, "OCP error\n"); in tidss_irq_handler()
87 void tidss_irq_resume(struct tidss_device *tidss) in tidss_irq_resume() argument
91 spin_lock_irqsave(&tidss->wait_lock, flags); in tidss_irq_resume()
92 tidss_irq_update(tidss); in tidss_irq_resume()
93 spin_unlock_irqrestore(&tidss->wait_lock, flags); in tidss_irq_resume()
98 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_install() local
108 tidss->irq_mask = DSS_IRQ_DEVICE_OCP_ERR; in tidss_irq_install()
110 for (unsigned int i = 0; i < tidss->num_crtcs; ++i) { in tidss_irq_install()
111 struct tidss_crtc *tcrtc = to_tidss_crtc(tidss->crtcs[i]); in tidss_irq_install()
113 tidss->irq_mask |= DSS_IRQ_VP_SYNC_LOST(tcrtc->hw_videoport); in tidss_irq_install()
115 tidss->irq_mask |= DSS_IRQ_VP_FRAME_DONE(tcrtc->hw_videoport); in tidss_irq_install()
123 struct tidss_device *tidss = to_tidss(ddev); in tidss_irq_uninstall() local
125 free_irq(tidss->irq, ddev); in tidss_irq_uninstall()