[Intel-gfx] [PATCH] Revert "drm/i915: Implement WaSwitchSolVfFArbitrationPriority"
Daniel Vetter
daniel at ffwll.ch
Sun Jul 21 15:01:32 CEST 2013
On Sun, Jul 21, 2013 at 01:49:16PM +0100, Chris Wilson wrote:
> This reverts commit e3dff585508636c8d2915cc1595e04f16ccd66ba.
>
> The bspec recommends that this only be setup as part of the context for
> GPGPU as it penalizes 3D workloads. As we have exactly zero GPGPU
> clients at present, optimizing for them makes no sense.
>
> The description from the bspec on how the driver should setup the memory
> hints is as follows:
> "As part of the memory interface programming another option is to
> re-allocate TLBs between different streams of GFX. The GFX TLBs are
> organized as assigned resources for dedicated ports which could be
> re-programmed based on the context that is being executed. This is
> especially critical for the L3 backed clients which are seeing one large
> TLB. The default programming favors 3D workloads (384 entry for
> Textures, 64 entry for data port, 64 entry for rest), however for GPGPU
> recommended setting is (64 for textures, 384 for dataport, 64 for rest).
> With this new setting there are certain GPGPU workloads which benefit
> significantly. Driver needs to make this setting part of the context
> that is submitted. "
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Ben Widawsky <ben at bwidawsk.net>
Cc: stable at vger.kernel.org
... since the offending commit is already in 3.10.
-Daniel
> ---
> drivers/gpu/drm/i915/intel_pm.c | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 4e6d618..e1a4e4b 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4662,8 +4662,20 @@ static void haswell_init_clock_gating(struct drm_device *dev)
> I915_WRITE(GEN6_MBCTL, I915_READ(GEN6_MBCTL) |
> GEN6_MBCTL_ENABLE_BOOT_FETCH);
>
> - /* WaSwitchSolVfFArbitrationPriority:hsw */
> +#if 0
> + /* The default programming of GAM_ECOCHK favours 3D workloads (384
> + * entries for texturing, 64 for dataport and 64 for the rest).
> + * However, GPGPU workloads benefit greatly from an increased number
> + * of dataport entries. Setting ARB_PRIO_SOL here adjusts the TLB
> + * cache configuration to (64 for texturing, 384 for data and 64 for
> + * the rest) thereby favouring GPGPU over 3D workloads. By default
> + * we want to favour 3D workloads, but we should consider making this
> + * part of the context state for OpenCL clients.
> + *
> + * WaSwitchSolVfFArbitrationPriority:hsw
> + */
> I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) | HSW_ECOCHK_ARB_PRIO_SOL);
> +#endif
>
> /* WaRsPkgCStateDisplayPMReq:hsw */
> I915_WRITE(CHICKEN_PAR1_1,
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list