Re: bug fix for registers debugfs file implementation [RFC]

From: Charles Keepax
Date: Thu Jun 08 2017 - 04:49:32 EST


On Wed, Jun 07, 2017 at 04:31:15PM -0700, noman pouigt wrote:
> On Mon, Apr 24, 2017 at 2:02 AM, Charles Keepax
> <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> >> > I'm also very surprised that this is failing for you as I know this code
> >> > has been fairly heavily exercised with devices with very large register
> >> > maps much larger than 4k and my own testing is mainly doing cats which
> >> > seemed to work last time I tried and should be iterating over the 4k
> >> > boundary... what's the actual failure mode? I'm guessing it's
> >>
> >> I have integrated Florida codec(wm8281) from cirrus and it has more than 4K registers. I could not dump more than 4K with the existing interface.
> >>
> >> Charles, are you able to dump all the registers?
> >>
> >
> > I seem to be able to dump all the registers just fine here (all
> > 500k of them). You say it only dumps 4k worth of registers then
> > just stops? What version of the kernel are you testing this
> > on? The test I just ran was on Linus's tree, is this an older
> > kernel or for-next?
> >
> > If its an older kernel are you perhaps missing one of these
>
> Using
> https://github.com/CirrusLogic/linux-drivers/tree/v3.18-arizona/drivers
>

I am able to dump all the registers if I merge in that branch
into my stock 3.18 setup here. My guess would be there must be
some vendor kernel excitement or something going on here. If you
can ping through a copy of your
drivers/base/regmap/regmap-debugfs.c I can have a look at that
see how it compares to mine.

But I suspect you might need to work through and work out where
it is bombing out in regmap_read_debugfs.

Thanks,
Charles