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

Yazen Ghannam <[email protected]> Mon, 27 Jul 2026 17:20:38 -0400
Newsgroups org.kernel.vger.linux-edac,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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 <[email protected]>

Link:
https://lore.kernel.org/[email protected]

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