[PATCH] drm: enable uncached DMA optimization for ARM and arm64

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Feb 7 15:20:27 UTC 2019


On Wed, 6 Feb 2019 at 19:38, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Am 06.02.19 um 18:23 schrieb Ard Biesheuvel:
> > On Fri, 25 Jan 2019 at 11:35, Ard Biesheuvel <ard.biesheuvel at linaro.org> wrote:
> >> On Fri, 25 Jan 2019 at 12:30, Christian König
> >> <ckoenig.leichtzumerken at gmail.com> wrote:
> >>> Am 25.01.19 um 09:43 schrieb Ard Biesheuvel:
> >>>> On Thu, 24 Jan 2019 at 15:01, Alex Deucher <alexdeucher at gmail.com> wrote:
> >>>>> On Thu, Jan 24, 2019 at 9:00 AM Ard Biesheuvel
> >>>>> <ard.biesheuvel at linaro.org> wrote:
> >>>>>> On Thu, 24 Jan 2019 at 13:31, Koenig, Christian
> >>>>>> <Christian.Koenig at amd.com> wrote:
> >>>>>>> Am 24.01.19 um 13:06 schrieb Ard Biesheuvel:
> >>>>>>>> The DRM driver stack is designed to work with cache coherent devices
> >>>>>>>> only, but permits an optimization to be enabled in some cases, where
> >>>>>>>> for some buffers, both the CPU and the GPU use uncached mappings,
> >>>>>>>> removing the need for DMA snooping and allocation in the CPU caches.
> >>>>>>>>
> >>>>>>>> The use of uncached GPU mappings relies on the correct implementation
> >>>>>>>> of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
> >>>>>>>> will use cached mappings nonetheless. On x86 platforms, this does not
> >>>>>>>> seem to matter, as uncached CPU mappings will snoop the caches in any
> >>>>>>>> case. However, on ARM and arm64, enabling this optimization on a
> >>>>>>>> platform where NoSnoop is ignored results in loss of coherency, which
> >>>>>>>> breaks correct operation of the device. Since we have no way of
> >>>>>>>> detecting whether NoSnoop works or not, just disable this
> >>>>>>>> optimization entirely for ARM and arm64.
> >>>>>>>>
> >>>>>>>> Cc: Christian Koenig <christian.koenig at amd.com>
> >>>>>>>> Cc: Alex Deucher <alexander.deucher at amd.com>
> >>>>>>>> Cc: David Zhou <David1.Zhou at amd.com>
> >>>>>>>> Cc: Huang Rui <ray.huang at amd.com>
> >>>>>>>> Cc: Junwei Zhang <Jerry.Zhang at amd.com>
> >>>>>>>> Cc: Michel Daenzer <michel.daenzer at amd.com>
> >>>>>>>> Cc: David Airlie <airlied at linux.ie>
> >>>>>>>> Cc: Daniel Vetter <daniel at ffwll.ch>
> >>>>>>>> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> >>>>>>>> Cc: Maxime Ripard <maxime.ripard at bootlin.com>
> >>>>>>>> Cc: Sean Paul <sean at poorly.run>
> >>>>>>>> Cc: Michael Ellerman <mpe at ellerman.id.au>
> >>>>>>>> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> >>>>>>>> Cc: Will Deacon <will.deacon at arm.com>
> >>>>>>>> Cc: Christoph Hellwig <hch at infradead.org>
> >>>>>>>> Cc: Robin Murphy <robin.murphy at arm.com>
> >>>>>>>> Cc: amd-gfx list <amd-gfx at lists.freedesktop.org>
> >>>>>>>> Cc: dri-devel <dri-devel at lists.freedesktop.org>
> >>>>>>>> Reported-by: Carsten Haitzler <Carsten.Haitzler at arm.com>
> >>>>>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> >>>>>>> The subject line should probably read "disable uncached...".
> >>>>>>>
> >>>>>> Ugh, of course ...
> >>>>>>
> >>>>>>> With that fixed the patch is Reviewed-by: Christian König
> >>>>>>> <christian.koenig at amd.com>.
> >>>>>>>
> >>>>> Same:
> >>>>> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> >>>>>
> >>>> Thanks all
> >>>>
> >>>> Should I resend the patch with the subject corrected?
> >>> I will update the subject line and push it upstream through
> >>> drm-misc-next if nobody objects.
> >>>
> >> Wonderful, thanks.
> > Hi Christian,
> >
> > Are you still planning to merge this for v5.1?
>
> My bad, only pushed this to our internal branch, but forgot out
> drm-misc-next.
>
> Fixed now, thanks for the reminder.
>

Thanks,

Does anyone mind if I propose this patch for backporting to v4.19 or
earlier once it gets merged for v5.1?


More information about the amd-gfx mailing list