Re: [PATCH v2] i2c: designware: Fix corrupted memory seen in the ISR

From: Jan Bottorff
Date: Mon Oct 30 2023 - 20:12:15 EST


On 10/26/2023 4:18 AM, Wolfram Sang wrote:
So, someone wants to come up with a patch to move to non-relaxed io
accessors?

Is the current thinking to just make writes to DW_IC_INTR_MASK use the non-relaxed variant or something more broad?

From a safest functioning viewpoint, we talked about making all accessors default to non-relaxed variants. A couple of pretty good arguments from knowledgeable people favored this. I know there also was some concerns about potential performance impact this might have although the counter argument was this is a pretty low speed device so some extra cpu cycles on register accesses were not likely to degrade overall performance.

I could make the patch if we have consensus (or maintainers decision) on which way to go: 1) only writes to DW_IC_INTR_MASK are non-relaxed, 2) make all read/write accessors use the non-relaxed version.

I'm personally in camp #2, safety first, performance fine tuning later if needed. Latent missing barrier bugs are difficult and time consuming to find.

- Jan