> 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.
Attachment:
signature.asc
Description: PGP signature