• Daniel Vetter's avatar
    drm/shmem-helpers: Allocate wc pages on x86 · 804b6e5e
    Daniel Vetter authored
    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: default avatarThomas Zimmermann <tzimmermann@suse.de>
    Signed-off-by: default avatarDaniel 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
    804b6e5e
drm_gem_shmem_helper.c 20.3 KB