Re: [PATCH RESEND v3] ACPI: Add memory semantics to acpi_os_map_memory()

From: Catalin Marinas
Date: Mon Aug 23 2021 - 08:31:04 EST


On Mon, Aug 23, 2021 at 11:46:18AM +0100, Lorenzo Pieralisi wrote:
> The memory attributes attached to memory regions depend on architecture
> specific mappings.
>
> For some memory regions, the attributes specified by firmware (eg
> uncached) are not sufficient to determine how a memory region should be
> mapped by an OS (for instance a region that is define as uncached in
> firmware can be mapped as Normal or Device memory on arm64) and
> therefore the OS must be given control on how to map the region to match
> the expected mapping behaviour (eg if a mapping is requested with memory
> semantics, it must allow unaligned accesses).
>
> Rework acpi_os_map_memory() and acpi_os_ioremap() back-end to split
> them into two separate code paths:
>
> acpi_os_memmap() -> memory semantics
> acpi_os_ioremap() -> MMIO semantics
>
> The split allows the architectural implementation back-ends to detect
> the default memory attributes required by the mapping in question
> (ie the mapping API defines the semantics memory vs MMIO) and map the
> memory accordingly.
>
> Link: https://lore.kernel.org/linux-arm-kernel/31ffe8fc-f5ee-2858-26c5-0fd8bdd68702@xxxxxxx
> Tested-by: Hanjun Guo <guohanjun@xxxxxxxxxx>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> Acked-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Hanjun Guo <guohanjun@xxxxxxxxxx>
> Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
> ---
> Resending with all lists CC'ed.
>
> Patch series is a v3 of a previous version[2]:
>
> v2->v3:
> - Dropped first two-patches following LKML feedback[2]
> v1->v2
> - Added patch 1 and 2 according to feedback received on[1]
>
> [1] https://lore.kernel.org/linux-acpi/20210726100026.12538-1-lorenzo.pieralisi@xxxxxxx
> [2] https://lore.kernel.org/linux-acpi/20210802152359.12623-1-lorenzo.pieralisi@xxxxxxx
>
> arch/arm64/include/asm/acpi.h | 3 +++
> arch/arm64/kernel/acpi.c | 19 ++++++++++++++++---
> drivers/acpi/osl.c | 23 ++++++++++++++++-------
> include/acpi/acpi_io.h | 8 ++++++++
> 4 files changed, 43 insertions(+), 10 deletions(-)

For arm64:

Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>

I presume this patch would go in via the acpi tree.

--
Catalin