On Fri, Jul 23, 2021 at 06:07:44PM +0200, Arnd Bergmann wrote: > There is also a problem with locking: In the case that both firmware and > kernel have to access registers within a syscon area, you may need to > have a semaphore to protect an atomic sequence of accesses, but since > the interface only provides a single register load/store, there is no way for > a kernel driver to serialize against a firmware-internal driver. The standard solution to this for the read/modify/write case would be to expose an explicit update_bits() operation (some hardware does this for concurrency and/or bus bandwidth/latency reasons), though that doesn't help with larger or multi-register sequences (and to be clear as I've been saying I don't think we should do this at all).
Attachment:
signature.asc
Description: PGP signature