Lines Matching refs:mdp_kms

21 static void update_irq(struct mdp_kms *mdp_kms)  in update_irq()  argument
24 uint32_t irqmask = mdp_kms->vblank_mask; in update_irq()
28 list_for_each_entry(irq, &mdp_kms->irq_list, node) in update_irq()
31 mdp_kms->funcs->set_irqmask(mdp_kms, irqmask, mdp_kms->cur_irq_mask); in update_irq()
32 mdp_kms->cur_irq_mask = irqmask; in update_irq()
38 void mdp_irq_update(struct mdp_kms *mdp_kms) in mdp_irq_update() argument
42 update_irq(mdp_kms); in mdp_irq_update()
46 void mdp_dispatch_irqs(struct mdp_kms *mdp_kms, uint32_t status) in mdp_dispatch_irqs() argument
52 mdp_kms->in_irq = true; in mdp_dispatch_irqs()
53 list_for_each_entry_safe(handler, n, &mdp_kms->irq_list, node) { in mdp_dispatch_irqs()
60 mdp_kms->in_irq = false; in mdp_dispatch_irqs()
61 update_irq(mdp_kms); in mdp_dispatch_irqs()
66 void mdp_update_vblank_mask(struct mdp_kms *mdp_kms, uint32_t mask, bool enable) in mdp_update_vblank_mask() argument
72 mdp_kms->vblank_mask |= mask; in mdp_update_vblank_mask()
74 mdp_kms->vblank_mask &= ~mask; in mdp_update_vblank_mask()
75 update_irq(mdp_kms); in mdp_update_vblank_mask()
87 void mdp_irq_wait(struct mdp_kms *mdp_kms, uint32_t irqmask) in mdp_irq_wait() argument
96 mdp_irq_register(mdp_kms, &wait.irq); in mdp_irq_wait()
99 mdp_irq_unregister(mdp_kms, &wait.irq); in mdp_irq_wait()
102 void mdp_irq_register(struct mdp_kms *mdp_kms, struct mdp_irq *irq) in mdp_irq_register() argument
111 list_add(&irq->node, &mdp_kms->irq_list); in mdp_irq_register()
112 needs_update = !mdp_kms->in_irq; in mdp_irq_register()
118 mdp_irq_update(mdp_kms); in mdp_irq_register()
121 void mdp_irq_unregister(struct mdp_kms *mdp_kms, struct mdp_irq *irq) in mdp_irq_unregister() argument
131 needs_update = !mdp_kms->in_irq; in mdp_irq_unregister()
137 mdp_irq_update(mdp_kms); in mdp_irq_unregister()