Messages in this thread Patch in this message |  | | Date | Tue, 4 Aug 2026 22:19:17 -0700 | | From | Borislav Petkov <> | | Subject | Re: [PATCH v9 2/7] RAS/AMD/ATL: Refactor PRM address translation into a common helper |
| |
On Thu, Jul 30, 2026 at 03:48:29PM -0400, Yazen Ghannam wrote: > Every PRM address translation follows the same pattern. Each fills a > parameter buffer, invokes the handler, and checks the result. Only the > handler GUID and the output buffer differ. > > Factor the common sequence into prm_umc_norm_to_addr().
And here your commit message ends. The rest is describing the diff.
> -unsigned long prm_umc_norm_to_sys_addr(u8 socket_id, u64 bank_id, unsigned long addr) > +int prm_umc_norm_to_addr(guid_t guid, u8 socket_id, u64 bank_id, > + unsigned long addr, void *out_buf)
So if you're going to have a param buffer structure, you might as well use it:
diff --git a/drivers/ras/amd/atl/prm.c b/drivers/ras/amd/atl/prm.c index 3d5a6f5ae0a9..726464f31e10 100644 --- a/drivers/ras/amd/atl/prm.c +++ b/drivers/ras/amd/atl/prm.c @@ -26,18 +26,11 @@ struct param_buf { void *out_buf; } __packed; -int prm_umc_norm_to_addr(guid_t guid, u8 socket_id, u64 bank_id, - unsigned long addr, void *out_buf) +static int __prm_umc_norm_to_addr(guid_t guid, struct param_buf *p) { - struct param_buf p_buf; int ret; - p_buf.norm_addr = addr; - p_buf.socket = socket_id; - p_buf.bank_id = bank_id; - p_buf.out_buf = out_buf; - - ret = acpi_call_prm_handler(guid, &p_buf); + ret = acpi_call_prm_handler(guid, p); if (!ret) return 0; @@ -52,9 +45,15 @@ int prm_umc_norm_to_addr(guid_t guid, u8 socket_id, u64 bank_id, unsigned long prm_umc_norm_to_sys_addr(u8 socket_id, u64 bank_id, unsigned long addr) { unsigned long sys_addr; + struct param_buf p_buf = { + .norm_addr = addr, + .socket = socket_id, + .bank_id = bank_id, + .out_buf = &sys_addr, + }; int ret; - ret = prm_umc_norm_to_addr(norm_to_sys_guid, socket_id, bank_id, addr, &sys_addr); + ret = __prm_umc_norm_to_addr(norm_to_sys_guid, &p_buf); if (ret) return ret; -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette
|  |