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