Re: Re: [PATCH v2] i2c: cadence: try reset when master receive arbitration lost

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

 



>Hi Shikai,
>
>On Tue, Feb 19, 2019 at 8:19 AM Shikai Wang <sxauwsk@xxxxxxx> wrote:
>>
>> When the adapter receive arbitration lost error interrupts,
>> cdns_i2c_master_xfer return to the caller directly instead of resetting
>> the adapter which resulted in the adapter being out of control.
>>
>> So when driver detect err_status such as arbitration lost,
>> then try to repair and fix it.
>>
>I am missing the issue that you are facing.
>You are having a multimaster scenario and getting arbitration lost.
>
>the current code would attempt a retry did that lead to any issues?
>
>Can you explain the issue that you are facing? 

Of cource,  The following describe my situation.

In my product,  Touchscreen connect to zynq-7000 XC7Z010 by i2c bus( Just connect only one i2c-device of touchscreen),  
when user tap Touchscreen, Touchscreen interrupt send to CPU and notifyed i2c-driver to obtain location data by i2c-bus,  

when Tap the screen frequently,  sometimes CPU get interrupt from touchscreen and try to obtain data,  then detect arbitration lost,
Although i2c-driver try three times,  it's useless.
  
Actually i2c clock-line and data-line keep high, that mean i2c bus free.
Once this situation occur, i2c-control did't work anynay but cpu receive interrputs still.

I am sorry that I have't found a good solution for this issuse;




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux