Re: [RFC 0/4] Intel Integrated Sensor Hub Support (ISH)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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�����٥




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux