On Tue, Jan 17, 2012 at 04:16:37PM -0200, Eugeni Dodonov wrote:
> 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.dodo...@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);

I still think you want the fallback to use the heuristics here in case we
have a new libdrm, but an old kernel lacking the param.
-Daniel

> +#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
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to