[Intel-gfx] [PATCH] sna: check for LLC support

Eugeni Dodonov eugeni.dodonov at intel.com
Tue Jan 17 19:16:37 CET 2012


Instead of checking for CPU generation, use the libdrm-provided
I915_PARAM_HAS_LLC instead.

v2: use a define check to verify if we have I915_PARAM_HAS_LLC.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov at intel.com>
---
 src/sna/kgem.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 970e462..aa9029d 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -603,8 +603,20 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
 	     kgem->has_relaxed_fencing));
 
 	kgem->has_llc = false;
+#ifdef I915_PARAM_HAS_LLC
+	if (!DBG_NO_LLC)
+		kgem->has_llc = gem_param(kgem, I915_PARAM_HAS_LLC);
+#else
+	/* If I915_PARAM_HAS_LLC is not defined by the libdrm, fallback
+	 * to previous GPU generation check and assume that GPUs superior
+	 * to Gen6 support it.
+	 */
+	DBG(("%s: libdrm does not provides I915_PARAM_HAS_LLC, detect GPU gen instead\n",
+				__FUNCTION__));
 	if (!DBG_NO_LLC && gen >= 60)
 		kgem->has_llc = true;
+#endif
+
 	kgem->has_cpu_bo = kgem->has_llc;
 	DBG(("%s: cpu bo enabled %d: llc? %d\n", __FUNCTION__,
 	     kgem->has_cpu_bo, kgem->has_llc));
-- 
1.7.8.3




More information about the Intel-gfx mailing list