public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Mark Brown <broonie@kernel.org>,
	linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	DRI mailing list <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH v3 1/1] regmap: Synchronize cache for the page selector
Date: Tue, 28 Jan 2025 18:43:26 +0200	[thread overview]
Message-ID: <Z5kJLrE6xOzOKaeb@smile.fi.intel.com> (raw)
In-Reply-To: <6b4cba29-786c-4999-ac1d-27b3e4cea6f8@samsung.com>

On Tue, Jan 28, 2025 at 05:08:08PM +0100, Marek Szyprowski wrote:
> On 21.01.2025 14:29, Andy Shevchenko wrote:
> > On Tue, Jan 21, 2025 at 08:33:09AM +0100, Marek Szyprowski wrote:
> >> On 17.01.2025 18:28, Andy Shevchenko wrote:
> >>> On Fri, Jan 17, 2025 at 05:05:42PM +0100, Marek Szyprowski wrote:
> >>>
> >>> Does it fail in the same way?
> >> Yes, the hw revision is reported as zero in this case: LT9611 revision:
> >> 0x00.00.00
> > Hmm... This is very interesting! It means that the page selector is a bit
> > magical there. Dmitry, can you chime in and perhaps shed some light on this?
> >
> >>>> Does it mean that there is really a bug in the driver?
> >>> Without looking at the datasheet it's hard to say. At least what I found so far
> >>> is one page of the I²C traffic dump on Windows as an example how to use their
> >>> evaluation board and software, but it doesn't unveil the bigger picture. At
> >>> least what I think is going on here is that the programming is not so easy as
> >>> just paging. Something is more complicated there.
> >>>
> >>> But at least (and as Mark said) the most of the regmap based drivers got
> >>> the ranges wrong (so, at least there is one bug in the driver).
> >> I can do more experiments if this helps. Do you need a dump of all
> >> regmap accesses or i2c traffic from this driver?
> > It would be helpful! Traces from the failed and non-failed cases
> > till the firmware revision and chip ID reading would be enough to
> > start with.
> 
> I'm sorry for the delay, I was a bit busy with other stuff.

No problem and thanks for sharing.

> Here are logs (all values are in hex):
> 
> next-20250128 (probe broken):
> root@target:~# dmesg | grep regmap
> [   14.817604] regmap_write reg 80ee <- 1
> [   14.823036] regmap_read reg 8100 -> 0
> [   14.827631] regmap_read reg 8101 -> 0
> [   14.832130] regmap_read reg 8102 -> 0



> next-20250128 + 1fd60ed1700c reverted (probe okay):
> root@target:~# dmesg | grep regmap
> [   13.565920] regmap_write reg 80ee <- 1
> [   13.567509] regmap_read reg 8100 -> 17
> [   13.568219] regmap_read reg 8101 -> 4
> [   13.568909] regmap_read reg 8102 -> 93

Something is missing here. Like we have an identical start and an immediate
failure. If you did it via printk() approach, it's probably wrong as my patch
uses internal regmap function. Most likely you need to enable trace events
for regmap and collect those for let's say 2 seconds:

	echo 1 > ...trace events...
	modprobe ...
	sleep 2
	echo 0 > ...trace events...

and dump the buffer to a file. It might have though more than needed
as some other devices might also use regmap at the same time. I don't remember
if the trace events for regmap have a device instance name field which can be
used as a filter.

Alternatively you may also try to add a printk() into regmap core, but I don't
think it's more practical than trace events.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-01-28 16:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20250117135754eucas1p1a8558792f9475c2acc009e1ba20c7109@eucas1p1.samsung.com>
2025-01-16 12:42 ` [PATCH v3 1/1] regmap: Synchronize cache for the page selector Andy Shevchenko
2025-01-16 19:14   ` Mark Brown
2025-01-17 13:57   ` Marek Szyprowski
2025-01-17 14:09     ` Andy Shevchenko
2025-01-17 14:30       ` Andy Shevchenko
2025-01-17 15:50         ` Mark Brown
2025-01-17 16:05         ` Marek Szyprowski
2025-01-17 17:28           ` Andy Shevchenko
2025-01-21  7:33             ` Marek Szyprowski
2025-01-21 13:29               ` Andy Shevchenko
2025-01-28 16:08                 ` Marek Szyprowski
2025-01-28 16:43                   ` Andy Shevchenko [this message]
2025-01-29 15:07                     ` Andy Shevchenko
2025-01-29 17:50                       ` Marek Szyprowski
2025-01-29 21:19                         ` Mark Brown
2025-01-30  8:21                         ` Andy Shevchenko
2025-02-01 17:18                       ` Dmitry Baryshkov
2025-02-03  9:19                         ` Andy Shevchenko
2025-02-03 12:45                           ` Mark Brown
2025-02-03 13:07                             ` Andy Shevchenko
2025-01-17 15:58       ` Marek Szyprowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z5kJLrE6xOzOKaeb@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=dakr@kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox