Lines Matching refs:tidss

16 static void tidss_irq_update(struct tidss_device *tidss)
18 assert_spin_locked(&tidss->wait_lock);
20 dispc_set_irqenable(tidss->dispc, tidss->irq_mask);
26 struct tidss_device *tidss = to_tidss(ddev);
31 spin_lock_irqsave(&tidss->wait_lock, flags);
32 tidss->irq_mask |= DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) |
34 tidss_irq_update(tidss);
35 spin_unlock_irqrestore(&tidss->wait_lock, flags);
41 struct tidss_device *tidss = to_tidss(ddev);
46 spin_lock_irqsave(&tidss->wait_lock, flags);
47 tidss->irq_mask &= ~(DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) |
49 tidss_irq_update(tidss);
50 spin_unlock_irqrestore(&tidss->wait_lock, flags);
56 struct tidss_device *tidss = to_tidss(ddev);
63 irqstatus = dispc_read_and_clear_irqstatus(tidss->dispc);
65 for (id = 0; id < tidss->num_crtcs; id++) {
66 struct drm_crtc *crtc = tidss->crtcs[id];
82 dev_err_ratelimited(tidss->dev, "OCP error\n");
87 void tidss_irq_resume(struct tidss_device *tidss)
91 spin_lock_irqsave(&tidss->wait_lock, flags);
92 tidss_irq_update(tidss);
93 spin_unlock_irqrestore(&tidss->wait_lock, flags);
98 struct tidss_device *tidss = to_tidss(ddev);
100 spin_lock_init(&tidss->wait_lock);
102 tidss_runtime_get(tidss);
104 dispc_set_irqenable(tidss->dispc, 0);
105 dispc_read_and_clear_irqstatus(tidss->dispc);
107 tidss_runtime_put(tidss);
112 struct tidss_device *tidss = to_tidss(ddev);
116 tidss_runtime_get(tidss);
118 spin_lock_irqsave(&tidss->wait_lock, flags);
120 tidss->irq_mask = DSS_IRQ_DEVICE_OCP_ERR;
122 for (i = 0; i < tidss->num_crtcs; ++i) {
123 struct tidss_crtc *tcrtc = to_tidss_crtc(tidss->crtcs[i]);
125 tidss->irq_mask |= DSS_IRQ_VP_SYNC_LOST(tcrtc->hw_videoport);
127 tidss->irq_mask |= DSS_IRQ_VP_FRAME_DONE(tcrtc->hw_videoport);
130 tidss_irq_update(tidss);
132 spin_unlock_irqrestore(&tidss->wait_lock, flags);
134 tidss_runtime_put(tidss);
141 struct tidss_device *tidss = to_tidss(ddev);
143 tidss_runtime_get(tidss);
144 dispc_set_irqenable(tidss->dispc, 0);
145 tidss_runtime_put(tidss);