Messages in this thread | | | Date | Tue, 19 Sep 2023 16:55:29 +0200 | From | Wolfram Sang <> | Subject | Re: [PATCH v2] i2c: designware: Fix corrupted memory seen in the ISR |
| |
> OK, since it ends up with the *_relaxed() accessors, there are no > barriers here. I wonder whether the regmap API should have both standard > and relaxed variants. If a regmap driver does not populate the > .reg_write_relaxed etc. members, a regmap_write_relaxed() would just > fall back to regmap_write(). > > We went through similar discussions many years ago around the I/O > accessors and decided to add the barriers to readl/writel() even if they > become more expensive, correctness should be first. The relaxed variants > were added as optimisations if specific memory ordering was not > required. I think the regmap API should follow the same semantics, go > for correctness first as you can't tell what the side-effect of a > regmap_write() is (e.g. kicking off DMA or causing an interrupt on > another CPU).
Again, I am all with Catalin here. Safety first, optimizations a la *_relaxed should be opt-in.
[unhandled content-type:application/pgp-signature]
| |