From: Tony Lindgren <tony@atomide.com>
To: Julien Panis <jpanis@baylibre.com>
Cc: linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org,
vigneshr@ti.com
Subject: Re: [PATCH] bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset()
Date: Tue, 22 Aug 2023 12:27:44 +0300 [thread overview]
Message-ID: <20230822092744.GT11676@atomide.com> (raw)
In-Reply-To: <20230821-fix-ti-sysc-reset-v1-1-5a0a5d8fae55@baylibre.com>
* Julien Panis <jpanis@baylibre.com> [230821 14:24]:
> The am335x-evm started producing boot errors because of subtle timing
> changes:
>
> Unhandled fault: external abort on non-linefetch (0x1008) at 0xf03c1010
> ...
> sysc_reset from sysc_probe+0xf60/0x1514
> sysc_probe from platform_probe+0x5c/0xbc
> ...
>
> The fix consists in using the appropriate sleep function in sysc reset.
> For flexible sleeping, fsleep is recommended. Here, sysc delay parameter
> can take any value in [0 - 255] us range. As a result, fsleep() should
> be used, calling udelay() for a sysc delay lower than 10 us.
>
> Signed-off-by: Julien Panis <jpanis@baylibre.com>
> Fixes: e709ed70d122 ("bus: ti-sysc: Fix missing reset delay handling")
> ---
> Fix boot errors for am335x-evm in sysc_reset(), by using fsleep() instead
> of usleep_range() function. Thus, udelay() will be called if the configured
> sysc delay is lower than 10 us (which is usually the case, since the value
> set in the device tree is currently 2 us).
OK, interesting. Yeah I've only ever seen values of 2 us needed here.
Regards,
Tony
> ---
> drivers/bus/ti-sysc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> index 4cb23b9e06ea..59b8bdd9203e 100644
> --- a/drivers/bus/ti-sysc.c
> +++ b/drivers/bus/ti-sysc.c
> @@ -2147,8 +2147,7 @@ static int sysc_reset(struct sysc *ddata)
> }
>
> if (ddata->cfg.srst_udelay)
> - usleep_range(ddata->cfg.srst_udelay,
> - ddata->cfg.srst_udelay * 2);
> + fsleep(ddata->cfg.srst_udelay);
>
> if (ddata->post_reset_quirk)
> ddata->post_reset_quirk(ddata);
>
> ---
> base-commit: f7757129e3dea336c407551c98f50057c22bb266
> change-id: 20230821-fix-ti-sysc-reset-5c164051345b
>
> Best regards,
> --
> Julien Panis <jpanis@baylibre.com>
>
next prev parent reply other threads:[~2023-08-22 9:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 14:24 [PATCH] bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset() Julien Panis
2023-08-22 9:27 ` Tony Lindgren [this message]
2023-09-13 8:27 ` Tony Lindgren
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=20230822092744.GT11676@atomide.com \
--to=tony@atomide.com \
--cc=jpanis@baylibre.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=vigneshr@ti.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.