Re: [PATCH v3 3/5] i2c: aspeed: Mask IRQ status to relevant bits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 9/10/20 4:00 AM, Brendan Higgins wrote:
On Wed, Sep 9, 2020 at 1:31 PM Eddie James <eajames@xxxxxxxxxxxxx> wrote:
Mask the IRQ status to only the bits that the driver checks. This
prevents excessive driver warnings when operating in slave mode
when additional bits are set that the driver doesn't handle.

Signed-off-by: Eddie James <eajames@xxxxxxxxxxxxx>
Reviewed-by: Tao Ren <rentao.bupt@xxxxxxxxx>
Sorry, looks like I didn't get my comment in in time.

Looks good in principle. One minor comment below:

---
  drivers/i2c/busses/i2c-aspeed.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
index 31268074c422..724bf30600d6 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
@@ -69,6 +69,7 @@
   * These share bit definitions, so use the same values for the enable &
   * status bits.
   */
+#define ASPEED_I2CD_INTR_RECV_MASK                     0xf000ffff
Could we define ASPEED_I2CD_INTR_RECV_MASK to be ASPEED_I2CD_INTR_ALL ?


That was my original thought... there is another define for that already a few lines down though.


Thanks,

Eddie



  #define ASPEED_I2CD_INTR_SDA_DL_TIMEOUT                        BIT(14)
  #define ASPEED_I2CD_INTR_BUS_RECOVER_DONE              BIT(13)
  #define ASPEED_I2CD_INTR_SLAVE_MATCH                   BIT(7)
@@ -604,6 +605,7 @@ static irqreturn_t aspeed_i2c_bus_irq(int irq, void *dev_id)
         writel(irq_received & ~ASPEED_I2CD_INTR_RX_DONE,
                bus->base + ASPEED_I2C_INTR_STS_REG);
         readl(bus->base + ASPEED_I2C_INTR_STS_REG);
+       irq_received &= ASPEED_I2CD_INTR_RECV_MASK;
         irq_remaining = irq_received;

  #if IS_ENABLED(CONFIG_I2C_SLAVE)
--
2.26.2




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux