[PATCH 3/5] i2c: aspeed: Mask IRQ status to relevant bits
joel at jms.id.au
Tue Aug 25 16:38:10 AEST 2020
On Thu, 20 Aug 2020 at 16:12, Eddie James <eajames at linux.ibm.com> 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 at linux.ibm.com>
> drivers/i2c/busses/i2c-aspeed.c | 1 +
> 1 file changed, 1 insertion(+)
> diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
> index 31268074c422..abf40f2af8b4 100644
> --- a/drivers/i2c/busses/i2c-aspeed.c
> +++ b/drivers/i2c/busses/i2c-aspeed.c
> @@ -604,6 +604,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 &= 0xf000ffff;
> irq_remaining = irq_received;
This would defeat the check for irq_remaining. I don't think we want to do this.
Can you explain why these bits are being set in slave mode?
More information about the Linux-aspeed