All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: sdhci-devel@list.drzeus.cx, linux-kernel@vger.kernel.org,
	drzeus-sdhci@drzeus.cx
Cc: Ben Dooks <ben-linux@fluff.org>
Subject: [patch 4/8] SDHCI: Add quirk for controller with no end-of-busy IRQ
Date: Tue, 02 Dec 2008 15:40:22 +0000	[thread overview]
Message-ID: <20081202154112.488066220@fluff.org.uk> (raw)
In-Reply-To: 20081202154018.906091477@fluff.org.uk

[-- Attachment #1: simtec/s3c64xx/sdhci-add-no-busy-transfer-finish-irq-quirk.patch --]
[-- Type: text/plain, Size: 1731 bytes --]

The Samsung SDHCI controller block seems to fail to generate an
INT_DATA_END after the transfer has completed and the bus busy
state finished. 

Changes in e809517f6fa5803a5a1cd56026f0e2190fc13d5c to use the
new busy method are the cause of the behaviour change.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>

Index: linux.git/drivers/mmc/host/sdhci.c
===================================================================
--- linux.git.orig/drivers/mmc/host/sdhci.c	2008-12-01 19:31:15.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.c	2008-12-01 19:43:30.000000000 +0000
@@ -1294,8 +1294,11 @@ static void sdhci_cmd_irq(struct sdhci_h
 		if (host->cmd->data)
 			DBG("Cannot wait for busy signal when also "
 				"doing a data transfer");
-		else
+		else if (!(host->quirks & SDHCI_QUIRK_NO_BUSY_IRQ))
 			return;
+
+		/* The controller does not support the end-of-busy IRQ,
+		 * fall through and take the SDHCI_INT_RESPONSE */
 	}
 
 	if (intmask & SDHCI_INT_RESPONSE)
Index: linux.git/drivers/mmc/host/sdhci.h
===================================================================
--- linux.git.orig/drivers/mmc/host/sdhci.h	2008-12-01 19:31:15.000000000 +0000
+++ linux.git/drivers/mmc/host/sdhci.h	2008-12-01 19:42:27.000000000 +0000
@@ -210,6 +210,8 @@ struct sdhci_host {
 #define SDHCI_QUIRK_BROKEN_SMALL_PIO			(1<<13)
 /* Controller supports high speed but doesn't have the caps bit set */
 #define SDHCI_QUIRK_FORCE_HIGHSPEED			(1<<14)
+/* Controller does not provide transfer-complete interrupt when not busy */
+#define SDHCI_QUIRK_NO_BUSY_IRQ			(1<<15)
 
 	int			irq;		/* Device IRQ */
 	void __iomem *		ioaddr;		/* Mapped address */

-- 
Ben (ben@fluff.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

  parent reply	other threads:[~2008-12-02 15:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-02 15:40 [patch 0/8] Update Samsung SDHCI Ben Dooks
2008-12-02 15:40 ` [patch 1/8] SDHCI: Add timeout hooks Ben Dooks
2008-12-02 16:46   ` smohideen
2008-12-21 13:16     ` Pierre Ossman
2008-12-02 15:40 ` [patch 2/8] SDHCI: Print ADMA status and pointer on debug Ben Dooks
2008-12-02 15:40 ` [patch 3/8] SDHCI: Add set_ios hook Ben Dooks
2008-12-21 13:22   ` Pierre Ossman
2008-12-02 15:40 ` Ben Dooks [this message]
2008-12-02 15:40 ` [patch 5/8] SDHCI: Samsung SDHCI (HSMMC) driver Ben Dooks
2008-12-21 13:32   ` Pierre Ossman
2008-12-02 15:40 ` [patch 6/8] SDHCI: Check DMA for overruns at end of transfer Ben Dooks
2008-12-21 13:49   ` Pierre Ossman
2008-12-02 15:40 ` [patch 7/8] SDHCI: Add change_clock callback for glue drivers Ben Dooks
2008-12-21 14:07   ` Pierre Ossman
2008-12-02 15:40 ` [patch 8/8] SDHCI: Add maintainers entry for Samsung SoC Ben Dooks
2008-12-21 14:09   ` Pierre Ossman

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=20081202154112.488066220@fluff.org.uk \
    --to=ben-linux@fluff.org \
    --cc=drzeus-sdhci@drzeus.cx \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sdhci-devel@list.drzeus.cx \
    /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.