static irqreturn_t mtk_disp_ovl_irq_handler(int irq, void *dev_id) { struct mtk_disp_ovl *priv = dev_id; struct mtk_ddp_comp *ovl = &priv->ddp_comp; /* Clear frame completion interrupt */ writel(0x0, ovl->regs + DISP_REG_OVL_INTSTA); if (!priv->crtc) return IRQ_NONE; mtk_crtc_ddp_irq(priv->crtc, ovl); return IRQ_HANDLED; }
static irqreturn_t mtk_disp_rdma_irq_handler(int irq, void *dev_id) { struct mtk_disp_rdma *priv = dev_id; struct mtk_ddp_comp *rdma = &priv->ddp_comp; /* Clear frame completion interrupt */ writel(0x0, rdma->regs + DISP_REG_RDMA_INT_STATUS); if (!priv->crtc) return IRQ_NONE; mtk_crtc_ddp_irq(priv->crtc, rdma); return IRQ_HANDLED; }