All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joelf@ti.com>
To: linux-mmc@vger.kernel.org
Cc: linux-doc@vger.kernel.org,
	linux-omap@vger.kernel.orglinux-omap@vger.kernel.org
Subject: Re: [PATCH v10 1/5] mmc: omap_hsmmc: Enable SDIO interrupt
Date: Mon, 28 Apr 2014 23:42:04 -0500	[thread overview]
Message-ID: <535F2D9C.6090304@ti.com> (raw)
In-Reply-To: <1398670860-30695-2-git-send-email-afenkart@gmail.com>

Minor nit...

On 04/28/2014 02:40 AM, Andreas Fenkart wrote:
[..]
>  	/* Do not initialize card-specific things if the power is off */
>  	if (host->power_mode == MMC_POWER_OFF)
> @@ -1117,8 +1138,12 @@ static irqreturn_t omap_hsmmc_irq(int irq, void *dev_id)
>  	int status;
>  
>  	status = OMAP_HSMMC_READ(host->base, STAT);
> -	while (status & INT_EN_MASK && host->req_in_progress) {
> -		omap_hsmmc_do_irq(host, status);
> +	while (status & (INT_EN_MASK | CIRQ_EN)) {
> +		if (host->req_in_progress)
> +			omap_hsmmc_do_irq(host, status);
> +
> +		if (status & CIRQ_EN)
> +			mmc_signal_sdio_irq(host->mmc);
>  
>  		/* Flush posted write */
>  		status = OMAP_HSMMC_READ(host->base, STAT);
> @@ -1127,6 +1152,23 @@ static irqreturn_t omap_hsmmc_irq(int irq, void *dev_id)
>  	return IRQ_HANDLED;
>  }
>  
> +static irqreturn_t omap_hsmmc_wake_irq(int irq, void *dev_id)
> +{
> +	struct omap_hsmmc_host *host = dev_id;
> +	unsigned long flags;
> +
> +	/* cirq is level triggered, disable to avoid infinite loop */
> +	spin_lock_irqsave(&host->irq_lock, flags);

Do you need to save restore flags here? IRQ is already disabled since
you're in hard IRQ context so spin_lock() seems sufficient.

> +	if (host->flags & HSMMC_WAKE_IRQ_ENABLED) {
> +		disable_irq_nosync(host->wake_irq);
> +		host->flags &= ~HSMMC_WAKE_IRQ_ENABLED;
> +	}
> +	spin_unlock_irqrestore(&host->irq_lock, flags);

spin_unlock() seems sufficient.

regards,
-Joel



  reply	other threads:[~2014-04-30  2:30 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28  7:40 [PATCH v10 0/5] mmc: omap_hsmmc: Enable SDIO IRQ Andreas Fenkart
2014-04-28  7:40 ` [PATCH v10 1/5] mmc: omap_hsmmc: Enable SDIO interrupt Andreas Fenkart
2014-04-29  4:42   ` Joel Fernandes [this message]
2014-04-29  4:43   ` Joel Fernandes
2014-04-29  9:32   ` Andreas Müller
2014-04-30 12:23   ` Andreas Müller
2014-04-30 21:04     ` Andreas Fenkart
2014-05-02 15:20   ` Balaji T K
2014-04-28  7:40 ` [PATCH v10 2/5] mmc: omap_hsmmc: bug: abort runtime suspend if pending sdio irq detected Andreas Fenkart
2014-05-02 14:55   ` Balaji T K
2014-04-28  7:40 ` [PATCH v10 3/5] mmc: omap_hsmmc: Extend debugfs by SDIO IRQ handling, runtime state Andreas Fenkart
2014-04-28  7:40 ` [PATCH v10 4/5] mmc: omap_hsmmc: switch default/idle pinctrl states in runtime hooks Andreas Fenkart
2014-05-02 14:38   ` Balaji T K
2014-04-28  7:41 ` [PATCH v10 5/5] mmc: omap_hsmmc: Pin remux workaround to support SDIO interrupt on AM335x Andreas Fenkart
2014-05-02 14:30   ` Balaji T K

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=535F2D9C.6090304@ti.com \
    --to=joelf@ti.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.orglinux-omap \
    /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.