Re: [PATCH v3 2/2] usb:dwc3: pass arch data to xhci-hcd child
From: Felipe Balbi
Date: Tue Apr 05 2016 - 01:20:25 EST
santosh shilimkar <santosh.shilimkar@xxxxxxxxxx> writes:
> On 4/3/2016 11:28 PM, Felipe Balbi wrote:
>> santosh shilimkar <santosh.shilimkar@xxxxxxxxxx> writes:
>>> +Arnd, RMK,
>>>
>>> On 4/1/2016 4:57 AM, Felipe Balbi wrote:
>>>>
>>>> Hi,
>>>>
>>>> Grygorii Strashko <grygorii.strashko@xxxxxx> writes:
>>>>> On 04/01/2016 01:20 PM, Felipe Balbi wrote:
>>>
>>> [...]
>>>
>>>>> commit 7ace8fc8219e4cbbfd5b4790390d9a01a2541cdf
>>>>> Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
>>>>> Date: Mon Jul 13 18:10:05 2015 +0900
>>>>>
>>>>> usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU
>>>>>
>>>>> The dma_map_single and dma_unmap_single should set "gadget->dev.parent"
>>>>> instead of "&gadget->dev" in the first argument because the parent has
>>>>> a udc controller's device pointer.
>>>>> Otherwise, iommu functions are not called in ARM environment.
>>>>>
>>>>> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
>>>>> Signed-off-by: Felipe Balbi <balbi@xxxxxx>
>>>>>
>>>>> Above actually means that DMA configuration code can be dropped from
>>>>> usb_add_gadget_udc_release() completely. Right?:
>>>>
>>>> true, but now I'm not sure what's better: copy all necessary bits from
>>>> parent or just pass the parent device to all DMA API.
>>>>
>>>> Anybody to shed a light here ?
>>>>
>>> The expectation is drivers should pass the proper dev pointers and let
>>> core DMA code deal with it since it knows the per device dma properties.
>>
>> okay, so how do you get proper DMA pointers with something like this:
>>
>> kdwc3_dma_mask = dma_get_mask(dev);
>> dev->dma_mask = &kdwc3_dma_mask;
>>
>> This doesn't anything.
>>
> Drivers actually needs to touch dma_mask(s) only if the core DMA
> code hasn't populated it it.
that's fair, but when driver _do_ touch it, I'd rather it be useful ;-)
> I see Grygorii pointed out couple of things already.
yeah
--
balbi
Attachment:
signature.asc
Description: PGP signature