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

Daniel Vetter daniel at ffwll.ch
Tue Jan 17 19:37:11 CET 2012


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.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);

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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list