Download raw body.
Fix boot on HONOR MagicBook Art 14 Snapdragon
On Mon, Dec 23, 2024 at 06:03:47PM GMT, Kirill A. Korinsky wrote: > On Mon, 23 Dec 2024 17:14:57 +0100, > Marcus Glocker <marcus@nazgul.ch> wrote: > > > > > > ... one ask; Is it really required to add two quirks for that? > > The consequence of skipping the reset is that we are also skipping the > > power on, because it's contained in ihidev_reset(). > > > > Would it also work for the device if we do the power on at the same > > place where we skip the reset, so before the I2C_HID_REPORT_DESCR > > command? See what I mean with the following diff. > > > > Unfortently no, it read as (here with debug output): > > ihidev1 at iic3 addr 0x5dihidev1: HID command I2C_HID_CMD_DESCR at 0x1 > ihidev1: HID descriptor: 1e 00 00 01 df 02 02 00 03 00 2a 00 04 00 20 00 05 00 06 00 cc 35 04 01 01 01 00 00 00 00 > ihidev1: resetting > ihidev1: HID command I2C_HID_CMD_SET_POWER(0) > ihidev1: HID command I2C_HID_REPORT_DESCR at 0x2 with size 735 > ihidev1: HID report descriptor: 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0c 09 01 a1 01 85 08 19 00 2a ff 02 15 00 26 ff 7f 75 10 95 01 81 00 c0 05 0d 09 05 a1 01 85 04 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 7f 95 01 75 08 81 02 05 09 09 01 25 01 75 01 95 01 81 02 95 07 81 03 05 0d 85 02 09 55 09 59 75 04 95 02 25 0f b1 02 05 0d 85 07 09 60 75 01 95 01 15 00 25 01 b1 02 95 07 b1 03 85 06 06 00 ff 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 05 0d 09 0e a1 01 85 03 0 > gpio 896, vendor 0x35cc product 0x104, QTEC0002 > ihidev1: 14 report ids > ihidev1: repid 1 size 4 > ihidev1: repid 4 size 39 > ihidev1: repid 8 size 2 > ihidev1: repid 14 size 8 > imt0 at ihidev1ihidev1: HID command I2C_HID_CMD_GET_REPORT 2 (type 3, len 1) > ihidev1: response size 65535 != expected length 4 > ihidev1: response report id 255 != 2 > ihidev1: failed fetching report > > imt0: failed getting capability report > ims0 at ihidev1 reportid 1: 3 buttons, Z dir > wsmouse0 at ims0 mux 0 > hid at ihidev1 reportid 5 not configured > hid at ihidev1 reportid 6 not configured > hid at ihidev1 reportid 7 not configured > icc1 at ihidev1 reportid 8: 768 usages, 20 keys, array > wskbd2 at icc1 mux 1 > hid at ihidev1 reportid 14 not configured > ihidev1: HID command I2C_HID_CMD_SET_POWER(1) > qciic4 at acpi0 I2C9 addr 0xa80000/0x4000 > > and for refernce my last version of patch: > > ihidev1 at iic3 addr 0x5dihidev1: HID command I2C_HID_CMD_DESCR at 0x1 > ihidev1: HID descriptor: 1e 00 00 01 df 02 02 00 03 00 2a 00 04 00 20 00 05 00 06 00 cc 35 04 01 01 01 00 00 00 00 > ihidev1: HID command I2C_HID_REPORT_DESCR at 0x2 with size 735 > ihidev1: HID report descriptor: 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 05 0c 09 01 a1 01 85 08 19 00 2a ff 02 15 00 26 ff 7f 75 10 95 01 81 00 c0 05 0d 09 05 a1 01 85 04 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47 09 42 09 4a 95 03 75 01 81 02 95 01 75 01 81 03 95 01 75 04 25 05 09 51 81 02 05 01 15 00 26 48 12 75 10 55 0e 65 13 09 30 35 00 46 fc 01 95 01 81 02 46 6c 01 26 30 0c 09 31 81 02 05 0d 09 30 75 10 26 ff 07 46 96 02 66 01 01 81 02 c0 05 0d 55 0c 66 01 10 47 ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 7f 95 01 75 08 81 02 05 09 09 01 25 01 75 01 95 01 81 02 95 07 81 03 05 0d 85 02 09 55 09 59 75 04 95 02 25 0f b1 02 05 0d 85 07 09 60 75 01 95 01 15 00 25 01 b1 02 95 07 b1 03 85 06 06 00 ff 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 05 0d 09 0e a1 01 85 03 0 > ihidev1: resetting > ihidev1: HID command I2C_HID_CMD_SET_POWER(0) > gpio 896, vendor 0x35cc product 0x104, QTEC0002 > ihidev1: 14 report ids > ihidev1: repid 1 size 4 > ihidev1: repid 4 size 39 > ihidev1: repid 8 size 2 > ihidev1: repid 14 size 8 > imt0 at ihidev1ihidev1: HID command I2C_HID_CMD_GET_REPORT 2 (type 3, len 1) > ihidev1: response: 04 00 02 15 > ihidev1: HID command I2C_HID_CMD_SET_REPORT 3 (type 3, len 2): 03 00 > : touchpad, 5 contacts > wsmouse0 at imt0 mux 0 > ims0 at ihidev1 reportid 1: 3 buttons, Z dir > wsmouse1 at ims0 mux 0 > hid at ihidev1 reportid 5 not configured > hid at ihidev1 reportid 6 not configured > hid at ihidev1 reportid 7 not configured > icc1 at ihidev1 reportid 8: 768 usages, 20 keys, array > wskbd2 at icc1 mux 1 > hid at ihidev1 reportid 14 not configured > ihidev1: HID command I2C_HID_CMD_SET_POWER(1) > qciic4 at acpi0 I2C9 addr 0xa80000/0x4000 > > and without quirks, but with https://marc.info/?l=openbsd-tech&m=173496939319744&w=2: > > iic3 at qciic3 > ihidev1 at iic3 addr 0x5dihidev1: HID command I2C_HID_CMD_DESCR at 0x1 > ihidev1: HID descriptor: 1e 00 00 01 df 02 02 00 03 00 2a 00 04 00 20 00 05 00 06 00 cc 35 04 01 01 01 00 00 00 00 > ihidev1: resetting > ihidev1: HID command I2C_HID_CMD_SET_POWER(0) > ihidev1: HID command I2C_HID_CMD_RESET > ihidev1: HID command I2C_HID_REPORT_DESCR at 0x2 with size 735 > ihidev1: HID report descriptor: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff f > gpio 896, vendor 0x35cc product 0x104, QTEC0002 > qciic4 at acpi0 I2C9 addr 0xa80000/0x4000 OK, thanks for checking. Then I'm basically OK with the last version of your diff. Maybe kettenis@ also wants to review again.
Fix boot on HONOR MagicBook Art 14 Snapdragon