Re: [PATCH] alpha: io: reorder barriers to guarantee writeX() and iowriteX() ordering #2

From: Sinan Kaya
Date: Fri Apr 20 2018 - 12:20:32 EST


Hi Matt,

On 4/17/2018 2:43 PM, Sinan Kaya wrote:
> On 4/16/2018 6:16 PM, Sinan Kaya wrote:
>> memory-barriers.txt has been updated with the following requirement.
>>
>> "When using writel(), a prior wmb() is not needed to guarantee that the
>> cache coherent memory writes have completed before writing to the MMIO
>> region."
>>
>> Current writeX() and iowriteX() implementations on alpha are not
>> satisfying this requirement as the barrier is after the register write.
>>
>> Move mb() in writeX() and iowriteX() functions to guarantee that HW
>> observes memory changes before performing register operations.
>>
>> Signed-off-by: Sinan Kaya <okaya@xxxxxxxxxxxxxx>
>> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> arch/alpha/kernel/io.c | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> Sorry for catching this late but this also needs to go to 4.17 after
> review.
>
> I missed the writel() implementation on arch/alpha/kernel/io.c file
> on my first patch.
>

Can you also queue this for 4.17?

There are already drivers checked into 4.17 that dropped the unnecessary
barriers.

I really hate to see Alpha broken because of this.

Sinan

--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html