AW: AW: AW: [PATCH] clocksource: rtl-otto: Change driver to use __raw reads and writes
From: markus.stockhausen
Date: Fri May 15 2026 - 14:45:16 EST
> Von: Rustam Adilov <adilov@xxxxxxxxxxx>
> Gesendet: Freitag, 15. Mai 2026 20:21
> An: markus.stockhausen@xxxxxx
> Betreff: Re: AW: AW: [PATCH] clocksource: rtl-otto: Change driver to use
__raw reads and writes
>
> 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].
My two cents regarding the real issue behind this discussion.
I'm still convinced that CONFIG_SWAP_IO_SPACE is not the
right way to get an USB driver working. Rewriting every other
driver around that just feels wrong.
Coming back to this. If it produces the same assembler code
for the big endian Realtek Otto platform then I'm ok with this.
I expect an immediate downstream backport if it gets
accepted upstream.
Markus