2022-06-02 06:31:24

by Klaus Jensen

[permalink] [raw]
Subject: [PATCH] i2c: aspeed: do not mask SLAVE_MATCH

From: Klaus Jensen <[email protected]>

When commit f9eb91350bb2 ("i2c: aspeed: added slave support for Aspeed
I2C driver") added slave mode support, the SLAVE_MATCH interrupt bit
(bit 7) was not added to INTR_ALL and so will never be set by the Aspeed
I2C controller.

Fixes: f9eb91350bb2 ("i2c: aspeed: added slave support for Aspeed I2C driver")
Signed-off-by: Klaus Jensen <[email protected]>
---
I am working on slave mode in QEMU and noticed that the device would not
generate the SLAVE_ADDR_RX_MATCH interrupt. This patch fixes it, but I
do not have a spec sheet on the Aspeed, so I am not sure if this is the
intended behavior?

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 771e53d3d197..7f432babcd72 100644
--- a/drivers/i2c/busses/i2c-aspeed.c
+++ b/drivers/i2c/busses/i2c-aspeed.c
@@ -86,6 +86,7 @@
#define ASPEED_I2CD_INTR_ALL \
(ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
ASPEED_I2CD_INTR_BUS_RECOVER_DONE | \
+ ASPEED_I2CD_INTR_SLAVE_MATCH | \
ASPEED_I2CD_INTR_SCL_TIMEOUT | \
ASPEED_I2CD_INTR_ABNORMAL | \
ASPEED_I2CD_INTR_NORMAL_STOP | \
--
2.36.1



2022-06-04 02:48:44

by Klaus Jensen

[permalink] [raw]
Subject: Re: [PATCH] i2c: aspeed: do not mask SLAVE_MATCH

On Jun 2 07:48, Klaus Jensen wrote:
> From: Klaus Jensen <[email protected]>
>
> When commit f9eb91350bb2 ("i2c: aspeed: added slave support for Aspeed
> I2C driver") added slave mode support, the SLAVE_MATCH interrupt bit
> (bit 7) was not added to INTR_ALL and so will never be set by the Aspeed
> I2C controller.
>
> Fixes: f9eb91350bb2 ("i2c: aspeed: added slave support for Aspeed I2C driver")
> Signed-off-by: Klaus Jensen <[email protected]>
> ---
> I am working on slave mode in QEMU and noticed that the device would not
> generate the SLAVE_ADDR_RX_MATCH interrupt. This patch fixes it, but I
> do not have a spec sheet on the Aspeed, so I am not sure if this is the
> intended behavior?
>
> 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 771e53d3d197..7f432babcd72 100644
> --- a/drivers/i2c/busses/i2c-aspeed.c
> +++ b/drivers/i2c/busses/i2c-aspeed.c
> @@ -86,6 +86,7 @@
> #define ASPEED_I2CD_INTR_ALL \
> (ASPEED_I2CD_INTR_SDA_DL_TIMEOUT | \
> ASPEED_I2CD_INTR_BUS_RECOVER_DONE | \
> + ASPEED_I2CD_INTR_SLAVE_MATCH | \
> ASPEED_I2CD_INTR_SCL_TIMEOUT | \
> ASPEED_I2CD_INTR_ABNORMAL | \
> ASPEED_I2CD_INTR_NORMAL_STOP | \
> --
> 2.36.1
>

I've been informed that SLAVE_MATCH should always be generated,
regardless of INTR_CTRL, so please ignore this patch.


Attachments:
(No filename) (1.49 kB)
signature.asc (499.00 B)
Download all attachments