All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Matti Vaittinen <mazziesaccount@gmail.com>
Cc: "Grygorii Strashko" <grygorii.strashko@ti.com>,
	"Vaittinen, Matti" <Matti.Vaittinen@fi.rohmeurope.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"Suman Anna" <s-anna@ti.com>,
	"Paul Barker" <paul.barker@sancloud.com>,
	"Peter Ujfalusi" <peter.ujfalusi@gmail.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: beaglebone black boot failure Linux v5.15.rc1
Date: Tue, 21 Sep 2021 10:47:36 +0300	[thread overview]
Message-ID: <YUmOGFUFONR/ynfW@atomide.com> (raw)
In-Reply-To: <36785ccf-57b4-eaf1-cfc0-b024857f7694@gmail.com>

* Matti Vaittinen <mazziesaccount@gmail.com> [210920 08:23]:
> Finally, adding the udelay(100); (as Tony suggested) at the end of the
> omap_reset_deassert() did make the oops go away even when pruss_tm was
> enabled. I don't know what would be a proper fix though.

The following patch works for me on bbb with the following test script:

#!/bin/sh

module="4a326000.target-module"
driver="/sys/bus/platform/drivers/ti-sysc"

while true; do
	echo ${module} > ${driver}/bind
	echo ${module} > ${driver}/unbind
done

It also allows leaving out the udelay for dra7 iva reset. Care to try
this and see if it helps?

Regards,

Tony

8< -----------------
diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c
--- a/drivers/soc/ti/omap_prm.c
+++ b/drivers/soc/ti/omap_prm.c
@@ -825,26 +825,29 @@ static int omap_reset_deassert(struct reset_controller_dev *rcdev,
 	writel_relaxed(v, reset->prm->base + reset->prm->data->rstctrl);
 	spin_unlock_irqrestore(&reset->lock, flags);
 
-	if (!has_rstst)
-		goto exit;
-
-	/* wait for the status to be set */
-	ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
+	if (has_rstst) {
+		/* wait for the status to be set */
+		ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
 						 reset->prm->data->rstst,
 						 v, v & BIT(st_bit), 1,
 						 OMAP_RESET_MAX_WAIT);
-	if (ret)
-		pr_err("%s: timedout waiting for %s:%lu\n", __func__,
-		       reset->prm->data->name, id);
-
-exit:
-	if (reset->clkdm) {
-		/* At least dra7 iva needs a delay before clkdm idle */
-		if (has_rstst)
-			udelay(1);
-		pdata->clkdm_allow_idle(reset->clkdm);
+		if (ret)
+			pr_err("%s: timedout waiting for %s:%lu\n", __func__,
+			       reset->prm->data->name, id);
+	} else {
+		/* wait for the reset bit to cleaar */
+		ret = readl_relaxed_poll_timeout_atomic(reset->prm->base +
+						reset->prm->data->rstctrl,
+						v, !(v & BIT(id)), 1,
+						OMAP_RESET_MAX_WAIT);
+		if (ret)
+			pr_err("%s: timedout waiting for %s:%lu\n", __func__,
+			       reset->prm->data->name, id);
 	}
 
+	if (reset->clkdm)
+		pdata->clkdm_allow_idle(reset->clkdm);
+
 	return ret;
 }
 
-- 
2.33.0

  reply	other threads:[~2021-09-21  7:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-16  9:15 beaglebone black boot failure Linux v5.15.rc1 Vaittinen, Matti
2021-09-17  6:14 ` Tony Lindgren
2021-09-17 10:28   ` Vaittinen, Matti
2021-09-17 10:47     ` Tony Lindgren
2021-09-17 10:57     ` Grygorii Strashko
2021-09-17 11:01       ` Grygorii Strashko
2021-09-17 11:34         ` Vaittinen, Matti
2021-09-17 12:36           ` Grygorii Strashko
2021-09-20 10:05             ` Matti Vaittinen
2021-09-21  7:47               ` Tony Lindgren [this message]
2021-09-21 16:07                 ` Suman Anna
2021-09-21 16:40                   ` H. Nikolaus Schaller
2021-09-21 16:49                     ` Suman Anna
2021-09-22  9:27                     ` Vaittinen, Matti
2021-09-24 18:40                       ` Robert Nelson
2021-09-30  8:10                         ` Tony Lindgren
2021-09-30  9:41                           ` Vaittinen, Matti
2021-09-21 20:29                   ` Drew Fustini
2021-09-21 21:49                     ` Suman Anna
2021-09-21 22:00                       ` Robert Nelson
2021-09-21 23:53                         ` Suman Anna
2021-09-22  8:44                 ` Vaittinen, Matti
2021-09-22  8:48                   ` Tony Lindgren
2021-09-30  8:06                     ` 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=YUmOGFUFONR/ynfW@atomide.com \
    --to=tony@atomide.com \
    --cc=Matti.Vaittinen@fi.rohmeurope.com \
    --cc=bcousson@baylibre.com \
    --cc=grygorii.strashko@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mazziesaccount@gmail.com \
    --cc=paul.barker@sancloud.com \
    --cc=peter.ujfalusi@gmail.com \
    --cc=s-anna@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.