All of
 help / color / mirror / Atom feed
From: Tony Lindgren <>
To: "Reizer, Eyal" <>
Cc: Eyal Reizer <>,
	"" <>,
	"" <>,
	"" <>,
	"" <>,
	"" <>,
	"" <>,
	"Loewy, Chen" <>
Subject: Re: [EXTERNAL] Re: [PATCH] arm: dts: am437x-sk-evm: add wilink8 support
Date: Mon, 7 May 2018 08:08:21 -0700	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

* Reizer, Eyal <> [180507 06:57]:
> Hi Tony,
> > 
> > Yeah my guess is that the reason for the separate GPIO interrupt was
> > that on omap3 we did not have SDIO interrupt working for years. This was
> > because of the issues related to padconf interrupts for off mode.
> > 
> > We now have Linux generic wakeirq support working with SDIO and it has
> > been confirmed to work also for off mode with mwifiex at least. So
> > there should be no reason to not also use the SDIO interrupt.
> > 
> There is more to this than just the padconf.
> Using in-band interrupt instead of the out of band one requires
> Supporting a feature called "Asynchronous interrupts in 4Bit mode"
> Which is part of SDIO 3.0 spec:
> Take a look at page 41 at the bottom part of the table.
> Wilink8 supports this feature but AFAIK this support is still not part of the 
> mmc/sdio core in the Linux kernel.
> If we want wilink8 to trigger a host wakeup using the in-band interrupt instead 
> Of the wlan_irq pin we would need to enable/use this feature.

Well the SDIO dat line interrupt is working just fine with
mwifiex_sdio driver and runtime PM like I said :)

> I did use it internally in the past and was able to patch the Ubuntu kernel 
> (3.5.0 at that time) to use wilink8 in a standard SD Card slot of an Ubuntu Laptop 
> while removing the use of wlan_irq pin completely.
> However this was an experimental patch set written by a third party 
> that was not up-steamtable at that time.
> I do have this patch set somewhere...
> It is similar to the following patch which is not  upstream as well for some reason:
> It is not the only patch needed, there are a couple of additional patches needed 
> for fully using it from driver.
> I did check latest Linux-next and don't see this support there. Not sure why.

Hmm not sure if this is needed here. When things enter idle, the whole
SDIO block is off and the SDIO dat interrupt is delivered as wakeirq to
the pinctrl-single driver instead that manages padconf wake events.
Then we have runtime PM wake up MMC subsystem and the SDIO dat line
interrupt is still there and will trigger as it's level sensitive.

So the test to do would be simply configure wlcore to use SDIO dat line
interrupt instead of the GPIO interrupt and configure a wakeirq for
the board on the SDIO dat line. Sounds like I need to get my wlcore
runtime PM patches ready though as that is needed for using the wakeirq.



      reply	other threads:[~2018-05-07 15:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01  7:24 [PATCH] arm: dts: am437x-sk-evm: add wilink8 support Eyal Reizer
2018-05-02  8:30 ` Sekhar Nori
2018-05-02  8:30   ` Sekhar Nori
2018-05-02 13:40   ` Reizer, Eyal
2018-05-02 14:51 ` Tony Lindgren
2018-05-03  6:41   ` [EXTERNAL] " Reizer, Eyal
2018-05-03 14:17     ` Tony Lindgren
2018-05-06  7:45       ` Reizer, Eyal
2018-05-06 16:56         ` Tony Lindgren
2018-05-07  6:55           ` Reizer, Eyal
2018-05-07 15:08             ` Tony Lindgren [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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \

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