[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