1. 16 6月, 2021 2 次提交
  2. 19 5月, 2021 1 次提交
    • H
      platform/x86: intel_int0002_vgpio: Only call enable_irq_wake() when using s2idle · b68e182a
      Hans de Goede 提交于
      Commit 871f1f2b ("platform/x86: intel_int0002_vgpio: Only implement
      irq_set_wake on Bay Trail") stopped passing irq_set_wake requests on to
      the parents IRQ because this was breaking suspend (causing immediate
      wakeups) on an Asus E202SA.
      
      This workaround for the Asus E202SA is causing wakeup by USB keyboard to
      not work on other devices with Airmont CPU cores such as the Medion Akoya
      E1239T. In hindsight the problem with the Asus E202SA has nothing to do
      with Silvermont vs Airmont CPU cores, so the differentiation between the
      2 types of CPU cores introduced by the previous fix is wrong.
      
      The real issue at hand is s2idle vs S3 suspend where the suspend is
      mostly handled by firmware. The parent IRQ for the INT0002 device is shared
      with the ACPI SCI and the real problem is that the INT0002 code should not
      be messing with the wakeup settings of that IRQ when suspend/resume is
      being handled by the firmware.
      
      Note that on systems which support both s2idle and S3 suspend, which
      suspend method to use can be changed at runtime.
      
      This patch fixes both the Asus E202SA spurious wakeups issue as well as
      the wakeup by USB keyboard not working on the Medion Akoya E1239T issue.
      
      These are both fixed by replacing the old workaround with delaying the
      enable_irq_wake(parent_irq) call till system-suspend time and protecting
      it with a !pm_suspend_via_firmware() check so that we still do not call
      it on devices using firmware-based (S3) suspend such as the Asus E202SA.
      
      Note rather then adding #ifdef CONFIG_PM_SLEEP, this commit simply adds
      a "depends on PM_SLEEP" to the Kconfig since this drivers whole purpose
      is to deal with wakeup events, so using it without CONFIG_PM_SLEEP makes
      no sense.
      
      Cc: Maxim Mikityanskiy <maxtram95@gmail.com>
      Fixes: 871f1f2b ("platform/x86: intel_int0002_vgpio: Only implement irq_set_wake on Bay Trail")
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Reviewed-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Link: https://lore.kernel.org/r/20210512125523.55215-2-hdegoede@redhat.com
      b68e182a
  3. 21 4月, 2021 1 次提交
  4. 13 4月, 2021 1 次提交
  5. 08 4月, 2021 1 次提交
  6. 24 3月, 2021 2 次提交
  7. 08 3月, 2021 2 次提交
  8. 24 2月, 2021 1 次提交
  9. 05 2月, 2021 1 次提交
  10. 04 2月, 2021 2 次提交
  11. 03 2月, 2021 4 次提交
  12. 26 1月, 2021 5 次提交
  13. 26 11月, 2020 1 次提交
  14. 09 11月, 2020 1 次提交
  15. 04 11月, 2020 3 次提交
  16. 28 10月, 2020 1 次提交
  17. 27 10月, 2020 4 次提交
  18. 24 9月, 2020 2 次提交
  19. 16 7月, 2020 1 次提交
  20. 10 7月, 2020 1 次提交
    • H
      platform/x86: Add new intel_atomisp2_led driver · 4b2d688f
      Hans de Goede 提交于
      Many Bay Trail and Cherry Trail devices come with a camera attached to
      Intel's Image Signal Processor. Linux currently does not have a driver for
      these, so they do not work as a camera.
      
      Some of these camera's have a status LED which is controlled through a GPIO
      in some cases, e.g. on the Asus T100TA and Asus T200TA, there is a firmware
      issue where the LED gets turned on at boot.
      
      This commit adds a Linux LED driver for the camera LED on these devices.
      This driver will turn the LED off at boot and also allows controlling the
      LED (so the user can repurpose it) through the sysfs LED interface.
      
      Which GPIO is attached to the LED is usually not described in the ACPI
      tables, so this driver contains per-system info about the GPIO inside the
      driver. This means that this driver only works on systems the driver knows
      about.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      4b2d688f
  21. 14 6月, 2020 1 次提交
    • M
      treewide: replace '---help---' in Kconfig files with 'help' · a7f7f624
      Masahiro Yamada 提交于
      Since commit 84af7a61 ("checkpatch: kconfig: prefer 'help' over
      '---help---'"), the number of '---help---' has been gradually
      decreasing, but there are still more than 2400 instances.
      
      This commit finishes the conversion. While I touched the lines,
      I also fixed the indentation.
      
      There are a variety of indentation styles found.
      
        a) 4 spaces + '---help---'
        b) 7 spaces + '---help---'
        c) 8 spaces + '---help---'
        d) 1 space + 1 tab + '---help---'
        e) 1 tab + '---help---'    (correct indentation)
        f) 1 tab + 1 space + '---help---'
        g) 1 tab + 2 spaces + '---help---'
      
      In order to convert all of them to 1 tab + 'help', I ran the
      following commend:
      
        $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      a7f7f624
  22. 20 5月, 2020 1 次提交
  23. 06 5月, 2020 1 次提交
    • J
      platform/x86: Add Slim Bootloader firmware update signaling driver · 2d30fcdd
      Jithu Joseph 提交于
      Slim Bootloader(SBL) is a small open-source boot firmware,
      designed for running on certain Intel platforms. SBL can be
      thought-of as fulfilling the role of a minimal BIOS
      implementation, i.e initializing the hardware and booting
      Operating System.
      
      Since SBL is not UEFI compliant, firmware update cannot be triggered
      using standard UEFI runtime services. Further considering performance
      impact, SBL doesn't look for a firmware update image on every reset
      and does so only when firmware update signal is asserted.
      
      SBL exposes an ACPI-WMI device which comes up in sysfs as
      /sys/bus/wmi/44FADEB1xxx and this driver adds a
      "firmware_update_request" device attribute. This attribute normally
      has a value of 0 and userspace can signal SBL to update firmware,
      on next reboot, by writing a value of 1 like:
      
      echo 1 > /sys/bus/wmi/devices/44FADEB1xxx/firmware_update_request
      
      This driver only implements a signaling mechanism, the actual firmware
      update process and various details like firmware update image format,
      firmware image location etc are defined by SBL and are not in the
      scope of this driver.
      
      DocLink: https://slimbootloader.github.io/security/firmware-update.htmlSigned-off-by: NJithu Joseph <jithu.joseph@intel.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      2d30fcdd