linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
To: linux-arm-kernel@lists.infradead.org, linux-mmc@vger.kernel.org,
	devicetree@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com,
	linux-rpi-kernel@lists.infradead.org
Cc: f.fainelli@gmail.com, tim.gover@raspberrypi.com,
	sbranden@broadcom.com, alcooperx@gmail.com,
	adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
	phil@raspberrypi.com,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Subject: [RFC 0/2] sdhci-iproc CMD timeouts
Date: Thu, 25 Feb 2021 10:52:14 +0100	[thread overview]
Message-ID: <20210225095216.28591-1-nsaenzjulienne@suse.de> (raw)

I'm seeing a rather odd behavior from sdhci-iproc's integration in BCM2711
(Raspberry Pi 4's SoC), and would appreciate some opinions.

The controller will timeout on SDHCI CMDs under the following conditions:

 - No SD card plugged in (the card polling thread is running, CD irq disabled).
 - BCM2711's VPU clock[1] configured at 500MHz or more, lower clocks are OK.

There is no specific command that will time out, it seems random.

Here's what I found out. The SDHCI controller runs at 100MHz, by bumping the
frequency to 150MHz the issue disapears. Might be pure luck, or maybe I hit the
nail and it's proper interference. Can't say.

Regards,
Nicolas

---

[1] For those who are not aware, here's the relationship between VPU's clock
    and emmc2's:

	 osc                                    54000000
	    plld                              3000000091
	       plld_per                        750000023
		  emmc2                        149882908
	    pllc                              2999999988
	       pllc_core0                      999999996
		  vpu                          499999998

Nicolas Saenz Julienne (2):
  ARM: dts: Fix-up EMMC2 controller's frequency
  mmc: sdhci-iproc: Set clock frequency as per DT

 arch/arm/boot/dts/bcm2711-rpi-4-b.dts |  6 ++++++
 drivers/mmc/host/sdhci-iproc.c        | 10 ++++++++++
 2 files changed, 16 insertions(+)

-- 
2.30.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2021-02-25  9:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-25  9:52 Nicolas Saenz Julienne [this message]
2021-02-25  9:52 ` [RFC 1/2] ARM: dts: Fix-up EMMC2 controller's frequency Nicolas Saenz Julienne
2021-02-25  9:52 ` [RFC 2/2] mmc: sdhci-iproc: Set clock frequency as per DT Nicolas Saenz Julienne
2021-03-09  8:14 ` [RFC 0/2] sdhci-iproc CMD timeouts Ulf Hansson

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=20210225095216.28591-1-nsaenzjulienne@suse.de \
    --to=nsaenzjulienne@suse.de \
    --cc=adrian.hunter@intel.com \
    --cc=alcooperx@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=phil@raspberrypi.com \
    --cc=sbranden@broadcom.com \
    --cc=tim.gover@raspberrypi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).