Re: [PATCH v2 5/7] HID: ft260: improve i2c large reads performance

From: Enrik Berkhan
Date: Tue Oct 04 2022 - 14:16:07 EST


Hi Michael,

On Wed, 2022-09-28 at 17:48 +0300, Michael Zaidman wrote:
> After:
>
> $ sudo ./i2cperf -d 2 -o 2 -s 128 -r 0-0xff 13 0x51 -S
>
> Read block via i2ctransfer by chunks
> -------------------------------------------------------------------
> data rate(bps) efficiency(%) data size(B) total IOs IO size(B)
> -------------------------------------------------------------------
> 49316 85 256 2 128
>
> Kernel log:
>
> [ +1.447360] ft260_i2c_write_read: off 0x0 rlen 128 wlen 2
> [ +0.000002] ft260_i2c_write: rep 0xd0 addr 0x51 off 0 len 2 wlen 2 flag 0x2 d[0] 0x0
> [ +0.001633] ft260_xfer_status: bus_status 0x41, clock 100
> [ +0.000190] ft260_xfer_status: bus_status 0x40, clock 100
> [ +0.000001] ft260_i2c_read: rep 0xc2 addr 0x51 len 128 rlen 128 flag 0x7
> [ +0.008617] ft260_raw_event: i2c resp: rep 0xde len 60
> [ +0.008033] ft260_raw_event: i2c resp: rep 0xde len 60
> [ +0.000954] ft260_raw_event: i2c resp: rep 0xd1 len 8

As the ft260 can pack up to 60 bytes into one report, would it make
sense to use a multiple-of-60 size (120 or 180)? Might reduce overhead
by another tiny bit ...

Cheers,
Enrik