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

Christian König ckoenig.leichtzumerken at gmail.com
Fri Jan 25 11:30:23 UTC 2019


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.

Christian.

> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



More information about the amd-gfx mailing list