* [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround
@ 2015-10-07 8:17 Jani Nikula
2015-10-07 8:17 ` [PATCH 2/3] drm/i915/vlv: " Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Jani Nikula @ 2015-10-07 8:17 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_gem.c | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 52642aff1dab..1e67484fd5dc 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4558,22 +4558,6 @@ void i915_gem_init_swizzling(struct drm_device *dev)
BUG();
}
-static bool
-intel_enable_blt(struct drm_device *dev)
-{
- if (!HAS_BLT(dev))
- return false;
-
- /* The blitter was dysfunctional on early prototypes */
- if (IS_GEN6(dev) && dev->pdev->revision < 8) {
- DRM_INFO("BLT not supported on this pre-production hardware;"
- " graphics performance will be degraded.\n");
- return false;
- }
-
- return true;
-}
-
static void init_unused_ring(struct drm_device *dev, u32 base)
{
struct drm_i915_private *dev_priv = dev->dev_private;
@@ -4616,7 +4600,7 @@ int i915_gem_init_rings(struct drm_device *dev)
goto cleanup_render_ring;
}
- if (intel_enable_blt(dev)) {
+ if (HAS_BLT(dev)) {
ret = intel_init_blt_ring_buffer(dev);
if (ret)
goto cleanup_bsd_ring;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/3] drm/i915/vlv: remove pre-production hardware workaround 2015-10-07 8:17 [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Jani Nikula @ 2015-10-07 8:17 ` Jani Nikula 2015-10-07 13:27 ` Ville Syrjälä 2015-10-07 8:17 ` [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds Jani Nikula 2015-10-07 13:23 ` [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Ville Syrjälä 2 siblings, 1 reply; 10+ messages in thread From: Jani Nikula @ 2015-10-07 8:17 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 620d57e2526b..4e328f71a454 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -133,13 +133,6 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) } #endif - /* Early VLV doesn't have this */ - if (IS_VALLEYVIEW(dev) && !IS_CHERRYVIEW(dev) && - dev->pdev->revision < 0xb) { - DRM_DEBUG_DRIVER("disabling PPGTT on pre-B3 step VLV\n"); - return 0; - } - if (INTEL_INFO(dev)->gen >= 8 && i915.enable_execlists) return 2; else -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/i915/vlv: remove pre-production hardware workaround 2015-10-07 8:17 ` [PATCH 2/3] drm/i915/vlv: " Jani Nikula @ 2015-10-07 13:27 ` Ville Syrjälä 2015-10-07 14:30 ` Daniel Vetter 0 siblings, 1 reply; 10+ messages in thread From: Ville Syrjälä @ 2015-10-07 13:27 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx On Wed, Oct 07, 2015 at 11:17:45AM +0300, Jani Nikula wrote: > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 620d57e2526b..4e328f71a454 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -133,13 +133,6 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) > } > #endif > > - /* Early VLV doesn't have this */ > - if (IS_VALLEYVIEW(dev) && !IS_CHERRYVIEW(dev) && > - dev->pdev->revision < 0xb) { > - DRM_DEBUG_DRIVER("disabling PPGTT on pre-B3 step VLV\n"); > - return 0; > - } IIRC B2 may have gotten out into the wild, so we can't kill this check unfortunately. Well, unless it magically got fixed in the meantime. I don't think anyone ever figured out what the problems was with PPGTT on B2 and earlier. So NAK, unless someone knows better. > - > if (INTEL_INFO(dev)->gen >= 8 && i915.enable_execlists) > return 2; > else > -- > 2.1.4 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/i915/vlv: remove pre-production hardware workaround 2015-10-07 13:27 ` Ville Syrjälä @ 2015-10-07 14:30 ` Daniel Vetter 2015-10-07 15:35 ` Ville Syrjälä 0 siblings, 1 reply; 10+ messages in thread From: Daniel Vetter @ 2015-10-07 14:30 UTC (permalink / raw) To: Ville Syrjälä; +Cc: Jani Nikula, intel-gfx On Wed, Oct 07, 2015 at 04:27:24PM +0300, Ville Syrjälä wrote: > On Wed, Oct 07, 2015 at 11:17:45AM +0300, Jani Nikula wrote: > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > --- > > drivers/gpu/drm/i915/i915_gem_gtt.c | 7 ------- > > 1 file changed, 7 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > > index 620d57e2526b..4e328f71a454 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > > @@ -133,13 +133,6 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) > > } > > #endif > > > > - /* Early VLV doesn't have this */ > > - if (IS_VALLEYVIEW(dev) && !IS_CHERRYVIEW(dev) && > > - dev->pdev->revision < 0xb) { > > - DRM_DEBUG_DRIVER("disabling PPGTT on pre-B3 step VLV\n"); > > - return 0; > > - } > > IIRC B2 may have gotten out into the wild, so we can't kill this check > unfortunately. Well, unless it magically got fixed in the meantime. I > don't think anyone ever figured out what the problems was with PPGTT on > B2 and earlier. Note "into the wild" isn't valid imo - we've had snb workarounds that we killed which made a few sdvs used by distros and oems broken. I applied it anyway. It's only for stuff that's sold in general that I'm counting as "shipped hw". -Daniel > > So NAK, unless someone knows better. > > > - > > if (INTEL_INFO(dev)->gen >= 8 && i915.enable_execlists) > > return 2; > > else > > -- > > 2.1.4 > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/i915/vlv: remove pre-production hardware workaround 2015-10-07 14:30 ` Daniel Vetter @ 2015-10-07 15:35 ` Ville Syrjälä 0 siblings, 0 replies; 10+ messages in thread From: Ville Syrjälä @ 2015-10-07 15:35 UTC (permalink / raw) To: Daniel Vetter; +Cc: Jani Nikula, intel-gfx On Wed, Oct 07, 2015 at 04:30:06PM +0200, Daniel Vetter wrote: > On Wed, Oct 07, 2015 at 04:27:24PM +0300, Ville Syrjälä wrote: > > On Wed, Oct 07, 2015 at 11:17:45AM +0300, Jani Nikula wrote: > > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > > --- > > > drivers/gpu/drm/i915/i915_gem_gtt.c | 7 ------- > > > 1 file changed, 7 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > > > index 620d57e2526b..4e328f71a454 100644 > > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > > > @@ -133,13 +133,6 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) > > > } > > > #endif > > > > > > - /* Early VLV doesn't have this */ > > > - if (IS_VALLEYVIEW(dev) && !IS_CHERRYVIEW(dev) && > > > - dev->pdev->revision < 0xb) { > > > - DRM_DEBUG_DRIVER("disabling PPGTT on pre-B3 step VLV\n"); > > > - return 0; > > > - } > > > > IIRC B2 may have gotten out into the wild, so we can't kill this check > > unfortunately. Well, unless it magically got fixed in the meantime. I > > don't think anyone ever figured out what the problems was with PPGTT on > > B2 and earlier. > > Note "into the wild" isn't valid imo - we've had snb workarounds that we > killed which made a few sdvs used by distros and oems broken. I applied it > anyway. > > It's only for stuff that's sold in general that I'm counting as "shipped > hw". My statement was meant as "shipped". Poor choice of words. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds 2015-10-07 8:17 [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Jani Nikula 2015-10-07 8:17 ` [PATCH 2/3] drm/i915/vlv: " Jani Nikula @ 2015-10-07 8:17 ` Jani Nikula 2015-10-07 8:31 ` kbuild test robot 2015-10-07 13:28 ` Ville Syrjälä 2015-10-07 13:23 ` [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Ville Syrjälä 2 siblings, 2 replies; 10+ messages in thread From: Jani Nikula @ 2015-10-07 8:17 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/intel_pm.c | 55 +++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 60d120c472ab..598ee4c8d86e 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -5061,32 +5061,27 @@ static int cherryview_rps_max_freq(struct drm_i915_private *dev_priv) struct drm_device *dev = dev_priv->dev; u32 val, rp0; - if (dev->pdev->revision >= 0x20) { - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); - switch (INTEL_INFO(dev)->eu_total) { - case 8: - /* (2 * 4) config */ - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); - break; - case 12: - /* (2 * 6) config */ - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); - break; - case 16: - /* (2 * 8) config */ - default: - /* Setting (2 * 8) Min RP0 for any other combination */ - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); - break; - } - rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); - } else { - /* For pre-production hardware */ - val = vlv_punit_read(dev_priv, PUNIT_GPU_STATUS_REG); - rp0 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & - PUNIT_GPU_STATUS_MAX_FREQ_MASK; + switch (INTEL_INFO(dev)->eu_total) { + case 8: + /* (2 * 4) config */ + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); + break; + case 12: + /* (2 * 6) config */ + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); + break; + case 16: + /* (2 * 8) config */ + default: + /* Setting (2 * 8) Min RP0 for any other combination */ + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); + break; } + + rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); + return rp0; } @@ -5105,15 +5100,9 @@ static int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) struct drm_device *dev = dev_priv->dev; u32 val, rp1; - if (dev->pdev->revision >= 0x20) { - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); - rp1 = (val & FB_GFX_FREQ_FUSE_MASK); - } else { - /* For pre-production hardware */ - val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); - rp1 = ((val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & - PUNIT_GPU_STATUS_MAX_FREQ_MASK); - } + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); + rp1 = (val & FB_GFX_FREQ_FUSE_MASK); + return rp1; } -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds 2015-10-07 8:17 ` [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds Jani Nikula @ 2015-10-07 8:31 ` kbuild test robot 2015-10-07 13:28 ` Ville Syrjälä 1 sibling, 0 replies; 10+ messages in thread From: kbuild test robot @ 2015-10-07 8:31 UTC (permalink / raw) Cc: jani.nikula, intel-gfx, kbuild-all [-- Attachment #1: Type: text/plain, Size: 2489 bytes --] Hi Jani, [auto build test WARNING on v4.3-rc4 -- if it's inappropriate base, please ignore] config: x86_64-randconfig-x006-201540 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): drivers/gpu/drm/i915/intel_pm.c: In function 'cherryview_rps_guar_freq': >> drivers/gpu/drm/i915/intel_pm.c:5187:21: warning: unused variable 'dev' [-Wunused-variable] struct drm_device *dev = dev_priv->dev; ^ vim +/dev +5187 drivers/gpu/drm/i915/intel_pm.c 965cb130 Jani Nikula 2015-10-07 5171 2b6b3a09 Deepak S 2014-05-27 5172 return rp0; 2b6b3a09 Deepak S 2014-05-27 5173 } 2b6b3a09 Deepak S 2014-05-27 5174 2b6b3a09 Deepak S 2014-05-27 5175 static int cherryview_rps_rpe_freq(struct drm_i915_private *dev_priv) 2b6b3a09 Deepak S 2014-05-27 5176 { 2b6b3a09 Deepak S 2014-05-27 5177 u32 val, rpe; 2b6b3a09 Deepak S 2014-05-27 5178 2b6b3a09 Deepak S 2014-05-27 5179 val = vlv_punit_read(dev_priv, PUNIT_GPU_DUTYCYCLE_REG); 2b6b3a09 Deepak S 2014-05-27 5180 rpe = (val >> PUNIT_GPU_DUTYCYCLE_RPE_FREQ_SHIFT) & PUNIT_GPU_DUTYCYCLE_RPE_FREQ_MASK; 2b6b3a09 Deepak S 2014-05-27 5181 2b6b3a09 Deepak S 2014-05-27 5182 return rpe; 2b6b3a09 Deepak S 2014-05-27 5183 } 2b6b3a09 Deepak S 2014-05-27 5184 7707df4a Deepak S 2014-07-12 5185 static int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) 7707df4a Deepak S 2014-07-12 5186 { 095acd5f Deepak S 2015-01-17 @5187 struct drm_device *dev = dev_priv->dev; 7707df4a Deepak S 2014-07-12 5188 u32 val, rp1; 7707df4a Deepak S 2014-07-12 5189 095acd5f Deepak S 2015-01-17 5190 val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); 095acd5f Deepak S 2015-01-17 5191 rp1 = (val & FB_GFX_FREQ_FUSE_MASK); 965cb130 Jani Nikula 2015-10-07 5192 7707df4a Deepak S 2014-07-12 5193 return rp1; 7707df4a Deepak S 2014-07-12 5194 } 7707df4a Deepak S 2014-07-12 5195 :::::: The code at line 5187 was first introduced by commit :::::: 095acd5f8739aa8322820d460e617898baf092df drm/i915: New offset for reading frequencies on CHV. :::::: TO: Deepak S <deepak.s@linux.intel.com> :::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/octet-stream, Size: 29726 bytes --] [-- Attachment #3: Type: text/plain, Size: 159 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds 2015-10-07 8:17 ` [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds Jani Nikula 2015-10-07 8:31 ` kbuild test robot @ 2015-10-07 13:28 ` Ville Syrjälä 2015-10-07 14:32 ` Daniel Vetter 1 sibling, 1 reply; 10+ messages in thread From: Ville Syrjälä @ 2015-10-07 13:28 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx On Wed, Oct 07, 2015 at 11:17:46AM +0300, Jani Nikula wrote: > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/intel_pm.c | 55 +++++++++++++++++------------------------ > 1 file changed, 22 insertions(+), 33 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 60d120c472ab..598ee4c8d86e 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -5061,32 +5061,27 @@ static int cherryview_rps_max_freq(struct drm_i915_private *dev_priv) > struct drm_device *dev = dev_priv->dev; > u32 val, rp0; > > - if (dev->pdev->revision >= 0x20) { Yep. C0 is the first production stepping. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > > - switch (INTEL_INFO(dev)->eu_total) { > - case 8: > - /* (2 * 4) config */ > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); > - break; > - case 12: > - /* (2 * 6) config */ > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); > - break; > - case 16: > - /* (2 * 8) config */ > - default: > - /* Setting (2 * 8) Min RP0 for any other combination */ > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); > - break; > - } > - rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); > - } else { > - /* For pre-production hardware */ > - val = vlv_punit_read(dev_priv, PUNIT_GPU_STATUS_REG); > - rp0 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & > - PUNIT_GPU_STATUS_MAX_FREQ_MASK; > + switch (INTEL_INFO(dev)->eu_total) { > + case 8: > + /* (2 * 4) config */ > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); > + break; > + case 12: > + /* (2 * 6) config */ > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); > + break; > + case 16: > + /* (2 * 8) config */ > + default: > + /* Setting (2 * 8) Min RP0 for any other combination */ > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); > + break; > } > + > + rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); > + > return rp0; > } > > @@ -5105,15 +5100,9 @@ static int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) > struct drm_device *dev = dev_priv->dev; > u32 val, rp1; > > - if (dev->pdev->revision >= 0x20) { > - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > - rp1 = (val & FB_GFX_FREQ_FUSE_MASK); > - } else { > - /* For pre-production hardware */ > - val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); > - rp1 = ((val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & > - PUNIT_GPU_STATUS_MAX_FREQ_MASK); > - } > + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > + rp1 = (val & FB_GFX_FREQ_FUSE_MASK); > + > return rp1; > } > > -- > 2.1.4 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds 2015-10-07 13:28 ` Ville Syrjälä @ 2015-10-07 14:32 ` Daniel Vetter 0 siblings, 0 replies; 10+ messages in thread From: Daniel Vetter @ 2015-10-07 14:32 UTC (permalink / raw) To: Ville Syrjälä; +Cc: Jani Nikula, intel-gfx On Wed, Oct 07, 2015 at 04:28:48PM +0300, Ville Syrjälä wrote: > On Wed, Oct 07, 2015 at 11:17:46AM +0300, Jani Nikula wrote: > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > --- > > drivers/gpu/drm/i915/intel_pm.c | 55 +++++++++++++++++------------------------ > > 1 file changed, 22 insertions(+), 33 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > > index 60d120c472ab..598ee4c8d86e 100644 > > --- a/drivers/gpu/drm/i915/intel_pm.c > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > @@ -5061,32 +5061,27 @@ static int cherryview_rps_max_freq(struct drm_i915_private *dev_priv) > > struct drm_device *dev = dev_priv->dev; > > u32 val, rp0; > > > > - if (dev->pdev->revision >= 0x20) { > > Yep. C0 is the first production stepping. > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Applied both patch 1&3 from this series, with gcc appeased on this patch here. Thanks, Daniel > > > - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > > + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > > > > - switch (INTEL_INFO(dev)->eu_total) { > > - case 8: > > - /* (2 * 4) config */ > > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); > > - break; > > - case 12: > > - /* (2 * 6) config */ > > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); > > - break; > > - case 16: > > - /* (2 * 8) config */ > > - default: > > - /* Setting (2 * 8) Min RP0 for any other combination */ > > - rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); > > - break; > > - } > > - rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); > > - } else { > > - /* For pre-production hardware */ > > - val = vlv_punit_read(dev_priv, PUNIT_GPU_STATUS_REG); > > - rp0 = (val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & > > - PUNIT_GPU_STATUS_MAX_FREQ_MASK; > > + switch (INTEL_INFO(dev)->eu_total) { > > + case 8: > > + /* (2 * 4) config */ > > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS4EU_FUSE_SHIFT); > > + break; > > + case 12: > > + /* (2 * 6) config */ > > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS6EU_FUSE_SHIFT); > > + break; > > + case 16: > > + /* (2 * 8) config */ > > + default: > > + /* Setting (2 * 8) Min RP0 for any other combination */ > > + rp0 = (val >> FB_GFX_FMAX_AT_VMAX_2SS8EU_FUSE_SHIFT); > > + break; > > } > > + > > + rp0 = (rp0 & FB_GFX_FREQ_FUSE_MASK); > > + > > return rp0; > > } > > > > @@ -5105,15 +5100,9 @@ static int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv) > > struct drm_device *dev = dev_priv->dev; > > u32 val, rp1; > > > > - if (dev->pdev->revision >= 0x20) { > > - val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > > - rp1 = (val & FB_GFX_FREQ_FUSE_MASK); > > - } else { > > - /* For pre-production hardware */ > > - val = vlv_punit_read(dev_priv, PUNIT_REG_GPU_FREQ_STS); > > - rp1 = ((val >> PUNIT_GPU_STATUS_MAX_FREQ_SHIFT) & > > - PUNIT_GPU_STATUS_MAX_FREQ_MASK); > > - } > > + val = vlv_punit_read(dev_priv, FB_GFX_FMAX_AT_VMAX_FUSE); > > + rp1 = (val & FB_GFX_FREQ_FUSE_MASK); > > + > > return rp1; > > } > > > > -- > > 2.1.4 > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround 2015-10-07 8:17 [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Jani Nikula 2015-10-07 8:17 ` [PATCH 2/3] drm/i915/vlv: " Jani Nikula 2015-10-07 8:17 ` [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds Jani Nikula @ 2015-10-07 13:23 ` Ville Syrjälä 2 siblings, 0 replies; 10+ messages in thread From: Ville Syrjälä @ 2015-10-07 13:23 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx On Wed, Oct 07, 2015 at 11:17:44AM +0300, Jani Nikula wrote: > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/i915_gem.c | 18 +----------------- > 1 file changed, 1 insertion(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 52642aff1dab..1e67484fd5dc 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4558,22 +4558,6 @@ void i915_gem_init_swizzling(struct drm_device *dev) > BUG(); > } > > -static bool > -intel_enable_blt(struct drm_device *dev) > -{ > - if (!HAS_BLT(dev)) > - return false; > - > - /* The blitter was dysfunctional on early prototypes */ > - if (IS_GEN6(dev) && dev->pdev->revision < 8) { I'm not actually sure what the revi<->stepping mapping on SNB is. My SNB is a D2 I believe, and it has rev=0x9, so 0x8 is probably D1. I think D2 was the first production stepping, and D1 may have gotten out as samples. So this would perhaps affect D0 and older steppings, which seems fine to me. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > - DRM_INFO("BLT not supported on this pre-production hardware;" > - " graphics performance will be degraded.\n"); > - return false; > - } > - > - return true; > -} > - > static void init_unused_ring(struct drm_device *dev, u32 base) > { > struct drm_i915_private *dev_priv = dev->dev_private; > @@ -4616,7 +4600,7 @@ int i915_gem_init_rings(struct drm_device *dev) > goto cleanup_render_ring; > } > > - if (intel_enable_blt(dev)) { > + if (HAS_BLT(dev)) { > ret = intel_init_blt_ring_buffer(dev); > if (ret) > goto cleanup_bsd_ring; > -- > 2.1.4 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-10-07 15:35 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-10-07 8:17 [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Jani Nikula 2015-10-07 8:17 ` [PATCH 2/3] drm/i915/vlv: " Jani Nikula 2015-10-07 13:27 ` Ville Syrjälä 2015-10-07 14:30 ` Daniel Vetter 2015-10-07 15:35 ` Ville Syrjälä 2015-10-07 8:17 ` [PATCH 3/3] drm/i915/chv: remove pre-production hardware workarounds Jani Nikula 2015-10-07 8:31 ` kbuild test robot 2015-10-07 13:28 ` Ville Syrjälä 2015-10-07 14:32 ` Daniel Vetter 2015-10-07 13:23 ` [PATCH 1/3] drm/i915/snb: remove pre-production hardware workaround Ville Syrjälä
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.