Re: [PATCH 0/6] Intel Integrated Sensor Hub Support (ISH)

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

 



On Sat, 2016-06-11 at 05:13 -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.
> 
> The user mode ABI is still same as external sensor hubs using Linux
> IIO. So existing user mode software should still work.
> This series primarily brings in new HID transport used in ISH.
> 
> Thanks to the community members who tested RFC patches and provided
> feedback.
> 
> For users testing on Linux distributions using IIO sensor proxy,
> a short term work around is required till we have debugged this
> issue.
> In systemd unit file iio-sensor-proxy.service
> In the section "[Unit]" add
> After=multi-user.target
> 

My previous message didn't get through to -iio and main mailing list
(but it went through to -input surprisingly), so let me try again.

Thank you so much for the updated patchset. It works! Auto
rotation and brightness work out of a cold boot and also after waking
up from suspend. Suspend/Wakeup is also back to usual speed.

One minor gripe I have is that the brightness seems to be set to 100%
every time upon reboot. So if I set brightness to 50% e.g., and reboot,
the brightness is reset to 100% again (not initially but right after
iio-sensor-monitor loads). Of course, this might not have anything to
do with the driver, but I just thought I should mention it here as long
as I am not sure about the cause.

I have now tested the patches both against kernel 4.7rc2 and 4.6.2, and
it works just fine in both cases. My test device is a Lenovo Thinkpad
Yoga 260.

Thanks and best wishes.

> Daniel Drubin (3):
>   hid: intel_ish-hid: ISH Transport layer
>   hid: intel-ish-hid: ipc layer
>   hid: intel-ish-hid: ISH HID client driver
> 
> Srinivas Pandruvada (3):
>   Documentation: hid: Intel ISH HID document
>   iio: hid-sensors: use asynchronous resume
>   hid: hid-sensor-hub: Add ISH quirk
> 
>  Documentation/hid/intel-ish-hid.txt                |  417 ++++++++
>  drivers/hid/Kconfig                                |    2 +
>  drivers/hid/Makefile                               |    2 +
>  drivers/hid/hid-sensor-hub.c                       |    4 +
>  drivers/hid/intel-ish-hid/Kconfig                  |   27 +
>  drivers/hid/intel-ish-hid/Makefile                 |   20 +
>  drivers/hid/intel-ish-hid/ipc/hw-ish-regs.h        |  220 ++++
>  drivers/hid/intel-ish-hid/ipc/hw-ish.h             |   70 ++
>  drivers/hid/intel-ish-hid/ipc/ipc.c                |  720
> +++++++++++++
>  drivers/hid/intel-ish-hid/ipc/pci-ish.c            |  305 ++++++
>  drivers/hid/intel-ish-hid/ipc/utils.h              |   64 ++
>  drivers/hid/intel-ish-hid/ishtp-hid-client.c       |  922
> ++++++++++++++++
>  drivers/hid/intel-ish-hid/ishtp-hid.c              |  231 ++++
>  drivers/hid/intel-ish-hid/ishtp-hid.h              |  182 ++++
>  drivers/hid/intel-ish-hid/ishtp/bus.c              |  774
> ++++++++++++++
>  drivers/hid/intel-ish-hid/ishtp/bus.h              |  105 ++
>  drivers/hid/intel-ish-hid/ishtp/client.c           | 1129
> ++++++++++++++++++++
>  drivers/hid/intel-ish-hid/ishtp/client.h           |  194 ++++
>  drivers/hid/intel-ish-hid/ishtp/dma-if.c           |  178 +++
>  drivers/hid/intel-ish-hid/ishtp/hbm.c              |  911
> ++++++++++++++++
>  drivers/hid/intel-ish-hid/ishtp/hbm.h              |  319 ++++++
>  drivers/hid/intel-ish-hid/ishtp/init.c             |   94 ++
>  drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h        |  280 +++++
>  .../iio/common/hid-sensors/hid-sensor-trigger.c    |   21 +-
>  include/linux/hid-sensor-hub.h                     |    1 +
>  include/trace/events/intel_ish.h                   |   30 +
>  include/uapi/linux/input.h                         |    1 +
>  27 files changed, 7222 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/hid/intel-ish-hid.txt
>  create mode 100644 drivers/hid/intel-ish-hid/Kconfig
>  create mode 100644 drivers/hid/intel-ish-hid/Makefile
>  create mode 100644 drivers/hid/intel-ish-hid/ipc/hw-ish-regs.h
>  create mode 100644 drivers/hid/intel-ish-hid/ipc/hw-ish.h
>  create mode 100644 drivers/hid/intel-ish-hid/ipc/ipc.c
>  create mode 100644 drivers/hid/intel-ish-hid/ipc/pci-ish.c
>  create mode 100644 drivers/hid/intel-ish-hid/ipc/utils.h
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp-hid-client.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp-hid.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp-hid.h
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/bus.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/bus.h
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/client.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/client.h
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/dma-if.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/hbm.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/hbm.h
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/init.c
>  create mode 100644 drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h
>  create mode 100644 include/trace/events/intel_ish.h
> 
-- 
Atri Bhattacharya
Sun 12 Jun 08:26:27 CEST 2016

Sent from openSUSE Tumbleweed (20160609) (x86_64) on my laptop.��.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