lkml.org 
[lkml]   [2022]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] of: Fix "dma-ranges" handling for bus controllers
On Thu, 29 Sep 2022 13:48:38 +0100, Robin Murphy wrote:
> Commit 951d48855d86 ("of: Make of_dma_get_range() work on bus nodes")
> relaxed the handling of "dma-ranges" for any leaf node on the assumption
> that it would still represent a usage error for the property to be
> present on a non-bus leaf node. However there turns out to be a fiddly
> case where a bus also represents a DMA-capable device in its own right,
> such as a PCIe root complex with an integrated DMA engine on its
> platform side. In such cases, "dma-ranges" translation is entirely valid
> for devices discovered behind the bus, but should not be erroneously
> applied to the bus controller device itself which operates in its
> parent's address space. Fix this by restoring the previous behaviour for
> the specific case where a device is configured via its own OF node,
> since it is logical to assume that a device should never represent its
> own parent bus.
>
> Reported-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
>
> v2: Fix !HAS_DMA build error
>
> drivers/of/address.c | 4 +++-
> drivers/of/device.c | 9 ++++++++-
> drivers/of/of_private.h | 5 +++++
> 3 files changed, 16 insertions(+), 2 deletions(-)
>

Applied, thanks!

I assume this was not tagged with Fixes or stable because there is not
yet a user that needs it? I didn't add it either because I'm a bit
worried about regressions and applying this just before the merge
window. So send it to stable later if anyone cares.

Rob

\
 
 \ /
  Last update: 2022-09-30 21:39    [W:0.037 / U:2.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site