diff options
author | Jarkko Nikula <jarkko.nikula@linux.intel.com> | 2025-04-09 17:03:59 +0300 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2025-05-15 11:41:13 +0200 |
commit | a7035a8ee96648bfbd2cd747308bca41122500ab (patch) | |
tree | 771ccc759070f1bcc716583b408baeb8e65700f8 | |
parent | 279c24021b838e76ca8441e9446e0ab45271153a (diff) |
i3c: mipi-i3c-hci: Clear INTR_STATUS unconditionally
Status fields in INTR_STATUS register are write 1 to clear so do it
unconditionally and move clearing of them out of an if block.
Suggested-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250409140401.299251-3-jarkko.nikula@linux.intel.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r-- | drivers/i3c/master/mipi-i3c-hci/core.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c index 780e9db7e21e..4c4100d2d9af 100644 --- a/drivers/i3c/master/mipi-i3c-hci/core.c +++ b/drivers/i3c/master/mipi-i3c-hci/core.c @@ -590,12 +590,11 @@ static irqreturn_t i3c_hci_irq_handler(int irq, void *dev_id) u32 val; val = reg_read(INTR_STATUS); + reg_write(INTR_STATUS, val); DBG("INTR_STATUS = %#x", val); - if (val) { - reg_write(INTR_STATUS, val); + if (val) result = IRQ_HANDLED; - } if (val & INTR_HC_RESET_CANCEL) { DBG("cancelled reset"); |