From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751760AbdBIMPS (ORCPT ); Thu, 9 Feb 2017 07:15:18 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:52924 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750994AbdBIMPO (ORCPT ); Thu, 9 Feb 2017 07:15:14 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org BF16E6080B Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=vivek.gautam@codeaurora.org MIME-Version: 1.0 In-Reply-To: <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> References: <1486372421-29073-1-git-send-email-peter.chen@nxp.com> <1486372421-29073-7-git-send-email-peter.chen@nxp.com> <20170208204300.GC8068@usblab-sd-06.qualcomm.com> <85873d69-5664-0603-8cbd-a250d29ac335@ti.com> <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> From: Vivek Gautam Date: Thu, 9 Feb 2017 17:40:50 +0530 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v12 6/9] usb: xhci: use bus->sysdev for DMA configuration To: Roger Quadros Cc: Jack Pham , Peter Chen , Greg KH , Alan Stern , Ulf Hansson , broonie@kernel.org, sre@kernel.org, "robh+dt" , shawnguo@kernel.org, rjw@rjwysocki.net, Dmitry Eremin-Solenikov , =?UTF-8?Q?Heiko_St=C3=BCbner?= , "linux-arm-kernel@lists.infradead.org" , p.zabel@pengutronix.de, "devicetree@vger.kernel.org" , Pawel Moll , Mark Rutland , Linux USB Mailing List , Arnd Bergmann , s.hauer@pengutronix.de, mail@maciej.szmigiero.name, troy.kisky@boundarydevices.com, Fabio Estevam , oscar@naiandei.net, Stephen Boyd , linux-pm@vger.kernel.org, Joshua Clayton , "linux-kernel@vger.kernel.org" , mka@chromium.org, Vaibhav Hiremath , Gary Bisson , Hans Verkuil , krzk@kernel.org, Sriram Dash , Mathias Nyman Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 9, 2017 at 5:24 PM, Roger Quadros wrote: > > > On 09/02/17 13:53, Roger Quadros wrote: >> >> >> On 08/02/17 22:43, Jack Pham wrote: >>> Hi Peter, Sriram, Arnd, >>> >>> On Mon, Feb 06, 2017 at 05:13:38PM +0800, Peter Chen wrote: >>>> From: Arnd Bergmann >>>> >>>> For xhci-hcd platform device, all the DMA parameters are not >>>> configured properly, notably dma ops for dwc3 devices. So, set >>>> the dma for xhci from sysdev. sysdev is pointing to device that >>>> is known to the system firmware or hardware. >>>> >>>> Signed-off-by: Arnd Bergmann >>>> Signed-off-by: Sriram Dash >>>> Tested-by: Baolin Wang >>>> Tested-by: Vivek Gautam >>>> Tested-by: Alexander Sverdlin >>>> Signed-off-by: Mathias Nyman >>>> --- >>>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c >>>> index 6d33b42..7a9c860 100644 >>>> --- a/drivers/usb/host/xhci-plat.c >>>> +++ b/drivers/usb/host/xhci-plat.c >>> >>>> - hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); >>>> + hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>>> + dev_name(&pdev->dev), NULL); >>> >>> As mentioned already in [1], usb_create_shared_hcd() is called to create >>> the second bus, however it also needs to be converted. >>> >>> Not exactly as Roger's suggestion but this worked for me: >>> >>> - xhci->shared_hcd = usb_create_shared_hcd(driver, &pdev->dev, >>> + xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>> dev_name(&pdev->dev), hcd); >> >> But we're creating a shared_hcd and there is an API for that so why not use it >> instead of calling __usb_create_hcd()? >> > > Just realized after I pressed send that there is no sysdev parameter > for create_shared_hcd(). That's right. The create_shared_hcd() makes use of only pdev->dev, and we need to configure dma for shared_hcd as well though sysdev. Sorry my mail client didn't show this mail in time. Please ignore my earlier comment. > >>> if (!xhci->shared_hcd) { >>> ret = -ENOMEM; >>> >>> Without this, SuperSpeed devices fail to enumerate: >>> >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> >>> >>> Thanks, >>> Jack >>> >>> [1] https://lkml.org/lkml/2016/12/9/240 >>> >> > > -- > cheers, > -roger > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vivek Gautam Subject: Re: [PATCH v12 6/9] usb: xhci: use bus->sysdev for DMA configuration Date: Thu, 9 Feb 2017 17:40:50 +0530 Message-ID: References: <1486372421-29073-1-git-send-email-peter.chen@nxp.com> <1486372421-29073-7-git-send-email-peter.chen@nxp.com> <20170208204300.GC8068@usblab-sd-06.qualcomm.com> <85873d69-5664-0603-8cbd-a250d29ac335@ti.com> <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Roger Quadros Cc: Mark Rutland , Peter Chen , Ulf Hansson , =?UTF-8?Q?Heiko_St=C3=BCbner?= , Stephen Boyd , mail@maciej.szmigiero.name, "linux-kernel@vger.kernel.org" , Gary Bisson , Sriram Dash , Fabio Estevam , Joshua Clayton , Arnd Bergmann , Dmitry Eremin-Solenikov , Vaibhav Hiremath , krzk@kernel.org, mka@chromium.org, Alan Stern , "devicetree@vger.kernel.org" , Jack Pham , Pawel Moll , linux-pm@vger.kernel.org, s.hauer@pengutronix.de, troy.kisky@boundarydevices.com, robh+dt List-Id: devicetree@vger.kernel.org On Thu, Feb 9, 2017 at 5:24 PM, Roger Quadros wrote: > > > On 09/02/17 13:53, Roger Quadros wrote: >> >> >> On 08/02/17 22:43, Jack Pham wrote: >>> Hi Peter, Sriram, Arnd, >>> >>> On Mon, Feb 06, 2017 at 05:13:38PM +0800, Peter Chen wrote: >>>> From: Arnd Bergmann >>>> >>>> For xhci-hcd platform device, all the DMA parameters are not >>>> configured properly, notably dma ops for dwc3 devices. So, set >>>> the dma for xhci from sysdev. sysdev is pointing to device that >>>> is known to the system firmware or hardware. >>>> >>>> Signed-off-by: Arnd Bergmann >>>> Signed-off-by: Sriram Dash >>>> Tested-by: Baolin Wang >>>> Tested-by: Vivek Gautam >>>> Tested-by: Alexander Sverdlin >>>> Signed-off-by: Mathias Nyman >>>> --- >>>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c >>>> index 6d33b42..7a9c860 100644 >>>> --- a/drivers/usb/host/xhci-plat.c >>>> +++ b/drivers/usb/host/xhci-plat.c >>> >>>> - hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); >>>> + hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>>> + dev_name(&pdev->dev), NULL); >>> >>> As mentioned already in [1], usb_create_shared_hcd() is called to create >>> the second bus, however it also needs to be converted. >>> >>> Not exactly as Roger's suggestion but this worked for me: >>> >>> - xhci->shared_hcd = usb_create_shared_hcd(driver, &pdev->dev, >>> + xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>> dev_name(&pdev->dev), hcd); >> >> But we're creating a shared_hcd and there is an API for that so why not use it >> instead of calling __usb_create_hcd()? >> > > Just realized after I pressed send that there is no sysdev parameter > for create_shared_hcd(). That's right. The create_shared_hcd() makes use of only pdev->dev, and we need to configure dma for shared_hcd as well though sysdev. Sorry my mail client didn't show this mail in time. Please ignore my earlier comment. > >>> if (!xhci->shared_hcd) { >>> ret = -ENOMEM; >>> >>> Without this, SuperSpeed devices fail to enumerate: >>> >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> >>> >>> Thanks, >>> Jack >>> >>> [1] https://lkml.org/lkml/2016/12/9/240 >>> >> > > -- > cheers, > -roger > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project From mboxrd@z Thu Jan 1 00:00:00 1970 From: vivek.gautam@codeaurora.org (Vivek Gautam) Date: Thu, 9 Feb 2017 17:40:50 +0530 Subject: [PATCH v12 6/9] usb: xhci: use bus->sysdev for DMA configuration In-Reply-To: <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> References: <1486372421-29073-1-git-send-email-peter.chen@nxp.com> <1486372421-29073-7-git-send-email-peter.chen@nxp.com> <20170208204300.GC8068@usblab-sd-06.qualcomm.com> <85873d69-5664-0603-8cbd-a250d29ac335@ti.com> <6f131f15-d2f0-c8ac-c6af-accd23afab62@ti.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Feb 9, 2017 at 5:24 PM, Roger Quadros wrote: > > > On 09/02/17 13:53, Roger Quadros wrote: >> >> >> On 08/02/17 22:43, Jack Pham wrote: >>> Hi Peter, Sriram, Arnd, >>> >>> On Mon, Feb 06, 2017 at 05:13:38PM +0800, Peter Chen wrote: >>>> From: Arnd Bergmann >>>> >>>> For xhci-hcd platform device, all the DMA parameters are not >>>> configured properly, notably dma ops for dwc3 devices. So, set >>>> the dma for xhci from sysdev. sysdev is pointing to device that >>>> is known to the system firmware or hardware. >>>> >>>> Signed-off-by: Arnd Bergmann >>>> Signed-off-by: Sriram Dash >>>> Tested-by: Baolin Wang >>>> Tested-by: Vivek Gautam >>>> Tested-by: Alexander Sverdlin >>>> Signed-off-by: Mathias Nyman >>>> --- >>>> diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c >>>> index 6d33b42..7a9c860 100644 >>>> --- a/drivers/usb/host/xhci-plat.c >>>> +++ b/drivers/usb/host/xhci-plat.c >>> >>>> - hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); >>>> + hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>>> + dev_name(&pdev->dev), NULL); >>> >>> As mentioned already in [1], usb_create_shared_hcd() is called to create >>> the second bus, however it also needs to be converted. >>> >>> Not exactly as Roger's suggestion but this worked for me: >>> >>> - xhci->shared_hcd = usb_create_shared_hcd(driver, &pdev->dev, >>> + xhci->shared_hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, >>> dev_name(&pdev->dev), hcd); >> >> But we're creating a shared_hcd and there is an API for that so why not use it >> instead of calling __usb_create_hcd()? >> > > Just realized after I pressed send that there is no sysdev parameter > for create_shared_hcd(). That's right. The create_shared_hcd() makes use of only pdev->dev, and we need to configure dma for shared_hcd as well though sysdev. Sorry my mail client didn't show this mail in time. Please ignore my earlier comment. > >>> if (!xhci->shared_hcd) { >>> ret = -ENOMEM; >>> >>> Without this, SuperSpeed devices fail to enumerate: >>> >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> usb 2-1: new SuperSpeed USB device number 3 using xhci-hcd >>> usb 2-1: device descriptor read/8, error -11 >>> >>> >>> Thanks, >>> Jack >>> >>> [1] https://lkml.org/lkml/2016/12/9/240 >>> >> > > -- > cheers, > -roger > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project