drm/i915/gt: Replace manual kmap_atomic() with pin_map for renderstate
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 19 Jun 2020 23:45:43 +0000 (00:45 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 20 Jun 2020 08:57:10 +0000 (09:57 +0100)
commitcf46143fe2c90d08554031b64529c8c1c0f9cb08
tree207366ac246623bfc690b1a6109b9abaa4b07729
parent033ef711bbfb671ae58a1acb0f8440889c6000c6
drm/i915/gt: Replace manual kmap_atomic() with pin_map for renderstate

We only emit the renderstate once now during module load, it is no
longer a concern that we are delaying context creation and so do not
need to so eagerly optimise. Since the last time we have looked at the
renderstate, we have a pin_map / flush_map facility that supports simple
single mappings, replacing the open-coded kmap_atomic() and
prepare_write. As it should be a single page, of which we only write a
small portion, we stick to a simple WB [kmap] and use clflush on !llc
platforms, rather than creating a temporary WC vmapping for the single
page.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200619234543.17499-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_renderstate.c