On 6 June 2016 at 22:59, Felipe Balbi <ba...@kernel.org> wrote:
>
> Hi,
>
> Baolin Wang <baolin.w...@linaro.org> writes:
>> On ARM64 platform, it will set 'dummy_dma_ops' for device dma_ops if
>> it did not call 'arch_setup_dma_ops' at device creation time, that will
>> cause failure when setting the dma mask for device.
>>
>> Thus this patch set the xhci device dma_ops from the parent device if
>> the xhci device dma_ops is 'dummy_dma_ops'.
>>
>> Changes since v1:
>>  - Add CONFIG_ARM64 macro.
>>
>> Signed-off-by: Baolin Wang <baolin.w...@linaro.org>
>> ---
>>  drivers/usb/dwc3/host.c |    5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
>> index c679f63..edb666d 100644
>> --- a/drivers/usb/dwc3/host.c
>> +++ b/drivers/usb/dwc3/host.c
>> @@ -32,6 +32,11 @@ int dwc3_host_init(struct dwc3 *dwc)
>>               return -ENOMEM;
>>       }
>>
>> +#ifdef CONFIG_ARM64
>> +     if (get_dma_ops(&xhci->dev) == get_dma_ops(NULL))
>> +             xhci->dev.archdata.dma_ops = get_dma_ops(dwc->dev);
>> +#endif
>
> I don't like the ifdef and also don't like that this is done in dwc3
> itself. Seems like we need something like this done from the
> platform_bus core.

OK. I will try to fix this issue in platform_bus core. Thanks.

>
> --
> balbi



-- 
Baolin.wang
Best Regards

Reply via email to