Re: AW: AW: [PATCH] clocksource: rtl-otto: Change driver to use __raw reads and writes

From: Rustam Adilov

Date: Fri May 15 2026 - 14:21:48 EST


On 2026-05-15 17:18, markus.stockhausen@xxxxxx wrote:
>> Von: Rustam Adilov <adilov@xxxxxxxxxxx>
>> Gesendet: Freitag, 15. Mai 2026 16:33
>> An: markus.stockhausen@xxxxxx
>> Betreff: Re: AW: [PATCH] clocksource: rtl-otto: Change driver to use __raw
> reads and writes
>> ...
>> > IIRC the current functions use memory barriers while the
>> > new ones do not. Timers are critical and cost me a lot
>> > of time in the past [1]. We nearly lost support for several
>> > devices last year. So I like to have at least some stability
>> > confirmation from downstream.
>>
>> As far as i can see, if you untangle the the BUILDIO_MEM(l, u32) in [1]
>> you should see they do have barriers as denoted by barrier argument being
> set.
>> So that means, in MIPS, both readl/writel are the same as their __raw
> variants.
>> And both ioread32/iowrite32 are using readl/writel under the hood so...
>
> Hi,
>
> will the __relaxed functions serve your IO_SWAP scenario too?
>
> Markus

Not really because the readl_relaxed and readl appear to be both mapped to ioswabl
which changes behavior as per IO_SWAP config [1].

[1] - https://elixir.bootlin.com/linux/v7.0.6/source/arch/mips/include/asm/io.h#L49