Re: [PATCH v2] HID: i2c-hid: Use block reads when possible to save power

From: Jarkko Nikula
Date: Wed Jul 01 2020 - 04:04:09 EST


On 6/29/20 8:43 PM, Sultan Alsawaf wrote:
Hmm, for some reason in 5.8 I get the same problem, but 5.7 is fine. Could you
try this on 5.7 and see if it works?

In the meantime I'll bisect 5.8 to see why it's causing problems for me...

I see the same issue on top of v5.7:

[ 9.330514] i2c_hid i2c-ELAN221D:00: Fetching the HID descriptor
[ 9.334761] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: cmd=01 00
[ 9.335716] i2c_hid i2c-ELAN221D:00: HID Descriptor: 1e 00 00 01 31 02 02 00 03 00 43 00 04 00 ff 00 05 00 06 00 f3 04 1d 22 10 56 00 00 00 00
[ 9.353408] i2c_hid i2c-ELAN221D:00: entering i2c_hid_parse
[ 9.353416] i2c_hid i2c-ELAN221D:00: i2c_hid_hwreset
[ 9.353502] i2c_hid i2c-ELAN221D:00: i2c_hid_set_power
[ 9.353520] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: cmd=05 00 00 08
[ 9.362304] i2c_hid i2c-ELAN221D:00: resetting...
[ 9.370585] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: cmd=05 00 00 01
[ 9.389175] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: waiting...
[ 10.416458] i2c_designware i2c_designware.3: controller timed out
[ 10.476853] i2c_designware i2c_designware.3: timeout in disabling adapter
[ 11.983806] [<00000000fac753ed>] i2c_dw_isr [i2c_designware_core]
[ 14.544499] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: finished.
[ 14.552123] i2c_hid i2c-ELAN221D:00: failed to reset device.
[ 14.559263] i2c_hid i2c-ELAN221D:00: i2c_hid_set_power
[ 14.565822] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: cmd=05 00 01 08
[ 14.600256] i2c_designware i2c_designware.3: timeout waiting for bus ready
[ 14.608800] i2c_hid i2c-ELAN221D:00: failed to change power setting.
[ 15.632103] i2c_hid i2c-ELAN221D:00: i2c_hid_hwreset
[ 15.638460] i2c_hid i2c-ELAN221D:00: i2c_hid_set_power
[ 15.646422] i2c_hid i2c-ELAN221D:00: __i2c_hid_command: cmd=05 00 00 08
...

--
Jarkko