Message ID | 1362768363-3710-10-git-send-email-jbarnes@virtuousgeek.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Mar 08, 2013 at 10:45:53AM -0800, Jesse Barnes wrote: > We need to set the 'allow force wake' bit to enable forcewake handling > later on. > > v2: split from clock gating patch (Jani) > check for allowwakeack (Ville) > > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_gem.c | 9 +++++++++ > drivers/gpu/drm/i915/i915_reg.h | 2 ++ > 2 files changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 1417fc6..d554b21 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4010,7 +4010,16 @@ int i915_gem_init(struct drm_device *dev) > int ret; > > mutex_lock(&dev->struct_mutex); > + > + if (IS_VALLEYVIEW(dev)) { > + /* VLVA0 (potential hack), BIOS isn't actually waking us */ > + I915_WRITE(VLV_GTLC_WAKE_CTRL, 1); > + if (wait_for((I915_READ(VLV_GTLC_PW_STATUS) & 1) == 1, 10)) > + DRM_DEBUG_DRIVER("allow wake ack timed out\n"); > + } > + > i915_gem_init_global_gtt(dev); > + > ret = i915_gem_init_hw(dev); > mutex_unlock(&dev->struct_mutex); > if (ret) { > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index ed35805..cf291b6 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -4268,6 +4268,8 @@ > #define FORCEWAKE_ACK_VLV 0x1300b4 > #define FORCEWAKE_ACK_HSW 0x130044 > #define FORCEWAKE_ACK 0x130090 > +#define VLV_GTLC_WAKE_CTRL 0x130090 > +#define VLV_GTLC_PW_STATUS 0x130094 > #define FORCEWAKE_MT 0xa188 /* multi-threaded */ > #define FORCEWAKE_KERNEL 0x1 > #define FORCEWAKE_USER 0x2 > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Tue, Mar 19, 2013 at 08:38:53AM +0200, Ville Syrjälä wrote: > On Fri, Mar 08, 2013 at 10:45:53AM -0800, Jesse Barnes wrote: > > We need to set the 'allow force wake' bit to enable forcewake handling > > later on. > > > > v2: split from clock gating patch (Jani) > > check for allowwakeack (Ville) > > > > Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Queued for -next, thanks for the patch. -Daniel
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 1417fc6..d554b21 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4010,7 +4010,16 @@ int i915_gem_init(struct drm_device *dev) int ret; mutex_lock(&dev->struct_mutex); + + if (IS_VALLEYVIEW(dev)) { + /* VLVA0 (potential hack), BIOS isn't actually waking us */ + I915_WRITE(VLV_GTLC_WAKE_CTRL, 1); + if (wait_for((I915_READ(VLV_GTLC_PW_STATUS) & 1) == 1, 10)) + DRM_DEBUG_DRIVER("allow wake ack timed out\n"); + } + i915_gem_init_global_gtt(dev); + ret = i915_gem_init_hw(dev); mutex_unlock(&dev->struct_mutex); if (ret) { diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index ed35805..cf291b6 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -4268,6 +4268,8 @@ #define FORCEWAKE_ACK_VLV 0x1300b4 #define FORCEWAKE_ACK_HSW 0x130044 #define FORCEWAKE_ACK 0x130090 +#define VLV_GTLC_WAKE_CTRL 0x130090 +#define VLV_GTLC_PW_STATUS 0x130094 #define FORCEWAKE_MT 0xa188 /* multi-threaded */ #define FORCEWAKE_KERNEL 0x1 #define FORCEWAKE_USER 0x2
We need to set the 'allow force wake' bit to enable forcewake handling later on. v2: split from clock gating patch (Jani) check for allowwakeack (Ville) Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> --- drivers/gpu/drm/i915/i915_gem.c | 9 +++++++++ drivers/gpu/drm/i915/i915_reg.h | 2 ++ 2 files changed, 11 insertions(+)