lkml.org 
[lkml]   [2017]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v13 06/12] usb: xhci: use bus->sysdev for DMA configuration
    On Tue, Feb 14, 2017 at 11:36 AM, Roger Quadros <rogerq@ti.com> wrote:
    > On 11/02/17 03:27, Peter Chen wrote:
    >> From: Arnd Bergmann <arnd@arndb.de>
    >>
    >> 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.
    >>
    >> Cc: Baolin Wang <baolin.wang@linaro.org>
    >> Cc: Vivek Gautam <vivek.gautam@codeaurora.org>
    >> Cc: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    >> Cc: Mathias Nyman <mathias.nyman@linux.intel.com>
    >>
    >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    >> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
    >> ---
    >> Hi, Baolin, Vivek and Alexander,
    >> I removed your tested-by tag due to add one change that adding sysdev
    >> for shared hcd too, if your test shows this change works for you or
    >> has no effect for you, please consider adding tested-by tag again,
    >> thanks.

    >> @@ -222,20 +241,20 @@ static int xhci_plat_probe(struct platform_device *pdev)
    >>
    >> xhci->clk = clk;
    >> xhci->main_hcd = hcd;
    >> - 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);
    >> if (!xhci->shared_hcd) {
    >> ret = -ENOMEM;
    >> goto disable_clk;
    >> }
    >>
    >> - if (device_property_read_bool(&pdev->dev, "usb3-lpm-capable"))
    >> + if (device_property_read_bool(sysdev, "usb3-lpm-capable"))
    >
    > Why are we using sysdev to read DT property? We should be using the
    > XHCI device (&pdev->dev) here, no?

    If I remember correctly, this is one of the cases where pdev does not
    have a device node attached to it because it was created by the driver
    of the parent device on the fly in case of dwc3. When you have a pure xhci
    device in DT, the two pointers are the same.

    Arnd

    \
     
     \ /
      Last update: 2017-02-14 19:07    [W:3.991 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site