* [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
* [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 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
* 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 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 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 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 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
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).