Merge branches 'acpi-misc', 'acpi-video' and 'acpi-prm'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 7 Jul 2021 18:18:11 +0000 (20:18 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 7 Jul 2021 18:18:11 +0000 (20:18 +0200)
* acpi-misc:
  ACPI: AMBA: Fix resource name in /proc/iomem

* acpi-video:
  ACPI: video: Add quirk for the Dell Vostro 3350

* acpi-prm:
  ACPI: Do not singal PRM support if not enabled
  ACPI: Correct \_SB._OSC bit definition for PRM
  ACPI: Kconfig: Provide help text for the ACPI_PRMT option

drivers/acpi/Kconfig
drivers/acpi/acpi_amba.c
drivers/acpi/bus.c
drivers/acpi/x86/s2idle.c
include/linux/acpi.h

index 3972de7..3fec025 100644 (file)
@@ -548,3 +548,13 @@ config ACPI_PRMT
        bool "Platform Runtime Mechanism Support"
        depends on EFI && X86_64
        default y
+       help
+         Platform Runtime Mechanism (PRM) is a firmware interface exposing a
+         set of binary executables that can be called from the AML interpreter
+         or directly from device drivers.
+
+         Say Y to enable the AML interpreter to execute the PRM code.
+
+         While this feature is optional in principle, leaving it out may
+         substantially increase computational overhead related to the
+         initialization of some server systems.
index 49b781a..ab8a4e0 100644 (file)
@@ -76,6 +76,7 @@ static int amba_handler_attach(struct acpi_device *adev,
                case IORESOURCE_MEM:
                        if (!address_found) {
                                dev->res = *rentry->res;
+                               dev->res.name = dev_name(&dev->dev);
                                address_found = true;
                        }
                        break;
index 60fb6a8..384b645 100644 (file)
@@ -303,7 +303,8 @@ static void acpi_bus_osc_negotiate_platform_control(void)
 
        capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
        capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PCLPI_SUPPORT;
-       capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PRM_SUPPORT;
+       if (IS_ENABLED(CONFIG_ACPI_PRMT))
+               capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PRM_SUPPORT;
 
 #ifdef CONFIG_ARM64
        capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT;
index 816bf2c..1c50780 100644 (file)
@@ -417,11 +417,15 @@ static int lps0_device_attach(struct acpi_device *adev,
                mem_sleep_current = PM_SUSPEND_TO_IDLE;
 
        /*
-        * Some LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U, require the
-        * EC GPE to be enabled while suspended for certain wakeup devices to
-        * work, so mark it as wakeup-capable.
+        * Some Intel based LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U don't
+        * use intel-hid or intel-vbtn but require the EC GPE to be enabled while
+        * suspended for certain wakeup devices to work, so mark it as wakeup-capable.
+        *
+        * Only enable on !AMD as enabling this universally causes problems for a number
+        * of AMD based systems.
         */
-       acpi_ec_mark_gpe_for_wake();
+       if (!acpi_s2idle_vendor_amd())
+               acpi_ec_mark_gpe_for_wake();
 
        return 0;
 }
index 98e0f20..0bbdf44 100644 (file)
@@ -551,8 +551,8 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
 #define OSC_SB_OSLPI_SUPPORT                   0x00000100
 #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT                0x00001000
 #define OSC_SB_GENERIC_INITIATOR_SUPPORT       0x00002000
-#define OSC_SB_PRM_SUPPORT                     0x00020000
 #define OSC_SB_NATIVE_USB4_SUPPORT             0x00040000
+#define OSC_SB_PRM_SUPPORT                     0x00200000
 
 extern bool osc_sb_apei_support_acked;
 extern bool osc_pc_lpi_support_confirmed;