Commit b2ffa16a authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'acpi-x86', 'acpi-resources', 'acpi-scan' and 'acpi-misc'

Merge x86-specific ACPI updates, ACPI resources management updates,
one ACPI device enumeration update and miscellaneous ACPI updates for
5.16-rc1:

 - Avoid flushing caches before entering C3 type of idle states on
   AMD processors (Deepak Sharma).

 - Avoid enumerating CPUs that are not present and not online-capable
   according to the platform firmware (Mario Limonciello).

 - Add DMI-based mechanism to quirk IRQ overrides and use it for two
   platforms (Hui Wang).

 - Change the configuration of unused ACPI device objects to reflect
   the D3cold power state after enumerating devices (Rafael Wysocki).

 - Update MAINTAINERS information regarding ACPI (Rafael Wysocki).

 - Fix typo in ACPI Kconfig (Masanari Iid).

 - Use sysfs_emit() instead of snprintf() in some places (Qing Wang).

* acpi-x86:
  x86: ACPI: cstate: Optimize C3 entry on AMD CPUs
  x86/ACPI: Don't add CPUs that are not online capable
  ACPICA: Add support for MADT online enabled bit

* acpi-resources:
  ACPI: resources: Add one more Medion model in IRQ override quirk
  ACPI: resources: Add DMI-based legacy IRQ override quirk

* acpi-scan:
  ACPI: scan: Release PM resources blocked by unused objects

* acpi-misc:
  ACPI: replace snprintf() in "show" functions with sysfs_emit()
  ACPI: Update information in MAINTAINERS
  ACPI: Kconfig: Fix a typo in Kconfig
Loading
Loading
Loading
Loading
+2 −18
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ F: drivers/platform/x86/acer-wmi.c
ACPI
M:	"Rafael J. Wysocki" <rafael@kernel.org>
M:	Len Brown <lenb@kernel.org>
R:	Len Brown <lenb@kernel.org>
L:	linux-acpi@vger.kernel.org
S:	Supported
W:	https://01.org/linux-acpi
@@ -355,7 +355,7 @@ F: tools/power/acpi/
ACPI APEI
M:	"Rafael J. Wysocki" <rafael@kernel.org>
M:	Len Brown <lenb@kernel.org>
R:	Len Brown <lenb@kernel.org>
R:	James Morse <james.morse@arm.com>
R:	Tony Luck <tony.luck@intel.com>
R:	Borislav Petkov <bp@alien8.de>
@@ -378,14 +378,6 @@ F: drivers/acpi/acpica/
F:	include/acpi/
F:	tools/power/acpi/
ACPI FAN DRIVER
M:	Zhang Rui <rui.zhang@intel.com>
L:	linux-acpi@vger.kernel.org
S:	Supported
W:	https://01.org/linux-acpi
B:	https://bugzilla.kernel.org
F:	drivers/acpi/fan.c
ACPI FOR ARM64 (ACPI/arm64)
M:	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
M:	Hanjun Guo <guohanjun@huawei.com>
@@ -422,14 +414,6 @@ W: https://01.org/linux-acpi
B:	https://bugzilla.kernel.org
F:	drivers/acpi/*thermal*
ACPI VIDEO DRIVER
M:	Zhang Rui <rui.zhang@intel.com>
L:	linux-acpi@vger.kernel.org
S:	Supported
W:	https://01.org/linux-acpi
B:	https://bugzilla.kernel.org
F:	drivers/acpi/acpi_video.c
ACPI VIOT DRIVER
M:	Jean-Philippe Brucker <jean-philippe@linaro.org>
L:	linux-acpi@vger.kernel.org
+9 −0
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ int acpi_fix_pin2_polarity __initdata;

#ifdef CONFIG_X86_LOCAL_APIC
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
static bool acpi_support_online_capable;
#endif

#ifdef CONFIG_X86_IO_APIC
@@ -138,6 +139,8 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)

		pr_debug("Local APIC address 0x%08x\n", madt->address);
	}
	if (madt->header.revision >= 5)
		acpi_support_online_capable = true;

	default_acpi_madt_oem_check(madt->header.oem_id,
				    madt->header.oem_table_id);
@@ -239,6 +242,12 @@ acpi_parse_lapic(union acpi_subtable_headers * header, const unsigned long end)
	if (processor->id == 0xff)
		return 0;

	/* don't register processors that can not be onlined */
	if (acpi_support_online_capable &&
	    !(processor->lapic_flags & ACPI_MADT_ENABLED) &&
	    !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
		return 0;

	/*
	 * We need to register disabled CPU as well to permit
	 * counting disabled CPUs. This allows us to size
+15 −0
Original line number Diff line number Diff line
@@ -79,6 +79,21 @@ void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags,
		 */
		flags->bm_control = 0;
	}
	if (c->x86_vendor == X86_VENDOR_AMD && c->x86 >= 0x17) {
		/*
		 * For all AMD Zen or newer CPUs that support C3, caches
		 * should not be flushed by software while entering C3
		 * type state. Set bm->check to 1 so that kernel doesn't
		 * need to execute cache flush operation.
		 */
		flags->bm_check = 1;
		/*
		 * In current AMD C state implementation ARB_DIS is no longer
		 * used. So set bm_control to zero to indicate ARB_DIS is not
		 * required while entering C3 type state.
		 */
		flags->bm_control = 0;
	}
}
EXPORT_SYMBOL(acpi_processor_power_init_bm_check);

+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ config ACPI_DEBUGGER
if ACPI_DEBUGGER

config ACPI_DEBUGGER_USER
	tristate "Userspace debugger accessiblity"
	tristate "Userspace debugger accessibility"
	depends on DEBUG_FS
	help
	  Export /sys/kernel/debug/acpi/acpidbg for userspace utilities
+1 −1
Original line number Diff line number Diff line
@@ -750,7 +750,7 @@ static ssize_t lpss_ltr_show(struct device *dev, struct device_attribute *attr,
	if (ret)
		return ret;

	return snprintf(buf, PAGE_SIZE, "%08x\n", ltr_value);
	return sysfs_emit(buf, "%08x\n", ltr_value);
}

static ssize_t lpss_ltr_mode_show(struct device *dev,
Loading