* Andreas Fenkart <andreas.fenk...@streamunlimited.com> [121220 14:15]:
> Without functional clock the omap_hsmmc module can't forward
> SDIO IRQs to the system. This patch reconfigures dat1 line
> as a gpio while the fclk is off. And uses SDIO IRQ detection of
> the module, while fclk is present.

Looks pretty good to me, however I could not figure out what
to apply this on for testing. It fails to apply at least against
current linux next, can you please update against that?
 
> +static void omap_hsmmc_enable_sdio_irq(struct mmc_host *mmc, int enable)
> +{
> +     struct omap_hsmmc_host *host = mmc_priv(mmc);
> +     u32 irq_mask;
> +     unsigned long flags;
> +
> +     spin_lock_irqsave(&host->irq_lock, flags);
> +
> +     host->sdio_irq_en = (enable != 0) ? true : false;
> +
> +     if (host->active_pinmux) {
> +             irq_mask = OMAP_HSMMC_READ(host->base, ISE);
> +             if (enable)
> +                     irq_mask |= CIRQ_ENABLE;
> +             else
> +                     irq_mask &= ~CIRQ_ENABLE;
> +             OMAP_HSMMC_WRITE(host->base, IE, irq_mask);
> +
> +             if (!host->req_in_progress)
> +                     OMAP_HSMMC_WRITE(host->base, ISE, irq_mask);
> +
> +#if 0
> +             OMAP_HSMMC_READ(host->base, IE); /* flush posted write */
> +#endif

Maybe just replace #if 0 with just a comment in case it turns out to be
needed for some cases?

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to