From: Sriram Dash <sriram.dash@nxp.com> To: Arnd Bergmann <arnd@arndb.de> Cc: Felipe Balbi <balbi@kernel.org>, Peter Chen <hzpeterchen@gmail.com>, "Leo Li" <pku.leo@gmail.com>, Grygorii Strashko <grygorii.strashko@ti.com>, Russell King - ARM Linux <linux@arm.linux.org.uk>, Catalin Marinas <catalin.marinas@arm.com>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>, "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>, Sekhar Nori <nsekhar@ti.com>, lkml <linux-kernel@vger.kernel.org>, Stuart Yoder <stuart.yoder@nxp.com>, "Scott Wood" <oss@buserror.net>, David Fisher <david.fisher1@synopsys.com>, "Thang Q. Nguyen" <tqnguyen@apm.com>, Alan Stern <stern@rowland.harvard.edu>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Suresh Gupta <suresh.gupta@nxp.com> Subject: RE: [PATCH] usb: dwc3: host: inherit dma configuration from parent dev Date: Thu, 22 Sep 2016 05:02:17 +0000 [thread overview] Message-ID: <DB5PR0401MB1925E5980009DD23FA9C7D50F5C90@DB5PR0401MB1925.eurprd04.prod.outlook.com> (raw) In-Reply-To: <20042182.GcPMJken6Z@wuerfel> >From: Arnd Bergmann [mailto:arnd@arndb.de] >On Wednesday, September 21, 2016 11:43:59 AM CEST Sriram Dash wrote: >> >From: Arnd Bergmann [mailto:arnd@arndb.de] On Wednesday, September >> >21, 2016 11:06:47 AM CEST Sriram Dash wrote: >> >> ============================================================== >> From 8b0dea1513e9e73a11dcfa802ddc71cca11d66f8 Mon Sep 17 00:00:00 2001 >> From: Sriram Dash <sriram.dash@nxp.com> >> Date: Wed, 21 Sep 2016 11:39:30 +0530 >> Subject: [PATCH] usb: xhci: Fix the patch inherit dma configuration >> from parent dev >> >> Fixes the patch https://patchwork.kernel.org/patch/9319527/ >> ("usb: dwc3: host: inherit dma configuration from parent dev"). >> >> Signed-off-by: Sriram Dash <sriram.dash@nxp.com> >> --- >> drivers/usb/host/xhci-mem.c | 12 ++++++------ >> drivers/usb/host/xhci.c | 20 ++++++++++---------- >> 2 files changed, 16 insertions(+), 16 deletions(-) >> >> diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c >> index 6afe323..79608df 100644 >> --- a/drivers/usb/host/xhci-mem.c >> +++ b/drivers/usb/host/xhci-mem.c > >All the changes you did to this file seem fine, I completely missed that part. > >> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index >> 01d96c9..9a1ff09 100644 >> --- a/drivers/usb/host/xhci.c >> +++ b/drivers/usb/host/xhci.c Yes. Some sanity is required over this patch. >> @@ -231,7 +231,7 @@ static int xhci_free_msi(struct xhci_hcd *xhci) >> static int xhci_setup_msi(struct xhci_hcd *xhci) { >> int ret; >> - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); >> + struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.sysdev); >> >> ret = pci_enable_msi(pdev); >> if (ret) { > >This one is interesting as I stumbled over some code comment mentioning that for >dwc3-pci, we don't support MSI. I think with this change, we /can/ actually support >MSI, but this could be a separate patch and we'd have to test it on dwc3-pci >hardware. Same for most of this file. > >> @@ -745,7 +745,7 @@ void xhci_shutdown(struct usb_hcd *hcd) >> struct xhci_hcd *xhci = hcd_to_xhci(hcd); >> >> if (xhci->quirks & XHCI_SPURIOUS_REBOOT) >> - usb_disable_xhci_ports(to_pci_dev(hcd->self.controller)); >> + usb_disable_xhci_ports(to_pci_dev(hcd->self.sysdev)); >> >> spin_lock_irq(&xhci->lock); >> xhci_halt(xhci); > >This seems obviously correct, but I don't yet see why it currently works. We >probably don't call this function on dwc3. > >> #ifdef CONFIG_PM >> @@ -3605,7 +3605,7 @@ void xhci_free_dev(struct usb_hcd *hcd, struct >usb_device *udev) >> * if no devices remain. >> */ >> if (xhci->quirks & XHCI_RESET_ON_RESUME) >> - pm_runtime_put_noidle(hcd->self.controller); >> + pm_runtime_put_noidle(hcd->self.sysdev); >> #endif >> >> ret = xhci_check_args(hcd, udev, NULL, 0, true, __func__); > >I suspect this one is wrong, based on what Felipe explained earlier: >the power management should propagate down from the child to the parent >device. > >Someone who understands this better than I do should look at it. > >> @@ -3745,7 +3745,7 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct >usb_device *udev) >> * suspend if there is a device attached. >> */ >> if (xhci->quirks & XHCI_RESET_ON_RESUME) >> - pm_runtime_get_noresume(hcd->self.controller); >> + pm_runtime_get_noresume(hcd->self.sysdev); >> #endif >> >> > >Same here. > >> @@ -4834,7 +4834,7 @@ int xhci_get_frame(struct usb_hcd *hcd) int >> xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) { >> struct xhci_hcd *xhci; >> - struct device *dev = hcd->self.controller; >> + struct device *dev = hcd->self.sysdev; >> int retval; > > >This one calls > > get_quirks(dev, xhci); > >not sure whether this should be called with self.controller or self.sysdev, we should >audit every one of the callers here to be sure: > >drivers/usb/host/xhci-mtk.c: return xhci_gen_setup(hcd, xhci_mtk_quirks); >drivers/usb/host/xhci-pci.c: retval = xhci_gen_setup(hcd, xhci_pci_quirks); >drivers/usb/host/xhci-plat.c: return xhci_gen_setup(hcd, xhci_plat_quirks); >drivers/usb/host/xhci-rcar.c: * xhci_gen_setup(). >drivers/usb/host/xhci-tegra.c: return xhci_gen_setup(hcd, tegra_xhci_quirks); > > Arnd
WARNING: multiple messages have this Message-ID (diff)
From: sriram.dash@nxp.com (Sriram Dash) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] usb: dwc3: host: inherit dma configuration from parent dev Date: Thu, 22 Sep 2016 05:02:17 +0000 [thread overview] Message-ID: <DB5PR0401MB1925E5980009DD23FA9C7D50F5C90@DB5PR0401MB1925.eurprd04.prod.outlook.com> (raw) In-Reply-To: <20042182.GcPMJken6Z@wuerfel> >From: Arnd Bergmann [mailto:arnd at arndb.de] >On Wednesday, September 21, 2016 11:43:59 AM CEST Sriram Dash wrote: >> >From: Arnd Bergmann [mailto:arnd at arndb.de] On Wednesday, September >> >21, 2016 11:06:47 AM CEST Sriram Dash wrote: >> >> ============================================================== >> From 8b0dea1513e9e73a11dcfa802ddc71cca11d66f8 Mon Sep 17 00:00:00 2001 >> From: Sriram Dash <sriram.dash@nxp.com> >> Date: Wed, 21 Sep 2016 11:39:30 +0530 >> Subject: [PATCH] usb: xhci: Fix the patch inherit dma configuration >> from parent dev >> >> Fixes the patch https://patchwork.kernel.org/patch/9319527/ >> ("usb: dwc3: host: inherit dma configuration from parent dev"). >> >> Signed-off-by: Sriram Dash <sriram.dash@nxp.com> >> --- >> drivers/usb/host/xhci-mem.c | 12 ++++++------ >> drivers/usb/host/xhci.c | 20 ++++++++++---------- >> 2 files changed, 16 insertions(+), 16 deletions(-) >> >> diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c >> index 6afe323..79608df 100644 >> --- a/drivers/usb/host/xhci-mem.c >> +++ b/drivers/usb/host/xhci-mem.c > >All the changes you did to this file seem fine, I completely missed that part. > >> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index >> 01d96c9..9a1ff09 100644 >> --- a/drivers/usb/host/xhci.c >> +++ b/drivers/usb/host/xhci.c Yes. Some sanity is required over this patch. >> @@ -231,7 +231,7 @@ static int xhci_free_msi(struct xhci_hcd *xhci) >> static int xhci_setup_msi(struct xhci_hcd *xhci) { >> int ret; >> - struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.controller); >> + struct pci_dev *pdev = to_pci_dev(xhci_to_hcd(xhci)->self.sysdev); >> >> ret = pci_enable_msi(pdev); >> if (ret) { > >This one is interesting as I stumbled over some code comment mentioning that for >dwc3-pci, we don't support MSI. I think with this change, we /can/ actually support >MSI, but this could be a separate patch and we'd have to test it on dwc3-pci >hardware. Same for most of this file. > >> @@ -745,7 +745,7 @@ void xhci_shutdown(struct usb_hcd *hcd) >> struct xhci_hcd *xhci = hcd_to_xhci(hcd); >> >> if (xhci->quirks & XHCI_SPURIOUS_REBOOT) >> - usb_disable_xhci_ports(to_pci_dev(hcd->self.controller)); >> + usb_disable_xhci_ports(to_pci_dev(hcd->self.sysdev)); >> >> spin_lock_irq(&xhci->lock); >> xhci_halt(xhci); > >This seems obviously correct, but I don't yet see why it currently works. We >probably don't call this function on dwc3. > >> #ifdef CONFIG_PM >> @@ -3605,7 +3605,7 @@ void xhci_free_dev(struct usb_hcd *hcd, struct >usb_device *udev) >> * if no devices remain. >> */ >> if (xhci->quirks & XHCI_RESET_ON_RESUME) >> - pm_runtime_put_noidle(hcd->self.controller); >> + pm_runtime_put_noidle(hcd->self.sysdev); >> #endif >> >> ret = xhci_check_args(hcd, udev, NULL, 0, true, __func__); > >I suspect this one is wrong, based on what Felipe explained earlier: >the power management should propagate down from the child to the parent >device. > >Someone who understands this better than I do should look at it. > >> @@ -3745,7 +3745,7 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct >usb_device *udev) >> * suspend if there is a device attached. >> */ >> if (xhci->quirks & XHCI_RESET_ON_RESUME) >> - pm_runtime_get_noresume(hcd->self.controller); >> + pm_runtime_get_noresume(hcd->self.sysdev); >> #endif >> >> > >Same here. > >> @@ -4834,7 +4834,7 @@ int xhci_get_frame(struct usb_hcd *hcd) int >> xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks) { >> struct xhci_hcd *xhci; >> - struct device *dev = hcd->self.controller; >> + struct device *dev = hcd->self.sysdev; >> int retval; > > >This one calls > > get_quirks(dev, xhci); > >not sure whether this should be called with self.controller or self.sysdev, we should >audit every one of the callers here to be sure: > >drivers/usb/host/xhci-mtk.c: return xhci_gen_setup(hcd, xhci_mtk_quirks); >drivers/usb/host/xhci-pci.c: retval = xhci_gen_setup(hcd, xhci_pci_quirks); >drivers/usb/host/xhci-plat.c: return xhci_gen_setup(hcd, xhci_plat_quirks); >drivers/usb/host/xhci-rcar.c: * xhci_gen_setup(). >drivers/usb/host/xhci-tegra.c: return xhci_gen_setup(hcd, tegra_xhci_quirks); > > Arnd
next prev parent reply other threads:[~2016-09-22 8:35 UTC|newest] Thread overview: 182+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-04-25 19:21 [PATCH] usb: dwc3: host: inherit dma configuration from parent dev Grygorii Strashko 2016-04-25 19:21 ` Grygorii Strashko 2016-04-26 6:17 ` Felipe Balbi 2016-04-26 6:17 ` Felipe Balbi 2016-04-26 8:14 ` Grygorii Strashko 2016-04-26 8:14 ` Grygorii Strashko 2016-04-27 5:41 ` Felipe Balbi 2016-04-27 5:41 ` Felipe Balbi 2016-04-27 11:55 ` Grygorii Strashko 2016-04-27 11:55 ` Grygorii Strashko 2016-04-27 13:59 ` Catalin Marinas 2016-04-27 13:59 ` Catalin Marinas 2016-04-27 14:11 ` Arnd Bergmann 2016-04-27 14:11 ` Arnd Bergmann 2016-04-27 15:50 ` Catalin Marinas 2016-04-27 15:50 ` Catalin Marinas 2016-04-27 16:04 ` Arnd Bergmann 2016-04-27 16:04 ` Arnd Bergmann 2016-04-27 16:53 ` Felipe Balbi 2016-04-27 16:53 ` Felipe Balbi 2016-04-27 17:42 ` Arnd Bergmann 2016-04-27 17:42 ` Arnd Bergmann 2016-04-27 17:59 ` Alan Stern 2016-04-27 17:59 ` Alan Stern 2016-04-27 18:08 ` Arnd Bergmann 2016-04-27 18:08 ` Arnd Bergmann 2016-04-27 20:05 ` Felipe Balbi 2016-04-27 20:05 ` Felipe Balbi 2016-04-27 21:05 ` Arnd Bergmann 2016-04-27 21:05 ` Arnd Bergmann 2016-04-28 6:37 ` Felipe Balbi 2016-04-28 6:37 ` Felipe Balbi 2016-04-28 14:16 ` Russell King - ARM Linux 2016-04-28 14:16 ` Russell King - ARM Linux 2016-04-28 14:23 ` Arnd Bergmann 2016-04-28 14:23 ` Arnd Bergmann 2016-04-28 14:27 ` Felipe Balbi 2016-04-28 14:27 ` Felipe Balbi 2016-09-01 22:14 ` Leo Li 2016-09-01 22:14 ` Leo Li 2016-09-02 10:43 ` Arnd Bergmann 2016-09-02 10:43 ` Arnd Bergmann 2016-09-02 10:47 ` Russell King - ARM Linux 2016-09-02 10:47 ` Russell King - ARM Linux 2016-09-02 11:08 ` Felipe Balbi 2016-09-02 11:08 ` Felipe Balbi 2016-09-02 14:11 ` Felipe Balbi 2016-09-02 14:11 ` Felipe Balbi 2016-09-02 14:21 ` Alan Stern 2016-09-02 14:21 ` Alan Stern 2016-09-02 15:51 ` Arnd Bergmann 2016-09-02 15:51 ` Arnd Bergmann 2016-09-07 7:17 ` Roger Quadros 2016-09-07 7:17 ` Roger Quadros 2016-09-07 8:29 ` Arnd Bergmann 2016-09-07 8:29 ` Arnd Bergmann 2016-09-07 13:04 ` Roger Quadros 2016-09-07 13:04 ` Roger Quadros 2016-09-07 14:38 ` Arnd Bergmann 2016-09-07 14:38 ` Arnd Bergmann 2016-09-02 16:23 ` Grygorii Strashko 2016-09-02 16:23 ` Grygorii Strashko 2016-09-02 10:53 ` Felipe Balbi 2016-09-02 10:53 ` Felipe Balbi 2016-09-02 11:55 ` Robin Murphy 2016-09-02 11:55 ` Robin Murphy 2016-09-02 12:56 ` Felipe Balbi 2016-09-02 12:56 ` Felipe Balbi 2016-09-02 13:10 ` Arnd Bergmann 2016-09-02 13:10 ` Arnd Bergmann 2016-09-02 22:16 ` Leo Li 2016-09-02 22:16 ` Leo Li 2016-09-05 15:39 ` Arnd Bergmann 2016-09-05 15:39 ` Arnd Bergmann 2016-09-06 6:35 ` Peter Chen 2016-09-06 6:35 ` Peter Chen 2016-09-06 6:40 ` Felipe Balbi 2016-09-06 6:40 ` Felipe Balbi 2016-09-06 10:46 ` Arnd Bergmann 2016-09-06 10:46 ` Arnd Bergmann 2016-09-06 10:50 ` Felipe Balbi 2016-09-06 10:50 ` Felipe Balbi 2016-09-06 13:27 ` Arnd Bergmann 2016-09-06 13:27 ` Arnd Bergmann 2016-09-07 6:51 ` Felipe Balbi 2016-09-07 6:51 ` Felipe Balbi 2016-09-07 7:44 ` Peter Chen 2016-09-07 7:44 ` Peter Chen 2016-09-07 8:52 ` Arnd Bergmann 2016-09-07 8:52 ` Arnd Bergmann 2016-09-07 9:29 ` Peter Chen 2016-09-07 9:29 ` Peter Chen 2016-09-07 9:35 ` Russell King - ARM Linux 2016-09-07 9:35 ` Russell King - ARM Linux 2016-09-07 10:18 ` Felipe Balbi 2016-09-07 10:18 ` Felipe Balbi 2016-09-06 10:38 ` Arnd Bergmann 2016-09-06 10:38 ` Arnd Bergmann 2016-09-07 6:33 ` Peter Chen 2016-09-07 6:33 ` Peter Chen 2016-09-07 8:48 ` Arnd Bergmann 2016-09-07 8:48 ` Arnd Bergmann 2016-09-07 9:55 ` Peter Chen 2016-09-07 9:55 ` Peter Chen 2016-09-07 10:33 ` Robin Murphy 2016-09-07 10:33 ` Robin Murphy 2016-09-07 10:47 ` Felipe Balbi 2016-09-07 10:47 ` Felipe Balbi 2016-09-14 16:31 ` Lorenzo Pieralisi 2016-09-14 16:31 ` Lorenzo Pieralisi 2016-09-14 21:50 ` Arnd Bergmann 2016-09-14 21:50 ` Arnd Bergmann 2016-09-07 10:24 ` Felipe Balbi 2016-09-07 10:24 ` Felipe Balbi 2016-09-07 15:24 ` Arnd Bergmann 2016-09-07 15:24 ` Arnd Bergmann 2016-09-07 16:08 ` Alan Stern 2016-09-07 16:08 ` Alan Stern 2016-09-07 19:45 ` Arnd Bergmann 2016-09-07 19:45 ` Arnd Bergmann 2016-09-08 1:15 ` Peter Chen 2016-09-08 1:15 ` Peter Chen 2016-09-08 8:02 ` Arnd Bergmann 2016-09-08 8:02 ` Arnd Bergmann 2016-09-08 8:03 ` Felipe Balbi 2016-09-08 8:03 ` Felipe Balbi 2016-09-08 8:26 ` Arnd Bergmann 2016-09-08 8:26 ` Arnd Bergmann 2016-09-08 8:29 ` Felipe Balbi 2016-09-08 8:29 ` Felipe Balbi 2016-09-08 8:45 ` Arnd Bergmann 2016-09-08 8:45 ` Arnd Bergmann 2016-09-08 9:43 ` Felipe Balbi 2016-09-08 9:43 ` Felipe Balbi 2016-09-08 10:17 ` Arnd Bergmann 2016-09-08 10:17 ` Arnd Bergmann 2016-09-08 11:00 ` Felipe Balbi 2016-09-08 11:00 ` Felipe Balbi 2016-09-08 11:11 ` Arnd Bergmann 2016-09-08 11:11 ` Arnd Bergmann 2016-09-08 11:20 ` Felipe Balbi 2016-09-08 11:20 ` Felipe Balbi 2016-09-08 11:39 ` Arnd Bergmann 2016-09-08 11:39 ` Arnd Bergmann 2016-09-08 11:52 ` Felipe Balbi 2016-09-08 11:52 ` Felipe Balbi 2016-09-08 12:46 ` Arnd Bergmann 2016-09-08 12:46 ` Arnd Bergmann 2016-09-08 12:02 ` Grygorii Strashko 2016-09-08 12:02 ` Grygorii Strashko 2016-09-08 12:14 ` Arnd Bergmann 2016-09-08 12:14 ` Arnd Bergmann 2016-09-08 12:28 ` Peter Chen 2016-09-08 12:28 ` Peter Chen 2016-09-08 12:52 ` Arnd Bergmann 2016-09-08 12:52 ` Arnd Bergmann 2016-09-09 1:37 ` Peter Chen 2016-09-09 1:37 ` Peter Chen 2016-09-08 12:59 ` Grygorii Strashko 2016-09-08 12:59 ` Grygorii Strashko 2016-09-09 1:52 ` Peter Chen 2016-09-09 1:52 ` Peter Chen 2016-09-21 11:06 ` Sriram Dash 2016-09-21 11:06 ` Sriram Dash 2016-09-21 11:31 ` Arnd Bergmann 2016-09-21 11:31 ` Arnd Bergmann 2016-09-21 11:43 ` Sriram Dash 2016-09-21 11:43 ` Sriram Dash 2016-09-21 12:48 ` Arnd Bergmann 2016-09-21 12:48 ` Arnd Bergmann 2016-09-22 5:02 ` Sriram Dash [this message] 2016-09-22 5:02 ` Sriram Dash 2016-10-07 22:46 ` Leo Li 2016-10-07 22:46 ` Leo Li 2016-09-21 17:14 ` [PATCH] usb: xhci: Fix the patch inherit dma configuration from kbuild test robot 2016-09-21 17:14 ` kbuild test robot 2016-04-27 20:57 ` [PATCH] usb: dwc3: host: inherit dma configuration from parent dev Felipe Balbi 2016-04-27 20:57 ` Felipe Balbi 2016-04-27 14:14 ` Grygorii Strashko 2016-04-27 14:14 ` Grygorii Strashko 2016-05-05 17:07 ` Brian Norris 2016-05-05 17:07 ` Brian Norris
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=DB5PR0401MB1925E5980009DD23FA9C7D50F5C90@DB5PR0401MB1925.eurprd04.prod.outlook.com \ --to=sriram.dash@nxp.com \ --cc=arnd@arndb.de \ --cc=balbi@kernel.org \ --cc=catalin.marinas@arm.com \ --cc=david.fisher1@synopsys.com \ --cc=gregkh@linuxfoundation.org \ --cc=grygorii.strashko@ti.com \ --cc=hzpeterchen@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=nsekhar@ti.com \ --cc=oss@buserror.net \ --cc=pku.leo@gmail.com \ --cc=stern@rowland.harvard.edu \ --cc=stuart.yoder@nxp.com \ --cc=suresh.gupta@nxp.com \ --cc=tqnguyen@apm.com \ --cc=yoshihiro.shimoda.uh@renesas.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.