1. 26 11月, 2020 1 次提交
  2. 02 10月, 2020 2 次提交
  3. 24 9月, 2020 1 次提交
    • H
      platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360 · d8233468
      Hans de Goede 提交于
      Commit cfae58ed ("platform/x86: intel-vbtn: Only blacklist
      SW_TABLET_MODE on the 9 / "Laptop" chasis-type") restored SW_TABLET_MODE
      reporting on the HP stream x360 11 series on which it was previously broken
      by commit de9647ef ("platform/x86: intel-vbtn: Only activate tablet
      mode switch on 2-in-1's").
      
      It turns out that enabling SW_TABLET_MODE reporting on devices with a
      chassis-type of 10 ("Notebook") causes SW_TABLET_MODE to always report 1
      at boot on the HP Pavilion 11 x360, which causes libinput to disable the
      kbd and touchpad.
      
      The HP Pavilion 11 x360's ACPI VGBS method sets bit 4 instead of bit 6 when
      NOT in tablet mode at boot. Inspecting all the DSDTs in my DSDT collection
      shows only one other model, the Medion E1239T ever setting bit 4 and it
      always sets this together with bit 6.
      
      So lets treat bit 4 as a second bit which when set indicates the device not
      being in tablet-mode, as we already do for bit 6.
      
      While at it also prefix all VGBS constant defines with "VGBS_".
      
      Fixes: cfae58ed ("platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type")
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NMark Gross <mgross@linux.intel.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      d8233468
  4. 14 7月, 2020 1 次提交
  5. 01 6月, 2020 1 次提交
    • H
      platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type · cfae58ed
      Hans de Goede 提交于
      The HP Stream x360 11-p000nd no longer report SW_TABLET_MODE state / events
      with recent kernels. This model reports a chassis-type of 10 / "Notebook"
      which is not on the recently introduced chassis-type whitelist
      
      Commit de9647ef ("platform/x86: intel-vbtn: Only activate tablet mode
      switch on 2-in-1's") added a chassis-type whitelist and only listed 31 /
      "Convertible" as being capable of generating valid SW_TABLET_MOD events.
      
      Commit 1fac39fd ("platform/x86: intel-vbtn: Also handle tablet-mode
      switch on "Detachable" and "Portable" chassis-types") extended the
      whitelist with chassis-types 8 / "Portable" and 32 / "Detachable".
      
      And now we need to exten the whitelist again with 10 / "Notebook"...
      
      The issue original fixed by the whitelist is really a ACPI DSDT bug on
      the Dell XPS 9360 where it has a VGBS which reports it is in tablet mode
      even though it is not a 2-in-1 at all, but a regular laptop.
      
      So since this is a workaround for a DSDT issue on that specific model,
      instead of extending the whitelist over and over again, lets switch to
      a blacklist and only blacklist the chassis-type of the model for which
      the chassis-type check was added.
      
      Note this also fixes the current version of the code no longer checking
      if dmi_get_system_info(DMI_CHASSIS_TYPE) returns NULL.
      
      Fixes: 1fac39fd ("platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types")
      Cc: Mario Limonciello <mario.limonciello@dell.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NMario Limonciello <Mario.limonciello@dell.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      cfae58ed
  6. 12 5月, 2020 2 次提交
  7. 08 5月, 2020 5 次提交
  8. 10 2月, 2020 1 次提交
  9. 22 8月, 2019 1 次提交
  10. 09 8月, 2019 1 次提交
    • R
      intel-hid: intel-vbtn: Avoid leaking wakeup_mode set · 31eb8457
      Rafael J. Wysocki 提交于
      Both intel-hid and intel-vbtn set a wakeup_mode flag causing them
      to behave in a special way during system suspend and while suspended
      in their "prepare" PM callbacks and clear it in their "resume" PM
      callbacks.  That may cause the wakeup_mode flag to remain set after
      a system suspend failure (if some other driver's "suspend" callback
      returns an error before the "suspend" callback of either intel-hid
      or intel-vbtn is invoked).
      
      After commit 10a08fd6 ("ACPI: PM: Set up EC GPE for system wakeup
      from drivers that need it") that also affects the "wakeup mask" bit
      of the EC GPE, which may not be cleared after a failing system
      suspend.
      
      Fix this issue by adding "complete" PM callbacks to intel-hid and
      intel-vbtn to clear the wakeup_mode flag and the "wakeup mask" bit
      of the EC GPE if they have not been cleared earlier.
      
      Fixes: 10a08fd6 ("ACPI: PM: Set up EC GPE for system wakeup from drivers that need it")
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      31eb8457
  11. 30 7月, 2019 1 次提交
    • R
      ACPI: PM: Set up EC GPE for system wakeup from drivers that need it · 10a08fd6
      Rafael J. Wysocki 提交于
      The EC GPE needs to be set up for system wakeup only if there is a
      driver depending on it, either intel-hid or intel-vbtn, bound to a
      button device that is expected to wake up the system from sleep (such
      as the power button on some Dell systems, like the XPS13 9360).  It
      doesn't need to be set up for waking up the system from sleep in any
      other cases and whether or not it is expected to wake up the system
      from sleep doesn't depend on whether or not the LPS0 device is
      present in the ACPI namespace.
      
      For this reason, rearrange the ACPI suspend-to-idle code to make the
      drivers depending on the EC GPE wakeup take care of setting it up and
      decouple that from the LPS0 device handling.
      
      While at it, make intel-hid and intel-vbtn prepare for system wakeup
      only if they are allowed to wake up the system from sleep by user
      space (via sysfs).
      
      [Note that acpi_ec_mark_gpe_for_wake() and acpi_ec_set_gpe_wake_mask()
       are there to prevent the EC GPE from being disabled by the
       acpi_enable_all_wakeup_gpes() call in acpi_s2idle_prepare(), so on
       systems with either intel-hid or intel-vbtn this change doesn't
       affect any interactions with the hardware or platform firmware.]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      10a08fd6
  12. 12 6月, 2019 2 次提交
  13. 02 7月, 2018 1 次提交
  14. 01 3月, 2018 1 次提交
  15. 28 2月, 2018 1 次提交
  16. 26 2月, 2018 1 次提交
  17. 25 2月, 2018 1 次提交
  18. 01 2月, 2018 3 次提交
  19. 12 12月, 2017 1 次提交
  20. 09 12月, 2017 4 次提交
  21. 19 8月, 2017 1 次提交
  22. 06 8月, 2017 2 次提交
  23. 23 6月, 2017 1 次提交
  24. 25 4月, 2017 1 次提交
  25. 14 12月, 2016 2 次提交
  26. 10 11月, 2016 1 次提交