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

From: Ard Biesheuvel
Date: Fri Jan 25 2019 - 06:35:30 EST


On Fri, 25 Jan 2019 at 12:30, Christian KÃnig
<ckoenig.leichtzumerken@xxxxxxxxx> wrote:
>
> Am 25.01.19 um 09:43 schrieb Ard Biesheuvel:
> > On Thu, 24 Jan 2019 at 15:01, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
> >> On Thu, Jan 24, 2019 at 9:00 AM Ard Biesheuvel
> >> <ard.biesheuvel@xxxxxxxxxx> wrote:
> >>> On Thu, 24 Jan 2019 at 13:31, Koenig, Christian
> >>> <Christian.Koenig@xxxxxxx> 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@xxxxxxx>
> >>>>> Cc: Alex Deucher <alexander.deucher@xxxxxxx>
> >>>>> Cc: David Zhou <David1.Zhou@xxxxxxx>
> >>>>> Cc: Huang Rui <ray.huang@xxxxxxx>
> >>>>> Cc: Junwei Zhang <Jerry.Zhang@xxxxxxx>
> >>>>> Cc: Michel Daenzer <michel.daenzer@xxxxxxx>
> >>>>> Cc: David Airlie <airlied@xxxxxxxx>
> >>>>> Cc: Daniel Vetter <daniel@xxxxxxxx>
> >>>>> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
> >>>>> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxx>
> >>>>> Cc: Sean Paul <sean@xxxxxxxxxx>
> >>>>> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> >>>>> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> >>>>> Cc: Will Deacon <will.deacon@xxxxxxx>
> >>>>> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> >>>>> Cc: Robin Murphy <robin.murphy@xxxxxxx>
> >>>>> Cc: amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>
> >>>>> Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx>
> >>>>> Reported-by: Carsten Haitzler <Carsten.Haitzler@xxxxxxx>
> >>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> >>>> The subject line should probably read "disable uncached...".
> >>>>
> >>> Ugh, of course ...
> >>>
> >>>> With that fixed the patch is Reviewed-by: Christian KÃnig
> >>>> <christian.koenig@xxxxxxx>.
> >>>>
> >> Same:
> >> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
> >>
> > 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.