[PATCH v8 0/7] Incorporate DRAM address in EDAC messages

From: Yazen Ghannam

Date: Mon Jul 27 2026 - 17:21:12 EST


Hi all,

This revision includes a larger ATL/PRM rework in order to have a single
translation helper. There are 6 UMC address translation PRM handlers
defined today in the AMD ACPI Porting Guide. With this set, we'll be
using 2 of them: NA->SPA and NA->DA. There's a use case for a third
translation: DA->SPA. This would be used to convert specific DA values
to an SPA for preventative actions like row retirement, etc. I'll do
that in a separate, future patch.

Address acronyms:
NA = Normalized Address
SPA = System Physical Address
DA = DRAM address

Also, the "function pointer registration" is back, since that is what
allows the library to be an optional config. I was reminded of this when
the following came up recently.

4c3da04827dc ("RAS/AMD/ATL, EDAC/amd64: Only load ATL when needed")

Patch 1
* Removes the AMD_ATL_PRM config option.
* New idea in this revision.

Patch 2
* Rework the PRM handler wrapper.
* Based on feedback from Boris.

Patches 3-5
* Bulk of the 'unified interface' rework.
* Suggested by Boris.
* Basically, a three step conversion:
* Patch 3 adds the new interface.
* Patch 4 switches users from old to new interface.
* Patch 5 deletes the old interface.

Patches 6-7
* Mostly the same "Add/use DRAM address translation".
* Updated to use the new interface.
* Minor formatting and miscellaneous changes.

Thanks,
Yazen

Cc: Avadhut Naik <avanaik92@xxxxxxxxx>

Link:
https://lore.kernel.org/20260630210640.680758-1-yazen.ghannam@xxxxxxx

Changes in v8:
- Drop "Directly export address translation helper".
- Merge the two PRM translation helpers into one. (Boris)
- Build the PRM support unconditionally and drop CONFIG_AMD_ATL_PRM.
- Formatting and other small changes.

Changes in v7:
- Drop fake_inject patch that was already accepted.
- Remove function pointers. (Boris).

Changes in v6:
- Remove fake_inject interface. (Boris)
- Add two more values to 'other_detail'.

Changes in v5:
- Address a comment from Sashiko in patch 2.

Changes in v4:
- Drop a "handler available" check in patch 1.
- Reword commit message in patch 2.
- Reformat string in patch 2.

Avadhut Naik (2):
RAS/AMD/ATL: Add DRAM address translation via PRM
EDAC/amd64: Include DRAM address in output

Yazen Ghannam (5):
RAS/AMD/ATL: Always build PRM address translation support
RAS/AMD/ATL: Refactor PRM address translation into a common helper
RAS/AMD/ATL: Add unified UMC address translation interface
RAS/AMD/ATL: Use unified interface for SPA translation
RAS/AMD/ATL: Remove the standalone SPA translation interface

drivers/edac/amd64_edac.c | 38 ++++++++++++++++++------
drivers/edac/amd64_edac.h | 2 ++
drivers/ras/amd/atl/Kconfig | 4 ---
drivers/ras/amd/atl/Makefile | 3 +-
drivers/ras/amd/atl/core.c | 4 +--
drivers/ras/amd/atl/internal.h | 13 ++-------
drivers/ras/amd/atl/prm.c | 30 +++++++------------
drivers/ras/amd/atl/system.c | 4 +++
drivers/ras/amd/atl/umc.c | 53 +++++++++++++++++++++++++++-------
drivers/ras/amd/fmpm.c | 10 +++----
drivers/ras/ras.c | 31 +++++++++-----------
include/linux/ras.h | 44 +++++++++++++++++++++++-----
12 files changed, 151 insertions(+), 85 deletions(-)


base-commit: 4020f22dccb18f04ace6c8481dddc01603d21173
--
2.53.0