[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5880A41B.7000208@linux.intel.com>
Date: Thu, 19 Jan 2017 13:33:47 +0200
From: Mathias Nyman <mathias.nyman@...ux.intel.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: Roger Quadros <rogerq@...com>,
Alan Stern <stern@...land.harvard.edu>,
Sriram Dash <sriram.dash@....com>,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
mathias.nyman@...el.com, suresh.gupta@....com,
felipe.balbi@...ux.intel.com, pku.leo@...il.com,
Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH v5 4/6] usb: xhci: use bus->sysdev for DMA configuration
On 19.01.2017 11:22, Greg KH wrote:
> On Wed, Jan 18, 2017 at 01:58:28PM +0200, Mathias Nyman wrote:
>> On 12.01.2017 10:38, Roger Quadros wrote:
>>> Mathias,
>>>
>>> On 11/01/17 17:08, Alan Stern wrote:
>>>> On Wed, 11 Jan 2017, Mathias Nyman wrote:
>>>>
>>>>> On 17.11.2016 13:43, Sriram Dash wrote:
>>>>>> From: Arnd Bergmann <arnd@...db.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.
>>>>>>
>>>>>> Signed-off-by: Arnd Bergmann <arnd@...db.de>
>>>>>> Signed-off-by: Sriram Dash <sriram.dash@....com>
>>>>>> Tested-by: Baolin Wang <baolin.wang@...aro.org>
>>>>>> ---
>>>>>
>>>>> ...
>>>>>
>>>>>> + /*
>>>>>> + * sysdev must point to a device that is known to the system firmware
>>>>>> + * or PCI hardware. We handle these three cases here:
>>>>>> + * 1. xhci_plat comes from firmware
>>>>>> + * 2. xhci_plat is child of a device from firmware (dwc3-plat)
>>>>>> + * 3. xhci_plat is grandchild of a pci device (dwc3-pci)
>>>>>> + */
>>>>>> + sysdev = &pdev->dev;
>>>>>> + if (sysdev->parent && !sysdev->of_node && sysdev->parent->of_node)
>>>>>> + sysdev = sysdev->parent;
>>>>>> +#ifdef CONFIG_PCI
>>>>>> + else if (sysdev->parent && sysdev->parent->parent &&
>>>>>> + sysdev->parent->parent->bus == &pci_bus_type)
>>>>>> + sysdev = sysdev->parent->parent;
>>>>>> +#endif
>>>>>> +
>>>>>
>>>>> Not maybe the the ideal situation here, and looks really tailored to make PCI dwc3
>>>>> controllers with xhci support work.
>>>>>
>>>>> Was there some reason child devices can't automatically inherit the dma mask from the parents,
>>>>> forcing us to dig it from grandparents?
>>>>>
>>>>> Anyway, looks like the dwc3 part is already in 4.10-rc,
>>>>> If Greg and Alan want to take this series that's fine by me
>>>>
>>>> I have no objections.
>>>>
>>>> Alan Stern
>>>>
>>>>> I haven't tested that it won't break anything on PCI XHCI controllers though
>>>>>
>>>>> -Mathias
>>>
>>> Are you going to pick all the remaining patches from this series (i.e. 1 to 4)?
>>>
>>> That should fix the warning that people are seeing on v4.10-rc.
>>>
>>
>> Let's check with Greg
>>
>> Greg, 5/6 and 6/6 are in 4.10-rc already, causing additional warnings for
>> people using dwc3 xhci.
>>
>> First 3 patches change usb core, patch 4 xhci.
>>
>> Compiles and boots, doesn't break pci xhci (non-dwc3) functionality
>>
>> Would you like me to send first 4 patches for usb-linus to get a clean final 4.10
>> without warnings, or to send them for usb-next?
>>
>> Or will you just pick the patches from here directly.
>
> I don't have them "here" anymore, they are long-gone from my patch
> queue, sorry.
>
> Can you resend them, I don't know what these patches contained, but if
> they fix an 4.10 issue, that would be good to have there, right?
>
Right, I'll send them
-Mathias
Powered by blists - more mailing lists