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