Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

Merge branches 'acpi-pmic', 'acpi-apei' and 'acpi-x86'

* acpi-pmic:
  ACPI / PMIC: Add TI PMIC TPS68470 operation region driver

* acpi-apei:
  APEI / ERST: use 64-bit timestamps
  ACPI / APEI: Remove arch_apei_flush_tlb_one()
  arm64: mm: Remove arch_apei_flush_tlb_one()
  ACPI / APEI: Remove ghes_ioremap_area
  ACPI / APEI: Replace ioremap_page_range() with fixmap
  ACPI / APEI: remove the unused dead-code for SEA/NMI notification type
  ACPI / APEI: adjust a local variable type in ghes_ioremap_pfn_irq()

* acpi-x86:
  ACPI / x86: Extend KIOX000A quirk to cover all affected BIOS versions
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -126,18 +126,6 @@ static inline const char *acpi_get_enable_method(int cpu)
 */
#define acpi_disable_cmcff 1
pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr);

/*
 * Despite its name, this function must still broadcast the TLB
 * invalidation in order to ensure other CPUs don't end up with junk
 * entries as a result of speculation. Unusually, its also called in
 * IRQ context (ghes_iounmap_irq) so if we ever need to use IPIs for
 * TLB broadcasting, then we're in trouble here.
 */
static inline void arch_apei_flush_tlb_one(unsigned long addr)
{
	flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
}
#endif /* CONFIG_ACPI_APEI */

#ifdef CONFIG_ACPI_NUMA
+7 −0
Original line number Diff line number Diff line
@@ -51,6 +51,13 @@ enum fixed_addresses {

	FIX_EARLYCON_MEM_BASE,
	FIX_TEXT_POKE0,

#ifdef CONFIG_ACPI_APEI_GHES
	/* Used for GHES mapping from assorted contexts */
	FIX_APEI_GHES_IRQ,
	FIX_APEI_GHES_NMI,
#endif /* CONFIG_ACPI_APEI_GHES */

	__end_of_permanent_fixed_addresses,

	/*
+4 −0
Original line number Diff line number Diff line
@@ -778,6 +778,10 @@ void __init early_fixmap_init(void)
	}
}

/*
 * Unusually, this is also called in IRQ context (ghes_iounmap_irq) so if we
 * ever need to use IPIs for TLB broadcasting, then we're in trouble here.
 */
void __set_fixmap(enum fixed_addresses idx,
			       phys_addr_t phys, pgprot_t flags)
{
+6 −0
Original line number Diff line number Diff line
@@ -104,6 +104,12 @@ enum fixed_addresses {
	FIX_GDT_REMAP_BEGIN,
	FIX_GDT_REMAP_END = FIX_GDT_REMAP_BEGIN + NR_CPUS - 1,

#ifdef CONFIG_ACPI_APEI_GHES
	/* Used for GHES mapping from assorted contexts */
	FIX_APEI_GHES_IRQ,
	FIX_APEI_GHES_NMI,
#endif

	__end_of_permanent_fixed_addresses,

	/*
+0 −5
Original line number Diff line number Diff line
@@ -52,8 +52,3 @@ void arch_apei_report_mem_error(int sev, struct cper_sec_mem_err *mem_err)
	apei_mce_report_mem_error(sev, mem_err);
#endif
}

void arch_apei_flush_tlb_one(unsigned long addr)
{
	__flush_tlb_one(addr);
}
Loading