RE: [PATCH v8] i2c: designware: fix master is holding SCL low while ENABLE bit is disabled

From: Liu Kimriver/刘金河
Date: Tue Sep 10 2024 - 07:55:30 EST


Hi, Jarkko


>-----Original Message-----
>From: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
>Sent: 2024年9月10日 19:20
>To: Liu Kimriver/刘金河 <kimriver.liu@xxxxxxxxxxxx>; Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>Cc: mika.westerberg@xxxxxxxxxxxxxxx; jsd@xxxxxxxxxxxx; andi.shyti@xxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>Subject: Re: [PATCH v8] i2c: designware: fix master is holding SCL low while ENABLE bit is disabled

>On 9/10/24 12:38 PM, Liu Kimriver/刘金河 wrote:
>> Hi Andy,
>>
>>> -----Original Message-----
>>> From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>>> Sent: 2024年9月10日 17:03
>>> To: Liu Kimriver/刘金河 <kimriver.liu@xxxxxxxxxxxx>
>>> Cc: jarkko.nikula@xxxxxxxxxxxxxxx; mika.westerberg@xxxxxxxxxxxxxxx;
>>> jsd@xxxxxxxxxxxx; andi.shyti@xxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx;
>>> linux-kernel@xxxxxxxxxxxxxxx
>>> Subject: Re: [PATCH v8] i2c: designware: fix master is holding SCL
>>> low while ENABLE bit is disabled
>>
>>> On Tue, Sep 10, 2024 at 02:13:09PM +0800, Kimriver Liu wrote:
>>>> It was observed issuing ABORT bit(IC_ENABLE[1]) will not work when
>>>
>>> "...observed that issuing..."
>>> ...bit (..."
>>
>>
>>>> IC_ENABLE is already disabled.
>>>>
>>>> Check if ENABLE bit(IC_ENABLE[0]) is disabled when the master is
>>
>>> "...bit (..."
>>> master --> controller
>>
>> Update it in V9
>>
>Please add back also kernel errors that are shown when the issue occurs.
>I saw those mentioned in the commit log in some earlier version of the patch.

Those may help googling the solution (i.e. this patch) if somebody sees similar error on their HW.
Ok

Add back kernel errors logs in V9:
These kernel logs show up whenever an I2C transaction is
attempted after this failure.
i2c_designware e95e0000.i2c: timeout in disabling adapter
i2c_designware e95e0000.i2c: timeout waiting for bus ready

The patch can be fix the controller cannot be disabled while
SCL is held low in ENABLE bit is already disabled.

Thanks!

I will be off work, If there are still emails that I have not been replied to,
I will reply to your email immediately after going to work tomorrow.
------------------------------------------
Best Regards
Kimriver Liu