All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Ball <cjb@laptop.org>
To: Manuel Lauss <manuel.lauss@googlemail.com>
Cc: linux-mmc@vger.kernel.org,
	Alexander Stein <alexander.stein@systec-electronic.com>
Subject: Re: [PATCH] mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers
Date: Sun, 01 Apr 2012 00:25:37 -0400	[thread overview]
Message-ID: <87wr60kri6.fsf@laptop.org> (raw)
In-Reply-To: <1333040704-2179-1-git-send-email-manuel.lauss@googlemail.com> (Manuel Lauss's message of "Thu, 29 Mar 2012 19:05:04 +0200")

Hi Manuel,

On Thu, Mar 29 2012, Manuel Lauss wrote:
> MSI on my O2Micro OZ600 SD card reader is broken.  This patch adds a quirk
> to disable MSI on these controllers.
>
> Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
> ---
>  drivers/mmc/host/sdhci-pci.c |    4 +++-
>  include/linux/mmc/sdhci.h    |    2 ++
>  2 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
> index fbbebe2..9303f7f 100644
> --- a/drivers/mmc/host/sdhci-pci.c
> +++ b/drivers/mmc/host/sdhci-pci.c
> @@ -561,6 +561,7 @@ static int jmicron_resume(struct sdhci_pci_chip *chip)
>  
>  static const struct sdhci_pci_fixes sdhci_o2 = {
>  	.probe		= o2_probe,
> +	.quirks2	= SDHCI_QUIRK2_BROKEN_MSI,
>  };
>  
>  static const struct sdhci_pci_fixes sdhci_jmicron = {
> @@ -1418,7 +1419,8 @@ static int __devinit sdhci_pci_probe(struct pci_dev *pdev,
>  
>  	slots = chip->num_slots;	/* Quirk may have changed this */
>  
> -	pci_enable_msi(pdev);
> +	if (!(chip->quirks2 & SDHCI_QUIRK2_BROKEN_MSI))
> +		pci_enable_msi(pdev);

Please wrap the call to pci_disable_msi() too.  (It looks like
this isn't strictly necessary, but not doing so makes the reader
wonder whether you made a mistake preparing your patch.)

>  
>  	for (i = 0; i < slots; i++) {
>  		slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i);
> diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
> index e9051e1..9752fe4 100644
> --- a/include/linux/mmc/sdhci.h
> +++ b/include/linux/mmc/sdhci.h
> @@ -91,6 +91,8 @@ struct sdhci_host {
>  	unsigned int quirks2;	/* More deviations from spec. */
>  
>  #define SDHCI_QUIRK2_HOST_OFF_CARD_ON			(1<<0)
> +/* broken MSI Interrupts */
> +#define SDHCI_QUIRK2_BROKEN_MSI				(1<<1)
>  
>  	int irq;		/* Device IRQ */
>  	void __iomem *ioaddr;	/* Mapped address */

Thanks,

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

      reply	other threads:[~2012-04-01  4:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29 17:05 [PATCH] mmc: sdhci-pci: add quirks for broken MSI on O2Micro controllers Manuel Lauss
2012-04-01  4:25 ` Chris Ball [this message]

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=87wr60kri6.fsf@laptop.org \
    --to=cjb@laptop.org \
    --cc=alexander.stein@systec-electronic.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=manuel.lauss@googlemail.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.