RE: [PATCH V13 3/5] i2c: tegra: Add DMA support
From: Sowjanya Komatineni
Date: Wed Feb 06 2019 - 10:55:17 EST
> > Two ";;" at the end.
> > Good news: DVC I2C works now and tps6586x probes fine! :) Bad news:
> > atmel-touch still has same problems as in V12 :(
> > DMA-only V13: http://dpaste.com/0XJ1Z8G.txt
> Strangely, there are many transactions to touch and all of them are good except DMA timeout only when reading T44 and T5 atmel_mxt_ts 0-004c: Failed to read T44 and T5 (-110)
[ 0.923138] tegra-i2c 7000c000.i2c: starting DMA for length: 16
[ 0.923148] tegra-i2c 7000c000.i2c: unmasked irq: 0c
[ 0.923337] tegra-i2c 7000c000.i2c: transfer complete: 10 0 0
[ 0.923347] tegra-i2c 7000c000.i2c: starting DMA for length: 12
[ 0.923355] tegra-i2c 7000c000.i2c: unmasked irq: 0c
[ 0.935048] tegra-i2c 7000d000.i2c: starting DMA for length: 16
[ 0.935058] tegra-i2c 7000d000.i2c: unmasked irq: 0c
[ 1.028750] tegra-i2c 7000c000.i2c: DMA transfer timeout
[ 1.028816] atmel_mxt_ts 0-004c: __mxt_read_reg: i2c transfer failed (-110)
Looking into timestamps and transactions, DMA timeouts after start of DMA for I2C1 to touch during this transaction.
While it is waiting for I2C1 DMA transfer, lots of DVC transactions happened thru DMA which are successful
What is the I2C1 speed?
Also incase if device is running slow for some reason, probably timeout was not enough as this patch series changes timeout with base 100mS + msg transfer time based on transfer size.
Can you give quick try with increased timeout incase if device is running slow?