[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <11e8dd92e07674133d8a291cc016c314.sboyd@kernel.org>
Date: Thu, 18 Jul 2024 12:29:13 -0700
From: Stephen Boyd <sboyd@...nel.org>
To: Jan Dakinevich <jan.dakinevich@...utedevices.com>, Jerome Brunet <jbrunet@...libre.com>
Cc: Philipp Zabel <p.zabel@...gutronix.de>, Neil Armstrong <neil.armstrong@...aro.org>, linux-kernel@...r.kernel.org, linux-amlogic@...ts.infradead.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH 1/8] reset: amlogic: convert driver to regmap
Quoting Jan Dakinevich (2024-07-18 04:01:28)
>
>
> On 7/18/24 10:19, Jerome Brunet wrote:
> > On Thu 18 Jul 2024 at 05:39, Jan Dakinevich <jan.dakinevich@...utedevices.com> wrote:
> >> and using of regmap_write() (apparently) fixes it.
> >
> > Nor does that conclusion.
> > > It is perfectly possible I have made mistake somewhere (I have already
> > fixed one in v2), but sending incomplete report like this, with
> > unargumented conclusion is just noise in the end.
> >
> > No, there is no situation in which `regmap_write` would solve a problem
> > with `regmap_update_bits`.
> >
>
> What is the default regs' value of this reset controller? The doc that I
> have doesn't clearly specifies it, but it tells that "the reset will
> auto-cover to 0 by HW". However pr_info() say that there is 0xffffffff
> before write (I am talking about A1).
>
> Also we know, that reset is triggered by writing 1 to specific bit. So,
> what will happen if 1 will be written where we did not intend to write it?
>
> > Either send a full analysis of the problem you found, if you did one, or
> > at least send the full dump, explaining that you don't know what is
> > happening.
> >
>
> Full analysis is following:
> - using regmap_update_bits() instead of writel() is incorrect because
> this changes the behavior of the driver
> - regmap_update_bits() should not be used here because default value of
> regs isn't taken into account and (_apparently_, the doc is terse) these
> regs could be updated by hw itself.
Maybe use regmap_write_bits() instead.
Powered by blists - more mailing lists