devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH v2 0/3] omap_hsmmc: SDIO IRQ on AM335x family
@ 2013-05-15  8:45 Andreas Fenkart
  2013-05-15  8:45 ` [RESEND PATCH v2 1/3] mmc: omap_hsmmc: Enable SDIO IRQ using a GPIO in idle mode Andreas Fenkart
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Andreas Fenkart @ 2013-05-15  8:45 UTC (permalink / raw)
  To: tony
  Cc: cjb, arnd, svenkatr, balajitk, grant.likely, linux-mmc, rob,
	linux-omap, devicetree-discuss, zonque, Andreas Fenkart

No changes to the patches itself.

Only the dependency on some omap-gpio enable_irq/disable_irq patch
has been removed.

While developing, I was struck by a bug with disable_irq. After reviewing
the disable_irq code path, I thought the interrrupt got never disabled
for omap.  After fixing the bug I was hunting, which was completely
unrelated to disable_irq, I never verified if the dependency was really
needed.

While trying to upstream my disable_irq fixes for gpio-omap, I realized,
that disable_irq was always working for gpio-omap through the generic
lazy disable mechanism.

/**
 *      irq_disable - disable interrupt generation
 *      @desc:  irq descriptor which should be disabled
 *
 *      If the chip does not implement the irq_disable callback, we
 *      use a lazy disable approach. That means we mark the interrupt
 *      disabled, but leave the hardware unmasked. If an interrupt
 *      happens, then the interrupt flow handler masks the line at the
 *      hardware level and marks it pending.
 */
void irq_disable(struct irq_desc *desc)
{
        irq_state_set_disabled(desc);
        if (desc->irq_data.chip->irq_disable) {
                desc->irq_data.chip->irq_disable(&desc->irq_data);
                irq_state_set_masked(desc);
        }
}

The 4+ weeks testing mentionned in the 1st patch, was done with a
dedicated irq_disable hook in gpio-omap. I'm positive that it is not
needed at all, still the test was repeated for 1 day without that hook.

Andreas Fenkart (3):
  mmc: omap_hsmmc: Enable SDIO IRQ using a GPIO in idle mode.
  mmc: omap_hsmmc: debugfs entries for GPIO mode.
  mmc: omap_hsmmc: add PSTATE to debugfs regs_show.

 .../devicetree/bindings/mmc/ti-omap-hsmmc.txt      |   42 +++
 drivers/mmc/host/omap_hsmmc.c                      |  269 ++++++++++++++++++--
 include/linux/platform_data/mmc-omap.h             |    4 +
 3 files changed, 294 insertions(+), 21 deletions(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-06-01 14:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-15  8:45 [RESEND PATCH v2 0/3] omap_hsmmc: SDIO IRQ on AM335x family Andreas Fenkart
2013-05-15  8:45 ` [RESEND PATCH v2 1/3] mmc: omap_hsmmc: Enable SDIO IRQ using a GPIO in idle mode Andreas Fenkart
2013-05-20 20:58   ` Tony Lindgren
2013-05-21  2:49     ` Tony Lindgren
2013-05-23 19:23       ` Tony Lindgren
2013-05-31  7:59     ` Andreas Fenkart
2013-06-01 14:44       ` Tony Lindgren
2013-05-15  8:45 ` [RESEND PATCH v2 2/3] mmc: omap_hsmmc: debugfs entries for GPIO mode Andreas Fenkart
2013-05-15  8:45 ` [RESEND PATCH v2 3/3] mmc: omap_hsmmc: add PSTATE to debugfs regs_show Andreas Fenkart

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).