[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180109162456.GB11471@sirena.org.uk>
Date: Tue, 9 Jan 2018 16:24:56 +0000
From: Mark Brown <broonie@...nel.org>
To: "Andrew F. Davis" <afd@...com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] regcache: flat: Add valid bit to this cache type
On Mon, Jan 08, 2018 at 10:46:58AM -0600, Andrew F. Davis wrote:
> On 01/08/2018 10:36 AM, Mark Brown wrote:
> > Users are supposed to ensure that the cache is fully initialized either
> > by supplying defaults or writing to all the registers. Adding reads is
> > problematic since we'd suddenly start reading from hardware which might
> > not like it.
> This does not appear documented anywhere, and is counter to the basic
> definition of how a cache should work.
That's a bit strong; we just used the supplied defaults from bss after
all! Feel free to contribute documentation.
> If the hardware does not like reads then the registers should be marked
> as not readable in their regmap config, if they don't do this then they
> need fixed, not the cache scheme.
If you have the time and enthusiasm to do the audit that ensures that
this happens then go for it; we can't just go and cause regressions for
users who have devices that are currently working fine even if it's only
by chance.
> For my device, I cannot know beforehand what is in some registers as
> they change from device to device, and if I do a read to find out it
> will *always* return 0 as this cache type is broken. Other types work as
> expected, fetching the real initial value. My only alternative is to
> turn off cache, read, turn on cache, write, then continue as before..
That's one of the expected mechanisms for drivers to use.
> > Sounds like a good thing to do an audit and contribute fixes for...
> My guess is most assumed what I did and they only got lucky as all their
> device registers were default 0 anyway. In which case the results before
> and after this patch will be the same.
If your guess right that'll be easy.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists