[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f3fcd74b-7264-7ff2-4f70-7bf4235302de@arm.com>
Date: Thu, 12 Jan 2017 13:43:13 +0000
From: Robin Murphy <robin.murphy@....com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Will Deacon <will.deacon@....com>,
Nikita Yushchenko <nikita.yoush@...entembedded.com>,
linux-arm-kernel@...ts.infradead.org,
linux-renesas-soc@...r.kernel.org,
Simon Horman <horms@...ge.net.au>,
Bjorn Helgaas <bhelgaas@...gle.com>, fkan@....com,
linux-kernel@...r.kernel.org,
Artemi Ivanov <artemi.ivanov@...entembedded.com>
Subject: Re: [PATCH 1/2] dma-mapping: let arch know origin of dma range passed
to arch_setup_dma_ops()
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
>
Powered by blists - more mailing lists