[PATCH] spi: imx: correct handling of MXC_CSPIRXDATA value endianness
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri May 26 07:12:46 PDT 2023
On 26.05.23 16:09, Ahmad Fatoum wrote:
>> - writel(val, spi_imx->base + MXC_CSPITXDATA);
>> + __raw_writel((__force u32)cpu_to_be32(val),
>> + spi_imx->base + MXC_CSPITXDATA);
>> }
On more thing: __raw_writel doesn't involve a write barrier (at least
on ARM). That means above code introduces a bug as the CPU may now reorder
writes that were sequential before. Both iowrite32be() and readl()
have a __iowmb(); on ARM before doing the write itself.
>>
>> /* MX51 eCSPI */
>>
>>
>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list