Index | Thread | Search

From:
Marcus Glocker <marcus@nazgul.ch>
Subject:
Re: Fix boot on HONOR MagicBook Art 14 Snapdragon
To:
"Kirill A. Korinsky" <kirill@korins.ky>
Cc:
tech@openbsd.org
Date:
Mon, 23 Dec 2024 18:18:51 +0100

Download raw body.

Thread
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.