Hi Bryan,
On 8/16/2024 10:45 PM, Bryan O'Donoghue wrote:
On 12/08/2024 15:41, Depeng Shao wrote:
+ for (i = 0; i < MSM_CSID_MAX_SRC_STREAMS; i++)
+ if (csid->phy.en_vc & BIT(i)) {
+ writel(BIT(BUF_DONE_IRQ_STATUS_RDI_OFFSET + i),
+ csid->base + CSID_BUF_DONE_IRQ_CLEAR);
+ writel(0x1 << IRQ_CMD_CLEAR, csid->base + CSID_IRQ_CMD);
IRQ_CMD_CLEAR is for the CSID block not per RDI.
Sure, I will move IRQ_CMD_CLEAR outside of this loop.
I think you need to move the write outside of this loop too.
+ writel(BIT(BUF_DONE_IRQ_STATUS_RDI_OFFSET + i),
+ csid->base + CSID_BUF_DONE_IRQ_MASK);
+ }
Yes, this also can be moved to outside of the loop. I will update them.
Thanks,
Depeng