Atri Bhattacharya <badshah400@...> writes: > > Hi! > > On Mon, 2016-05-30 at 21:27 -0700, Srinivas Pandruvada wrote: > > Starting from Cherrytrail, multiple generation of Intel processors > > offers > > on package sensor hub. Several recent tablets, 2-in-1 convertible > > laptops > > are using ISH instead of external sensor hubs. This resulted in lack > > of > > support of sensor function like device rotation and auto backlight > > adjustment. In addition, depending on the OEM implementation, support > > of ISH > > is required to support low power sleep states. > > > > The support of ISH on Linux platforms is not new. Android platforms > > with > > Intel SoCs had this support for a while submitted by Daniel Drubin. > > This patcheset is reusing most of those changes with clean up and > > removing Android platform specific changes. > > > > This series is tested on: > > - Lenovo Yoga 260 with Skylake processor > > - HP Pavilion x2 detachable with Cherrytrail > > > > The user mode ABI is still same as external sensor hubs using Linux > > IIO. So existing user mode software should still work without change. > > This series primarily brings in new HID transport used in ISH. > > > > This series submitted as a RFC to try on several devices. We have > > received request from Linux users who wanted this support. So I hope > > all > > those users try and give feedback. > > > > Thanks a lot for adding support for this. I have a Lenovo Thinkpad Yoga > 260, so I decided to give it a try. I used your patches on kernel 4.6.0 > and installed the patched kernel. Now, I see that the device is > recognised immediately. I use the iio-sensor-proxy application from > [1], and it now recognises the sensors. But changing orientation > doesn't seem to do anything, and moreover upon a wakeup from suspend I > see the following messages on the journal: > > Jun 01 15:15:09 tp-yoga260 kernel: [drm] RC6 on > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0001: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0002: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0002: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0002: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: hid-sensor-hub 0044:8086:22D8.0002: > timeout waiting for response from ISHTP device > Jun 01 15:15:09 tp-yoga260 kernel: PM: resume of devices complete after > 37095.288 msecs > > Also suspend and wakeup seems to be really slow now. Please let me know > if there is any other info I can provide. > > Thanks and best wishes. > > [1] https://github.com/hadess/iio-sensor-proxy > Can you reply to all, so that I get email in my inbox? You will need this as you have older FW? diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c index 3d5ba5b..658a607 100644 --- a/drivers/hid/hid-sensor-hub.c +++ b/drivers/hid/hid-sensor-hub.c @@ -16,6 +16,7 @@ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. * */ + #include <linux/device.h> #include <linux/hid.h> #include <linux/module.h> @@ -798,6 +799,9 @@ static const struct hid_device_id sensor_hub_devices[] = { { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE_LENOVO_YOGA900), .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, USB_VENDOR_ID_INTEL_0, + 0x22D8), + .driver_data = HID_SENSOR_HUB_ENUM_QUIRK}, { HID_DEVICE(HID_BUS_ANY, HID_GROUP_SENSOR_HUB, HID_ANY_ID, HID_ANY_ID) }, { } ��.n��������+%������w��{.n�����{��(��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥