Re: [PATCH V12 3/5] i2c: tegra: Add DMA support

From: Dmitry Osipenko
Date: Wed Feb 06 2019 - 08:40:56 EST


06.02.2019 16:34, Dmitry Osipenko ÐÐÑÐÑ:
> 06.02.2019 16:30, Sowjanya Komatineni ÐÐÑÐÑ:
>>
>>
>>>>
>>>>>>> BTW, I'm seeing "atmel_mxt_ts 0-004c: Warning: Info CRC error - device=0xF436DC file=0x000000" whithout making any modifications to the original patch as well and it shall not happen, hence there is bug somewhere. Probably FIFO triggers are still not set up correctly... ?
>>>>>>>
>>>>>>>
>>>>>> In snippet you sent, I see you are forcing dma_burst to 1 always which is what set for fifo trigger levels as well and also you are forcing dma all the time.
>>>>>> So always it will be 1 word dma burst and 1 word trigger level and that should not be an issue.
>>>>>>
>>>>>
>>>>> I reverted that snippet, this log is collected with the yours original patch.
>>>>>
>>>> From atmel driver, looks like this warning is from maxt_update_cfg
>>>> and due to CRC mismatch and above values shows read data CRC is 0Xf436dc which is compared against info_crc of all 0's Info_crc is based on raw config file and somehow its all 0's. this is not based on data read thru i2c.
>>>> data->info_crc computed on data read is 0Xf436dc
>>>>
>>>> This warning is not related to I2C transfer
>>>>
>>>
>>> It doesn't happen with the I2C PIO mode. Seems it means that the I2C reads out the 0xF436DC value instead of 0x000000.. if I'm not missing anything.
>>>
>> Log that you shared this warning, doesnât show any i2c failures with atmel and CRC based on i2c read data is 0Xf436dc.
>> During this log, there are not DMA timeouts associated during this warning timeframe. So i2c read data is thru DMA which is non-zero.
>>
>> Do you see DMA timeouts associated with this warning? I meant any DMA or I2C timeout during that time frame of warning?
>>
>
> Actually you're right, my bad. That atmel error and atmel I2C timeout (due to I2C_ERR_NO_ACK) happens in the PIO mode too, hence that part is fine.
>
> PIO log:
>
> [ 1.028889] atmel_mxt_ts 0-004c: Warning: Info CRC error - device=0xF436DC file=0x000000
> [ 1.078907] atmel_mxt_ts 0-004c: Resetting device
> [ 1.128646] usb 1-1: new full-speed USB device number 2 using tegra-ehci
> [ 1.198708] atmel_mxt_ts 0-004c: __mxt_read_reg: i2c transfer failed (-121)
> [ 1.198732] atmel_mxt_ts 0-004c: Failed to read 28 messages (-121)
>

Oh gosh.. there is no I2C timeout, but instant NO_ACK. I'll make some coffee...