/* * csi2_irq_ctx_set - Enables CSI2 Context IRQs. * @enable: Enable/disable CSI2 Context interrupts */ static void csi2_irq_ctx_set(struct isp_device *isp, struct isp_csi2_device *csi2, int enable) { int i; for (i = 0; i < 8; i++) { isp_reg_writel(isp, ISPCSI2_CTX_IRQSTATUS_FE_IRQ, csi2->regs1, ISPCSI2_CTX_IRQSTATUS(i)); if (enable) isp_reg_set(isp, csi2->regs1, ISPCSI2_CTX_IRQENABLE(i), ISPCSI2_CTX_IRQSTATUS_FE_IRQ); else isp_reg_clr(isp, csi2->regs1, ISPCSI2_CTX_IRQENABLE(i), ISPCSI2_CTX_IRQSTATUS_FE_IRQ); } }
/* * isp_csi2_irq_ctx_set - Enables CSI2 Context IRQs. * @enable: Enable/disable CSI2 Context interrupts */ static void isp_csi2_irq_ctx_set(struct isp_device *isp, struct isp_csi2_device *csi2, int enable) { u32 reg = ISPCSI2_CTX_IRQSTATUS_FE_IRQ; int i; if (csi2->use_fs_irq) reg |= ISPCSI2_CTX_IRQSTATUS_FS_IRQ; for (i = 0; i < 8; i++) { isp_reg_writel(isp, reg, csi2->regs1, ISPCSI2_CTX_IRQSTATUS(i)); if (enable) isp_reg_set(isp, csi2->regs1, ISPCSI2_CTX_IRQENABLE(i), reg); else isp_reg_clr(isp, csi2->regs1, ISPCSI2_CTX_IRQENABLE(i), reg); } }