public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Jongepier <jeremy@autostatic.com>
To: linux-rt-users@vger.kernel.org
Subject: Re: Searching a Bug on Raspberry Pi
Date: Thu, 04 Jul 2013 12:45:16 +0200	[thread overview]
Message-ID: <51D5523C.3060605@autostatic.com> (raw)
In-Reply-To: <51CFB71F.5090401@schorsch-tech.de>

[-- Attachment #1: Type: text/plain, Size: 788 bytes --]

On 06/30/2013 06:42 AM, Georg Gast wrote:
> Hi Tom,
> 
> the problem occurs even if i set enable_llm=0. The while loop is now not
> touched and the rpi deadlocks too.
> 
> As far as i understand it, the sdhci.c is the base for all sdhci card
> readers and the sdhci-*.c implement the ops for the specific hardware.
> 
> My problem is, that i dont have an other sdhci card reader here. It wont
> be possible to boot from, but i could try to read from it on a rt
> kernel. If i compile the sdhci_bcm2708 as a module, i could not get a
> device info from the rpi reader. Maybe an other reader works, then the
> real problem sits in sdhci_bcm2708.c (or at bad luck, it shows an bigger
> problem in sdhci.c).
> 
> Georg
> 

Here's a quick and dirty hack to get things going.

Regards,

Jeremy

[-- Attachment #2: sdhci.c.diff --]
[-- Type: text/x-patch, Size: 1092 bytes --]

--- linux/drivers/mmc/host/sdhci.c	2013-07-03 11:54:06.306455988 +0200
+++ linux-rt/drivers/mmc/host/sdhci.c	2013-07-03 16:49:33.298601044 +0200
@@ -162,9 +162,17 @@
 			preempt_schedule();
 		}
 		spin_lock_irqsave(&host->lock,*flags);
+#ifdef CONFIG_PREEMPT_RT_FULL
+		disable_irq_nosync(host->irq);
+#else
 		disable_irq(host->irq);
+#endif
 		if(host->second_irq)
+#ifdef CONFIG_PREEMPT_RT_FULL
+			disable_irq_nosync(host->second_irq);
+#else
 			disable_irq(host->second_irq);
+#endif
 		local_irq_enable();
 	}
 	else
@@ -1834,7 +1842,11 @@
 	host = mmc_priv(mmc);
 
 	sdhci_runtime_pm_get(host);
+#ifdef CONFIG_PREEMPT_RT_FULL
+	disable_irq_nosync(host->irq);
+#else
 	disable_irq(host->irq);
+#endif
 	spin_lock(&host->lock);
 
 	ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
@@ -1935,7 +1947,11 @@
 		wait_event_interruptible_timeout(host->buf_ready_int,
 					(host->tuning_done == 1),
 					msecs_to_jiffies(50));
+#ifdef CONFIG_PREEMPT_RT_FULL
+		disable_irq_nosync(host->irq);
+#else
 		disable_irq(host->irq);
+#endif
 		spin_lock(&host->lock);
 
 		if (!host->tuning_done) {

  reply	other threads:[~2013-07-04 10:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-29 20:14 Searching a Bug on Raspberry Pi Georg Gast
     [not found] ` <CAFSh4Uz7B8L5Y0nsp1bW4pgPkyqHtXDSM0R-PiRLZQfd+URFYw@mail.gmail.com>
2013-06-30  4:42   ` Georg Gast
2013-07-04 10:45     ` Jeremy Jongepier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-06-29 18:28 Georg Gast
2013-07-04 12:14 ` Kirill Tkhai

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=51D5523C.3060605@autostatic.com \
    --to=jeremy@autostatic.com \
    --cc=linux-rt-users@vger.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