Re: [PATCH 1/4] drm/i915: Replace some open-coded i915_map_coherent_type()

Tvrtko Ursulin
2018-10-02T11:48:41Z

On 01/10/2018 20:44, Chris Wilson wrote:
> A few callsites where deciding on using WC or WB maps based on
> HAS_LLC(), so replace them with the equivalent helper function
> i915_map_coherent_type().
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +--
> drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 4 ++--
> drivers/gpu/drm/i915/selftests/intel_lrc.c | 2 +-
> 3 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index c092d5099ebf..b8a7a014d46d 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -1023,8 +1023,7 @@ i915_emit_bb_start(struct i915_request *rq,
> int intel_ring_pin(struct intel_ring *ring)
> {
> struct i915_vma *vma = ring->vma;
> - enum i915_map_type map =
> - HAS_LLC(vma->vm->i915) ? I915_MAP_WB : I915_MAP_WC;
> + enum i915_map_type map = i915_coherent_map_type(vma->vm->i915);
> unsigned int flags;
> void *addr;
> int ret;
> diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
> index db378226ac10..51d0e2bed9e1 100644
> --- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
> +++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c
> @@ -76,7 +76,7 @@ static int hang_init(struct hang *h, struct drm_i915_private *i915)
> h->seqno = memset(vaddr, 0xff, PAGE_SIZE);
>
> vaddr = i915_gem_object_pin_map(h->obj,
> - HAS_LLC(i915) ? I915_MAP_WB : I915_MAP_WC);
> + i915_coherent_map_type(i915));
> if (IS_ERR(vaddr)) {
> err = PTR_ERR(vaddr);
> goto err_unpin_hws;
> @@ -234,7 +234,7 @@ hang_create_request(struct hang *h, struct intel_engine_cs *engine)
> return ERR_CAST(obj);
>
> vaddr = i915_gem_object_pin_map(obj,
> - HAS_LLC(h->i915) ? I915_MAP_WB : I915_MAP_WC);
> + i915_coherent_map_type(h->i915));
> if (IS_ERR(vaddr)) {
> i915_gem_object_put(obj);
> return ERR_CAST(vaddr);
> diff --git a/drivers/gpu/drm/i915/selftests/intel_lrc.c b/drivers/gpu/drm/i915/selftests/intel_lrc.c
> index c8b7f03c35bd..9f241d1c72db 100644
> --- a/drivers/gpu/drm/i915/selftests/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/selftests/intel_lrc.c
> @@ -49,7 +49,7 @@ static int spinner_init(struct spinner *spin, struct drm_i915_private *i915)
> }
> spin->seqno = memset(vaddr, 0xff, PAGE_SIZE);
>
> - mode = HAS_LLC(i915) ? I915_MAP_WB : I915_MAP_WC;
> + mode = i915_coherent_map_type(i915);
> vaddr = i915_gem_object_pin_map(spin->obj, mode);
> if (IS_ERR(vaddr)) {
> err = PTR_ERR(vaddr);
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko