Skip to content

Commit e9f1cbc

Browse files
committed
Merge tag 'acpi-5.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more ACPI updates from Rafael Wysocki: "These include fixes of the recently introduced support for the Platform Runtime Mechanism (PRM) feature, a new backlight quirk, a suspend-to-idle wakeup fix for non-Intel platforms and a fix for the AMBA bus resource list in /proc/iomem. Specifics: - Fix up the recently added Platform Runtime Mechanism (PRM) support by correnting a couple of implementation mistakes in it and adding a Kconfig help text to describe it (Aubrey Li, Rafael Wysocki). - Add backlight quirk for Dell Vostro 3350 (Hans de Goede). - Avoid spurious wakeups from suspend-to-idle on non-Intel platforms by restricting special EC GPE handling to the Intel ones (Mario Limonciello). - Modify the AMBA bus support in ACPI to avoid adding using resource names in /proc/iomem (Liguang Zhang)" * tag 'acpi-5.14-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: 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 ACPI: PM: Only mark EC GPE for wakeup on Intel systems ACPI: video: Add quirk for the Dell Vostro 3350 ACPI: AMBA: Fix resource name in /proc/iomem
2 parents aef4226 + 166fdb4 commit e9f1cbc

File tree

6 files changed

+31
-6
lines changed

6 files changed

+31
-6
lines changed

drivers/acpi/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,3 +551,13 @@ config ACPI_PRMT
551551
bool "Platform Runtime Mechanism Support"
552552
depends on EFI && X86_64
553553
default y
554+
help
555+
Platform Runtime Mechanism (PRM) is a firmware interface exposing a
556+
set of binary executables that can be called from the AML interpreter
557+
or directly from device drivers.
558+
559+
Say Y to enable the AML interpreter to execute the PRM code.
560+
561+
While this feature is optional in principle, leaving it out may
562+
substantially increase computational overhead related to the
563+
initialization of some server systems.

drivers/acpi/acpi_amba.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ static int amba_handler_attach(struct acpi_device *adev,
7676
case IORESOURCE_MEM:
7777
if (!address_found) {
7878
dev->res = *rentry->res;
79+
dev->res.name = dev_name(&dev->dev);
7980
address_found = true;
8081
}
8182
break;

drivers/acpi/acpi_video.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,15 @@ static const struct dmi_system_id video_dmi_table[] = {
540540
DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V131"),
541541
},
542542
},
543+
{
544+
.callback = video_set_report_key_events,
545+
.driver_data = (void *)((uintptr_t)REPORT_BRIGHTNESS_KEY_EVENTS),
546+
.ident = "Dell Vostro 3350",
547+
.matches = {
548+
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
549+
DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3350"),
550+
},
551+
},
543552
/*
544553
* Some machines change the brightness themselves when a brightness
545554
* hotkey gets pressed, despite us telling them not to. In this case

drivers/acpi/bus.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,8 @@ static void acpi_bus_osc_negotiate_platform_control(void)
304304

305305
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
306306
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PCLPI_SUPPORT;
307-
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PRM_SUPPORT;
307+
if (IS_ENABLED(CONFIG_ACPI_PRMT))
308+
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PRM_SUPPORT;
308309

309310
#ifdef CONFIG_ARM64
310311
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT;

drivers/acpi/x86/s2idle.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -417,11 +417,15 @@ static int lps0_device_attach(struct acpi_device *adev,
417417
mem_sleep_current = PM_SUSPEND_TO_IDLE;
418418

419419
/*
420-
* Some LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U, require the
421-
* EC GPE to be enabled while suspended for certain wakeup devices to
422-
* work, so mark it as wakeup-capable.
420+
* Some Intel based LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U don't
421+
* use intel-hid or intel-vbtn but require the EC GPE to be enabled while
422+
* suspended for certain wakeup devices to work, so mark it as wakeup-capable.
423+
*
424+
* Only enable on !AMD as enabling this universally causes problems for a number
425+
* of AMD based systems.
423426
*/
424-
acpi_ec_mark_gpe_for_wake();
427+
if (!acpi_s2idle_vendor_amd())
428+
acpi_ec_mark_gpe_for_wake();
425429

426430
return 0;
427431
}

include/linux/acpi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,8 +554,8 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
554554
#define OSC_SB_OSLPI_SUPPORT 0x00000100
555555
#define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000
556556
#define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000
557-
#define OSC_SB_PRM_SUPPORT 0x00020000
558557
#define OSC_SB_NATIVE_USB4_SUPPORT 0x00040000
558+
#define OSC_SB_PRM_SUPPORT 0x00200000
559559

560560
extern bool osc_sb_apei_support_acked;
561561
extern bool osc_pc_lpi_support_confirmed;

0 commit comments

Comments
 (0)