ast2600 i2c irq error

Quan Nguyen quan at os.amperecomputing.com
Mon Oct 24 17:48:56 AEDT 2022


Hi Joel,

Can you try the patchset [1] to see if any improvement ?

We tested with these patches and they look good. Graeme has also tried 
them as in [2].

[1] 
https://lore.kernel.org/all/20210616031046.2317-1-quan@os.amperecomputing.com/

[2] 
https://lore.kernel.org/all/72c8a5bc-830d-25a9-0528-5d428dd9f163@quicinc.com/

Thanks
- Quan

On 24/10/2022 11:02, Joel Stanley wrote:
> With the 6.0 kernel I saw this on hardware:
> 
> [  205.644781] aspeed-i2c-bus 1e78a800.i2c-bus: irq handled != irq.
> expected 0x00000021, but was 0x00000020
> [  205.669842] aspeed-i2c-bus 1e78a800.i2c-bus: irq handled != irq.
> expected 0x00000021, but was 0x00000020
> [  205.694814] aspeed-i2c-bus 1e78a800.i2c-bus: irq handled != irq.
> expected 0x00000021, but was 0x00000020
> [  205.719805] aspeed-i2c-bus 1e78a800.i2c-bus: irq handled != irq.
> expected 0x00000021, but was 0x00000020
> 
> $ bitfield G6I2CD10 0x00000021
> decoding as AST2600 I2C interrupt status register
> 0x00000021 [33]
> Slave Address Received Pending: 0x0
>     Slave mode inactive timeout: 0x0
>            SDA data-low timeout: 0x0
>                Bus recover done: 0x0
>              SMBus device alert: 0x0
>                        Reserved: 0x0
>                        Reserved: 0x0
>                        Reserved: 0x0
>                        Reserved: 0x0
>    Slave address received match: 0x0
>           SCL clock-low timeout: 0x0
>             Abnormal start/stop: 0x1
>                     Normal stop: 0x0
>         Master arbitration loss: 0x0
>                    Receive done: 0x0
>         Transmit done with NACK: 0x0
>          Transmit done with ACK: 0x1
> 
> I think it was happening at host boot time:
> 
> Oct 21 03:03:20 ever9bmc kernel: aspeed-i2c-bus 1e78a800.i2c-bus: irq
> handled != irq. expected 0x00000021, but was 0x00000020
> Oct 21 03:03:20 ever9bmc platform-fru-detect[587]: Failed to read
> block data from device 0x6a on /dev/i2c-40: Protocol error
> Oct 21 03:03:20 ever9bmc platform-fru-detect[587]: Unhandled error
> condition in notifier callback, disabling sink: 71
> 
> There were no i2c patches in dev-5.15. Since v5.15, the following
> patches have gone in:
> 
> $ git log --oneline v5.15..dev-6.0 -- drivers/i2c/busses/i2c-aspeed.c
> drivers/irqchip/irq-aspeed-i2c-ic.c
> 5bd733a9928e i2c: aspeed: Assert NAK when slave is busy
> ea1558ce149d i2c: move drivers from strlcpy to strscpy
> 50f0f26e7c86 irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
> 653becec6d56 i2c: aspeed: Remove unused includes
> 
> The only one of these that had signficiant changes is
> https://github.com/torvalds/linux/commit/5bd733a9928e.


More information about the openbmc mailing list