drm/i915: Return the correct score in i915_ppat_get()
authorZhi Wang <zhi.a.wang@intel.com>
Mon, 18 Sep 2017 13:36:34 +0000 (21:36 +0800)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Sep 2017 15:02:51 +0000 (16:02 +0100)
The cache attribute of the required entry has to be the same with the
existing value. After this requirement is met, the futher comparison
should be performed. After this fix, the refined test case can pass.

v2:

- Refine the tittle and comments. (Rodrigo)

Fixes: 4395890a4855 ("drm/i915: Introduce private PAT management")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1505741794-10593-1-git-send-email-zhi.a.wang@intel.com
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_gem_gtt.c

index 729ebaf..37cd086 100644 (file)
@@ -2965,7 +2965,7 @@ static unsigned int bdw_private_pat_match(u8 src, u8 dst)
        };
 
        /* Cache attribute has to be matched. */
-       if (GEN8_PPAT_GET_CA(src) == GEN8_PPAT_GET_CA(dst))
+       if (GEN8_PPAT_GET_CA(src) != GEN8_PPAT_GET_CA(dst))
                return 0;
 
        score |= CA_MATCH;