[PATCH 1/2] dma-mapping: let arch know origin of dma range passed to arch_setup_dma_ops()
Robin Murphy
robin.murphy at arm.com
Thu Jan 12 05:43:13 PST 2017
On 12/01/17 13:25, Arnd Bergmann wrote:
> On Thursday, January 12, 2017 12:16:24 PM CET Will Deacon wrote:
>> On Thu, Jan 12, 2017 at 08:52:51AM +0300, Nikita Yushchenko wrote:
>>>>> diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
>>>>> index 5ac373c..480b644 100644
>>>>> --- a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
>>>>> +++ b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
>>>>> @@ -540,7 +540,7 @@ int fsl_mc_device_add(struct dprc_obj_desc *obj_desc,
>>>>>
>>>>> /* Objects are coherent, unless 'no shareability' flag set. */
>>>>> if (!(obj_desc->flags & DPRC_OBJ_FLAG_NO_MEM_SHAREABILITY))
>>>>> - arch_setup_dma_ops(&mc_dev->dev, 0, 0, NULL, true);
>>>>> + arch_setup_dma_ops(&mc_dev->dev, 0, 0, false, NULL, true);
>>>>>
>>>>> /*
>>>>> * The device-specific probe callback will get invoked by device_add()
>>>>
>>>> Why are these actually calling arch_setup_dma_ops() here in the first
>>>> place? Are these all devices that are DMA masters without an OF node?
>>>
>>> I don't know, but that's a different topic. This patch just adds
>>> argument and sets it to false everywhere but in the location when range
>>> should be definitely enforced.
>>
>> I also wouldn't lose any sleep over a staging driver.
>
> I think this is in the process of being moved out of staging, and
> my question was about the other two as well:
The fsl-mc is actually a sort-of-bus-controller probing and configuring
its (directly DMA-capable) child devices, so is in fact legitimate here.
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
That one is completely bogus, and should just go away.
> drivers/iommu/rockchip-iommu.c
That one is part of some ugly trickery involving creating a fake device
to represent multiple separate IOMMU devices. The driver could probably
be reworked to not need it (the Exynos IOMMU handles a similar situation
without such tricks), but it's non-trivial.
Robin.
>
> Arnd
>
More information about the linux-arm-kernel
mailing list