Thread (16 messages) 16 messages, 4 authors, 2021-10-26

Re: [PATCH v1] usb: xhci: tegra: Check padctrl interrupt presence in device tree

From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-10-21 17:16:47
Also in: linux-usb, lkml

21.10.2021 20:13, Dmitry Osipenko пишет:
21.10.2021 18:20, Alan Stern пишет:
quoted
On Thu, Oct 21, 2021 at 06:08:41PM +0300, Dmitry Osipenko wrote:
quoted
21.10.2021 17:57, Dmitry Osipenko пишет:
quoted
It might be wrong to disable device_may_wakeup() because it will change
the system suspend-resume behaviour, i.e. you won't be able to resume by
USB event, see [1].

[1]
https://elixir.bootlin.com/linux/v5.15-rc6/source/drivers/usb/host/xhci-tegra.c#L1962

Although, I'm not sure whether this is a correct behaviour to start
with. Previously, before the offending commit, device_wakeup was never
enabled for tegra-xusb. Commit message doesn't explain why wakeup is now
enabled unconditionally, wakeup checks aren't needed at all then. This
makes no sense, please check it with JC Kuo.
Although, wakeup could be disabled via sysfs, so it makes sense. Still
it's not clear whether it's a correct behaviour to enable wakeup during
system suspend by default. If it wakes machine from suspend when USB
device is plugged/unplugged, then it's a wrong behaviour.
It depends on the details of how the device works.  In most cases we do 
want to enable wakeup by default for host controller devices.  The 
reason is simple enough: If some USB device attached to the HC is 
enabled for wakeup and sends a wakeup request, we don't want the request 
to get lost because the HC isn't allowed to forward the request on to 
the CPU.

But we do not want to enable wakeup for root hubs.  In particular, we 
don't want to wake up a suspended system merely because a USB device has 
been plugged or unplugged.

Clearly this arrangement depends on the hardware making a distinction 
between wakeup requests originating from the root hub and those simply 
passing through the HC.
Should USB keyboard be able to wake up every HC or it's a
machine-specific feature?
I mean whether key press should wake up HC if wake-up is enabled for the
keyboard device.
I'm asking because wakeup works on a typical
Intel hardware, but doesn't work on older Tegra SoCs that use Chipidea
controller. It's not obvious to me whether this is something that
firmware handles for Intel or it's broken on Tegra. Could you please
clarify? If it should work for every HC, then I may try to take a closer
look.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help