Thread (14 messages) 14 messages, 2 authors, 2021-12-06

[PATCH 2/3] usb: aspeed-vhub: support remote wakeup feature

flat view

From: Neal Liu <neal_liu@aspeedtech.com>
Date: 2021-11-30 09:47:33
Also in: linux-arm-kernel, linux-usb, lkml

-----Original Message-----
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Sent: Tuesday, November 30, 2021 7:46 AM
To: Neal Liu <neal_liu@aspeedtech.com>; Felipe Balbi <balbi@kernel.org>;
Greg Kroah-Hartman [off-list ref]; Joel Stanley
[off-list ref]; Andrew Jeffery [off-list ref]; Cai Huoqing
[off-list ref]; Tao Ren [off-list ref]; Julia Lawall
[off-list ref]; kernel test robot [off-list ref]; Sasha Levin
[off-list ref]; linux-usb at vger.kernel.org; linux-kernel at vger.kernel.org;
linux-arm-kernel at lists.infradead.org; linux-aspeed at lists.ozlabs.org
Cc: BMC-SW <redacted>
Subject: Re: [PATCH 2/3] usb: aspeed-vhub: support remote wakeup feature

On Fri, 2021-11-26 at 19:09 +0800, Neal Liu wrote:
quoted
Remote wakeup signaling will be automatically issued whenever any
write commands has been received in suspend state.
quoted
--- a/drivers/usb/gadget/udc/aspeed-vhub/core.c
+++ b/drivers/usb/gadget/udc/aspeed-vhub/core.c
@@ -240,6 +240,9 @@ void ast_vhub_init_hw(struct ast_vhub *vhub)
 	if (vhub->force_usb1)
 		ctrl |= VHUB_CTRL_FULL_SPEED_ONLY;

+	/* Enable auto remote wakeup */
+	ctrl |= VHUB_CTRL_AUTO_REMOTE_WAKEUP;
+
 	ctrl |= VHUB_CTRL_UPSTREAM_CONNECT;
 	writel(ctrl, vhub->regs + AST_VHUB_CTRL);
Should this  be controlled by d->wakeup_en ? IE, we have a feature for the
host to enable/disable remote wakeup, should we honor it ?
For KVM usage, remote keyboard packet would be sent if user wants to do remote wakeup.
In this case, d->wakeup_en is not used.
Set VHUB_CTRL_AUTO_REMOTE_WAKEUP to enable HW automatically signaling wakeup if
any packet would be transferred.
quoted
+	} else if (wValue == USB_DEVICE_TEST_MODE) {
+		val = readl(d->vhub->regs + AST_VHUB_CTRL);
+		val &= ~GENMASK(10, 8);
+		val |= VHUB_CTRL_SET_TEST_MODE((wIndex >> 8) & 0x7);
+		writel(val, d->vhub->regs + AST_VHUB_CTRL);
This is unrelated to remote wakeup is it ? In which case it should probably be a
separate patch.

Cheers,
Ben.
Yes, I'll separate this patch.
Thanks

-Neal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help