https://bugzilla.kernel.org/show_bug.cgi?id=199317

            Bug ID: 199317
           Summary: _STA method for ELAN touchpad on HP X2 10-p0xx always
                    returns 0
           Product: ACPI
           Version: 2.5
    Kernel Version: 4.16
          Hardware: Intel
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: ACPICA-Core
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

Created attachment 275151
  --> https://bugzilla.kernel.org/attachment.cgi?id=275151&action=edit
decompiled dsdt

I am trying to enable multitouch support for Elan touchpads found in the HP X2
10-p0xx series. They use i2c with the same packet structure as in
elan-i2c-core.c, but the driver is not used. By doing ls /sys/bus/acpi/devices
I get no elan acpi id, but only XXXX0000:00.

I looked at the dsdt and it seems that the _INI method for this device (TPL1)
is never called.

$ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._HID'
Evaluating \_SB.PCI0.I2C6.TPL1._HID
Evaluation of \_SB.PCI0.I2C6.TPL1._HID returned object 00000000c70e002e,
external buffer length 28
 [String] Length 08 = "XXXX0000"

Calling the _INI manually the correct _HID is set (but still doesn't show up on
/sys/bus/acpi/devices):

$ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._INI'
Evaluating \_SB.PCI0.I2C6.TPL1._INI
Evaluation of \_SB.PCI0.I2C6.TPL1._INI returned object 00000000a3ede7ec,
external buffer length 18
 [Integer] = 0000000000000001

$ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._HID'
Evaluating \_SB.PCI0.I2C6.TPL1._HID
Evaluation of \_SB.PCI0.I2C6.TPL1._HID returned object 00000000a3ede7ec,
external buffer length 28
 [String] Length 08 = "ELAN2317"

The _STA method checks for BDID to be != 1, but instead it is, returning always
0:

$ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._STA'
Evaluating \_SB.PCI0.I2C6.TPL1._STA
Evaluation of \_SB.PCI0.I2C6.TPL1._STA returned object 000000006bee48dd,
external buffer length 18
 [Integer] = 0000000000000000

$ sudo ./acpidbg -b 'ex \BDID'
Evaluating \BDID
Evaluation of \BDID returned object 0000000001f1db34, external buffer length 18
 [Integer] = 0000000000000001



I'm not really sure what is the cause of this. I tried on mainline, but also
4.15 had the same problem.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to