Skip to content

ACPI / osl: Cleans up acpi_get_table_with_size()/early_acpi_os_unmap_memory()

Lv Zheng linux-acpi linux-nvdimm lkml nvdimm 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v3 Latest4 patches 0 repliesNew

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4ACPICA: Tables: Back port acpi_get_table_with_size() and early_acpi_os_unmap_memory() from Linux kerneldrivers/acpi/acpica/actables.h drivers/acpi/acpica/tbutils.c drivers/acpi/acpica/tbxface.c +4 more+220 -540 replies
2/4ACPICA: Tables: Allow FADT to be customized with virtual addressdrivers/acpi/acpica/tbfadt.c+7 -70 replies
3/4ACPI / osl: Remove acpi_get_table_with_size()/early_acpi_os_unmap_memory() usersarch/arm64/kernel/acpi.c drivers/acpi/nfit/core.c drivers/acpi/processor_core.c +7 more+29 -420 replies
4/4ACPI / osl: Remove deprecated acpi_get_table_with_size()/early_acpi_os_unmap_memory()arch/arm64/include/asm/acpi.h drivers/acpi/bus.c drivers/acpi/osl.c +2 more+9 -600 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/4] ACPI / osl: Cleans up acpi_get_table_with_size()/early_acpi_os_unmap_memory()

acpi_get_table_with_size() is invented to be a replacement of acpi_get_table() during the early stage so that the early mapped pointer will not be stored in ACPICA core (acpi_get_table() forces to do so) and thus the late stage acpi_get_table() won't return a wrong stored pointer.

Since there is early_acpi_os_unmap_memory() required to be invoked as a reversal of acpi_get_table_with_size(), ACPICA can provide acpi_put_table() to achieve the same purpose. As long as all early stage acpi_get_table() calls are paired by early stage acpi_put_table() calls, mappings should be released before entering the late stage. And the late stage acpi_get_table() calls will map the table using a late stage ioremap mechanism.

This patchset cleans up the old APIs and reduces divergences between Linux and ACPICA upstream.

Lv Zheng (4):
ACPICA: Tables: Back port acpi_get_table_with_size() and
early_acpi_os_unmap_memory() from Linux kernel
ACPICA: Tables: Allow FADT to be customized with virtual address ACPI / osl: Remove
acpi_get_table_with_size()/early_acpi_os_unmap_memory() users
ACPI / osl: Remove deprecated
acpi_get_table_with_size()/early_acpi_os_unmap_memory()

 arch/arm64/include/asm/acpi.h            |    2 +-
 arch/arm64/kernel/acpi.c                 |    7 +-
 drivers/acpi/acpica/actables.h           |    6 ++
 drivers/acpi/acpica/tbfadt.c             |   14 ++--
 drivers/acpi/acpica/tbutils.c            |   85 +++++++++++++++++++
 drivers/acpi/acpica/tbxface.c            |  130 +++++++++++++++++++-----------
 drivers/acpi/bus.c                       |    2 +-
 drivers/acpi/nfit/core.c                 |    3 +-
 drivers/acpi/osl.c                       |   15 ++--
 drivers/acpi/processor_core.c            |    8 +-
 drivers/acpi/spcr.c                      |    8 +-
 drivers/acpi/tables.c                    |   17 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c |    3 +-
 drivers/gpu/drm/radeon/radeon_bios.c     |    3 +-
 drivers/iommu/amd_iommu_init.c           |   10 +--
 drivers/iommu/dmar.c                     |    7 +-
 drivers/mailbox/pcc.c                    |    5 +-
 include/acpi/acpi_io.h                   |    2 +
 include/acpi/acpixf.h                    |   17 ++--
 include/acpi/actbl.h                     |    1 +
 include/acpi/platform/aclinuxex.h        |    1 -
 21 files changed, 224 insertions(+), 122 deletions(-)
Signature · 1 line
1.7.10