* [PATCH 1/1] usb: xhci: set RWE only for remote wakeup capable devices
@ 2017-01-12 8:53 Lu Baolu
2017-01-12 10:08 ` Lu Baolu
0 siblings, 1 reply; 2+ messages in thread
From: Lu Baolu @ 2017-01-12 8:53 UTC (permalink / raw)
To: Mathias Nyman; +Cc: linux-usb, linux-kernel, Lu Baolu
Xhci spec requires in section 4.23.5.1.1.1 that the RWE bit of USB2
PORTPMSC register should only set for remote wakeup capble devices.
This was suggested by Mathias in the following discussion thread.
http://marc.info/?l=linux-usb&m=148154757829677&w=2
Suggested-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
---
drivers/usb/host/xhci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 0c8deb9..d887e09 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4191,7 +4191,9 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
}
pm_val &= ~PORT_HIRD_MASK;
- pm_val |= PORT_HIRD(hird) | PORT_RWE | PORT_L1DS(udev->slot_id);
+ pm_val |= PORT_HIRD(hird) | PORT_L1DS(udev->slot_id);
+ if (udev->do_remote_wakeup)
+ pm_val |= PORT_RWE;
writel(pm_val, pm_addr);
pm_val = readl(pm_addr);
pm_val |= PORT_HLE;
--
2.1.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] usb: xhci: set RWE only for remote wakeup capable devices
2017-01-12 8:53 [PATCH 1/1] usb: xhci: set RWE only for remote wakeup capable devices Lu Baolu
@ 2017-01-12 10:08 ` Lu Baolu
0 siblings, 0 replies; 2+ messages in thread
From: Lu Baolu @ 2017-01-12 10:08 UTC (permalink / raw)
To: Mathias Nyman; +Cc: linux-usb, linux-kernel
Hi Mathias,
On 01/12/2017 04:53 PM, Lu Baolu wrote:
> Xhci spec requires in section 4.23.5.1.1.1 that the RWE bit of USB2
> PORTPMSC register should only set for remote wakeup capble devices.
>
> This was suggested by Mathias in the following discussion thread.
> http://marc.info/?l=linux-usb&m=148154757829677&w=2
>
> Suggested-by: Mathias Nyman <mathias.nyman@linux.intel.com>
> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> ---
> drivers/usb/host/xhci.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index 0c8deb9..d887e09 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -4191,7 +4191,9 @@ int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
> }
>
> pm_val &= ~PORT_HIRD_MASK;
> - pm_val |= PORT_HIRD(hird) | PORT_RWE | PORT_L1DS(udev->slot_id);
> + pm_val |= PORT_HIRD(hird) | PORT_L1DS(udev->slot_id);
> + if (udev->do_remote_wakeup)
This is not the right thing to check remote wakeup capability of a device.
I will rework it and submit v2. Please just ignore this one.
Sorry about this.
Best regards,
Lu Baolu
> + pm_val |= PORT_RWE;
> writel(pm_val, pm_addr);
> pm_val = readl(pm_addr);
> pm_val |= PORT_HLE;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-01-12 10:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-12 8:53 [PATCH 1/1] usb: xhci: set RWE only for remote wakeup capable devices Lu Baolu
2017-01-12 10:08 ` Lu Baolu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox