]> git.baikalelectronics.ru Git - kernel.git/commit
drm/shmem-helpers: Allocate wc pages on x86
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 12 Aug 2021 13:14:11 +0000 (15:14 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 12 Aug 2021 19:41:10 +0000 (21:41 +0200)
commitb287b916c1ce4c7019a6997066e2e09daefdd9b5
treeffa7be8fb8d9b588c36ccd0b29300d8d72cb4661
parent6c0e81fdbbc35e8c2f8ca8f2f66c4c7d3770fa59
drm/shmem-helpers: Allocate wc pages on x86

intel-gfx-ci realized that something is not quite coherent anymore on
some platforms for our i915+vgem tests, when I tried to switch vgem
over to shmem helpers.

After lots of head-scratching I realized that I've removed calls to
drm_clflush. And we need those. To make this a bit cleaner use the
same page allocation tooling as ttm, which does internally clflush
(and more, as neeeded on any platform instead of just the intel x86
cpus i915 can be combined with).

Unfortunately this doesn't exist on arm, or as a generic feature. For
that I think only the dma-api can get at wc memory reliably, so maybe
we'd need some kind of GFP_WC flag to do this properly.

v2: Add a TODO comment about what should be done to support this in
other places (Thomas)

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210812131412.2487363-3-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_gem_shmem_helper.c