[Gta04-owner] device tree bug regarding mmc/sdio
Andreas Kemnade
andreas at kemnade.info
Sat Dec 19 19:42:18 CET 2015
Hi Marek,
On Sat, 19 Dec 2015 13:37:47 +0100
Belisko Marek <marek.belisko at gmail.com> wrote:
> Hi Andreas,
>
> On Sat, Dec 19, 2015 at 10:19 AM, Andreas Kemnade <andreas at kemnade.info> wrote:
> > Hi Marek,
> >
> > On Sat, 19 Dec 2015 08:33:29 +0100
> > Belisko Marek <marek.belisko at gmail.com> wrote:
> >
> >> Hi Andreas,
> >>
> >>
> >> On Fri, Dec 18, 2015 at 5:54 PM, Andreas Kemnade <andreas at kemnade.info> wrote:
> >> > Hi,
> >> >
> >> > I found out that the following code in omap_hsmmc.c
> >> > static int omap_hsmmc_configure_wake_irq(struct omap_hsmmc_host *host)
> >> > {
> >> > int ret;
> >> >
> >> > /*
> >> > * For omaps with wake-up path, wakeirq will be irq from pinctrl and
> >> > * for other omaps, wakeirq will be from GPIO (dat line remuxed to
> >> > * gpio). wakeirq is needed to detect sdio irq in runtime suspend state
> >> > * with functional clock disabled.
> >> > */
> >> > if (!host->dev->of_node || !host->wake_irq)
> >> > return -ENODEV;
> >> >
> >> > ret = dev_pm_set_dedicated_wake_irq(host->dev, host->wake_irq);
> >> > if (ret) {
> >> > dev_err(mmc_dev(host->mmc), "Unable to request wake IRQ\n");
> >> > goto err;
> >> > }
> >> >
> >> > does not have the corresponding irq in the device tree.
> >> If you will chek documentation it is stating that it's only "hack" for
> >> am33xx cpu's.
> >> I discussed it with Neil some time ago and also this change was done
> >> by my colleague.
> >
> > Just to check that I have understood it correctly:
> > am33xx cpus notice sdio irqs only when fclk is enabled or the wakeirq hack is used
> > other cpus notice sdio irqs independant of fclk so no wakeirq hack is needed?
> Wake irq is used for throughput increase afaik but I'm now not sure
> (cannot find communication with Neil) that irq pin can be used also on
> omap3. Maybe for more reference look at [0] [1]
Well, ordinary sd cards have a request-response scheme. You request data
and then you get a response. SDIO cards can also generate input asynchronously.
Network cards receive packets. SDIO cards have an IRQ pin for such a situation,
so they can say:"hey, i have data for you."
I have [1] in my tree, it is the same patch which is also
in 3.7-nplusplus.
In the 2.6.32-hwvalidation branch, there is something like that.
The interesting part of [1] is the following comment.
+ int irq_requested;/* Keep fclk going if interrupt
+ * handler is registered */
As far as I understand the wakeirq thing is a workaround for being able to
switch the fclk off.
> >
> > So the code would be something like
> > if (cpu_is_am33xx()) {
> > ret = omap_hsmmc_configure_wake_irq(host);
> > // if (!ret)
> > mmc->caps |= MMC_CAP_SDIO_IRQ;
> >
> > } else
> > mmc->caps |= MMC_CAP_SDIO_IRQ;
> >
> > Regards,
> > Andreas
> >
> > _______________________________________________
> > Gta04-owner mailing list
> > Gta04-owner at goldelico.com
> > http://lists.goldelico.com/mailman/listinfo.cgi/gta04-owner
> >
>
> [0] - https://lkml.org/lkml/2013/10/5/36
> [1] - http://git.neil.brown.name/git?p=gta04.git;a=commitdiff;h=ad39271dc470f4c1ce048e58e4d137b37d5ff808
>
> BR,
>
> marek
>
> --
> as simple and primitive as possible
> -------------------------------------------------
> Marek Belisko - OPEN-NANDRA
> Freelance Developer
>
> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
> Tel: +421 915 052 184
> skype: marekwhite
> twitter: #opennandra
> web: http://open-nandra.com
> _______________________________________________
> Gta04-owner mailing list
> Gta04-owner at goldelico.com
> http://lists.goldelico.com/mailman/listinfo.cgi/gta04-owner
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20151219/170ed2fa/attachment.asc>
More information about the Gta04-owner
mailing list