[PATCH] powerpc/rtas: use correct function name for resetting TCE tables
Nathan Lynch
nathanl at linux.ibm.com
Sat Feb 24 03:46:06 AEDT 2024
Michael Ellerman <mpe at ellerman.id.au> writes:
> Nathan Lynch via B4 Relay <devnull+nathanl.linux.ibm.com at kernel.org>
> writes:
>> From: Nathan Lynch <nathanl at linux.ibm.com>
>>
>> The PAPR spec spells the function name as
>>
>> "ibm,reset-pe-dma-windows"
>>
>> but in practice firmware uses the singular form:
>
> Just to be clear, you're talking about IBM firmware on PowerVM
> machines.
Yes, although I did check Qemu too.
>> diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
>> index 7e793b503e29..8064d9c3de86 100644
>> --- a/arch/powerpc/kernel/rtas.c
>> +++ b/arch/powerpc/kernel/rtas.c
>> @@ -375,8 +375,13 @@ static struct rtas_function rtas_function_table[] __ro_after_init = {
>> [RTAS_FNIDX__IBM_REMOVE_PE_DMA_WINDOW] = {
>> .name = "ibm,remove-pe-dma-window",
>> },
>> - [RTAS_FNIDX__IBM_RESET_PE_DMA_WINDOWS] = {
>> - .name = "ibm,reset-pe-dma-windows",
>> + [RTAS_FNIDX__IBM_RESET_PE_DMA_WINDOW] = {
>> + /*
>> + * Note: PAPR+ v2.13 7.3.31.4.1 spells this as
>> + * "ibm,reset-pe-dma-windows" (plural), but RTAS
>> + * implementations use the singular form in practice.
>> + */
>> + .name = "ibm,reset-pe-dma-window",
>
> Qemu also spells it that way:
>
> $ grep -C 12 ibm,reset-pe-dma-window hw/ppc/spapr_rtas_ddw.c
> static void spapr_rtas_ddw_init(void)
> {
> spapr_rtas_register(RTAS_IBM_QUERY_PE_DMA_WINDOW,
> "ibm,query-pe-dma-window",
> rtas_ibm_query_pe_dma_window);
> spapr_rtas_register(RTAS_IBM_CREATE_PE_DMA_WINDOW,
> "ibm,create-pe-dma-window",
> rtas_ibm_create_pe_dma_window);
> spapr_rtas_register(RTAS_IBM_REMOVE_PE_DMA_WINDOW,
> "ibm,remove-pe-dma-window",
> rtas_ibm_remove_pe_dma_window);
> spapr_rtas_register(RTAS_IBM_RESET_PE_DMA_WINDOW,
> "ibm,reset-pe-dma-window",
> rtas_ibm_reset_pe_dma_window);
> }
>
> There's no version in SLOF, it delegates to Qemu.
>
> The old platforms that use RTAS won't implement this call at all, so
> there's no issue with the naming there.
Thanks for checking. I've added SLOF to my checklist for things like
this.
More information about the Linuxppc-dev
mailing list