[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190226234422.GD174696@google.com>
Date: Tue, 26 Feb 2019 15:44:23 -0800
From: Brian Norris <briannorris@...omium.org>
To: Marc Zyngier <marc.zyngier@....com>
Cc: Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Amitkumar Karwar <amitkarwar@...il.com>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Ganapathi Bhat <gbhat@...vell.com>,
Heiko Stuebner <heiko@...ech.de>,
Kalle Valo <kvalo@...eaurora.org>,
Nishant Sarmukadam <nishants@...vell.com>,
Rob Herring <robh+dt@...nel.org>,
Xinming Hu <huxinming820@...il.com>,
Devicetree List <devicetree@...r.kernel.org>,
"<netdev@...r.kernel.org>" <netdev@...r.kernel.org>,
"<linux-wireless@...r.kernel.org>" <linux-wireless@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-rockchip@...ts.infradead.org,
"David S. Miller" <davem@...emloft.net>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-pci@...r.kernel.org, linux-pm@...r.kernel.org,
Jeffy Chen <jeffy.chen@...k-chips.com>
Subject: Re: [PATCH 0/4] mwifiex PCI/wake-up interrupt fixes
Hi,
On Tue, Feb 26, 2019 at 05:14:00PM +0000, Marc Zyngier wrote:
> On 26/02/2019 16:21, Ard Biesheuvel wrote:
> > On Mon, 25 Feb 2019 at 15:53, Marc Zyngier <marc.zyngier@....com> wrote:
> >> It outlines one thing: If you have to interpret per-device PCI
> >> properties from DT, you're in for serious trouble. I should get some
> >> better HW.
> >>
> >
> > Yeah, it obviously makes no sense at all for the interrupt parent of a
> > PCI device to deviate from the host bridge's interrupt parent, and
> > it's quite unfortunate that we can't simply ban it now that the cat is
> > out of the bag already.
> >
> > Arguably, the wake up widget is not part of the PCI device, but I have
> > no opinion as to whether it is better modeling it as a sub device as
> > you are proposing or as an entirely separate device referenced via a
> > phandle.
>
> It is not that clear. The widget seems to be an integral part of the
> device, as it is the same basic IP that is used for SDIO and USB.
It's not really a widget specific to this IP. It's just a GPIO. It so
happens that both SDIO and PCIe designs have wanted to use a GPIO for
wakeup, as many other devices do. (Note: it's not just cheap ARM
devices; pulling up some Intel Chromebook designs, I see the exact same
WAKE# GPIO on their PCIe WiFi as well.)
> It looks like the good old pre-PCI-2.2 days, where you had to have a
> separate cable between your network card and the base-board for the
> wake-up interrupt to be delivered. Starting with PCI-2.2, the bus can
> carry the signal just fine. With PCIe, it should just be an interrupt
> TLP sent to the RC, but that's obviously not within the capabilities of
> the HW.
You should search the PCI Express specification for WAKE#. There is a
clearly-documented "side-band wake" feature that is part of the
standard, as an alternative to in-band TLP wakeup. While you claim this
is an ancient thing, it in fact still in use on many systems -- it's
just usually abstracted better by ACPI firmware, whereas the dirty
laundry is aired a bit more on a Device Tree system. And we got it
wrong.
> Anyway, it'd be good if the Marvell people could chime in and let us
> know how they'd prefer to handle this.
I'm not sure this is really a Marvell-specific problem. (Well, except
for the marvell,wakeup-pin silliness, which is somewhat orthogonal.) In
fact, if we cared a little more about Wake-on-WiFi, we'd be trying to
support the same (out-of-band WAKE#) with other WiFi drivers.
Brian
Powered by blists - more mailing lists