* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).