• Michael Zaidman's avatar
    HID: ft260: improve i2c large reads performance · 54410c14
    Michael Zaidman authored
    
    
    The patch increases the read buffer size to 180 bytes. It reduces
    the number of ft260_i2c_read() calls by three, improving the big
    reads performance.
    
    $ sudo i2ctransfer -y -f 13 w2@0x51 0x0 0x0 r180
    
    Before:
    
    [  +4.071878] ft260_i2c_write_read: off 0x0 rlen 180 wlen 2
    [  +0.000005] ft260_i2c_write: rep 0xd0 addr 0x51 off 0 len 2 wlen 2 flag 0x2 d[0] 0x0
    [  +0.001097] ft260_xfer_status: bus_status 0x41, clock 100
    [  +0.000175] ft260_xfer_status: bus_status 0x40, clock 100
    [  +0.000004] ft260_i2c_read: rep 0xc2 addr 0x51 len 180 rlen 60 flag 0x3
    [  +0.008579] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.000208] ft260_xfer_status: bus_status 0x40, clock 100
    [  +0.000001] ft260_i2c_read: rep 0xc2 addr 0x51 len 120 rlen 60 flag 0x0
    [  +0.008794] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.000181] ft260_xfer_status: bus_status 0x40, clock 100
    [  +0.000002] ft260_i2c_read: rep 0xc2 addr 0x51 len 60 rlen 60 flag 0x4
    [  +0.008817] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.000223] ft260_xfer_status: bus_status 0x20, clock 100
    
    After:
    
    [ +11.611642] ft260_i2c_write_read: off 0x0 rlen 180 wlen 2
    [  +0.000005] ft260_i2c_write: rep 0xd0 addr 0x51 off 0 len 2 wlen 2 flag 0x2 d[0] 0x0
    [  +0.008001] ft260_xfer_status: bus_status 0x20, clock 100
    [  +0.000001] ft260_i2c_read: rep 0xc2 addr 0x51 len 180 rlen 180 flag 0x7
    [  +0.008994] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.007987] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.007992] ft260_raw_event: i2c resp: rep 0xde len 60
    [  +0.000206] ft260_xfer_status: bus_status 0x20, clock 100
    Suggested-by: default avatarEnrik Berkhan <Enrik.Berkhan@inka.de>
    Signed-off-by: default avatarMichael Zaidman <michael.zaidman@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    54410c14
hid-ft260.c 26.7 KB