All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
@ 2017-10-03  9:51 Imre Deak
  2017-10-03  9:51 ` [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation Imre Deak
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Imre Deak @ 2017-10-03  9:51 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

The DMC firmware program memory is lost after S3/S4 system suspend, so
we need to reprogram it during resume.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103070
Fixes: cebfcead63de ("drm/i915/DMC/CNL: Load DMC on CNL")
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 7933d1bc6a1c..3791c3f5f56d 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -2809,6 +2809,9 @@ static void cnl_display_core_init(struct drm_i915_private *dev_priv, bool resume
 
 	/* 6. Enable DBUF */
 	gen9_dbuf_enable(dev_priv);
+
+	if (resume && dev_priv->csr.dmc_payload)
+		intel_csr_load_program(dev_priv);
 }
 
 static void cnl_display_core_uninit(struct drm_i915_private *dev_priv)
-- 
2.13.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03  9:51 [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Imre Deak
@ 2017-10-03  9:51 ` Imre Deak
  2017-10-03 17:47   ` Rodrigo Vivi
  2017-10-03 10:18 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Patchwork
  2017-10-03 17:40 ` [PATCH 1/2] " Rodrigo Vivi
  2 siblings, 1 reply; 12+ messages in thread
From: Imre Deak @ 2017-10-03  9:51 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

According to BSpec GLK like BXT needs to ignore the idle state of cores
before starting the DMC firmware's DC state handler.

Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_csr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index cdfb624eb82d..ea5d5c9645a4 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
 
 	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
 
-	if (IS_BROXTON(dev_priv))
+	if (IS_GEN9_LP(dev_priv))
 		mask |= DC_STATE_DEBUG_MASK_CORES;
 
 	/* The below bit doesn't need to be cleared ever afterwards */
-- 
2.13.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
  2017-10-03  9:51 [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Imre Deak
  2017-10-03  9:51 ` [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation Imre Deak
@ 2017-10-03 10:18 ` Patchwork
  2017-10-04  8:52   ` Imre Deak
  2017-10-03 17:40 ` [PATCH 1/2] " Rodrigo Vivi
  2 siblings, 1 reply; 12+ messages in thread
From: Patchwork @ 2017-10-03 10:18 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
URL   : https://patchwork.freedesktop.org/series/31314/
State : failure

== Summary ==

Series 31314v1 series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
https://patchwork.freedesktop.org/api/1.0/series/31314/revisions/1/mbox/

Test chamelium:
        Subgroup dp-crc-fast:
                pass       -> DMESG-FAIL (fi-kbl-7500u) fdo#102514
Test gem_exec_suspend:
        Subgroup basic-s3:
                dmesg-warn -> PASS       (fi-cnl-y) fdo#103070
Test kms_busy:
        Subgroup basic-flip-a:
                pass       -> FAIL       (fi-bwr-2160)
Test kms_flip:
        Subgroup basic-flip-vs-dpms:
                incomplete -> PASS       (fi-cfl-s)
Test kms_force_connector_basic:
        Subgroup force-connector-state:
                skip       -> PASS       (fi-ivb-3520m)
        Subgroup force-edid:
                skip       -> PASS       (fi-ivb-3520m)
        Subgroup force-load-detect:
                skip       -> PASS       (fi-ivb-3520m)
        Subgroup prune-stale-modes:
                skip       -> PASS       (fi-ivb-3520m)

fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
fdo#103070 https://bugs.freedesktop.org/show_bug.cgi?id=103070

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:453s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:478s
fi-blb-e6850     total:289  pass:224  dwarn:1   dfail:0   fail:0   skip:64  time:393s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:567s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:1   skip:105 time:288s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:525s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:528s
fi-byt-j1900     total:289  pass:254  dwarn:1   dfail:0   fail:0   skip:34  time:539s
fi-byt-n2820     total:289  pass:250  dwarn:1   dfail:0   fail:0   skip:38  time:531s
fi-cfl-s         total:289  pass:256  dwarn:1   dfail:0   fail:0   skip:32  time:564s
fi-cnl-y         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:607s
fi-elk-e7500     total:289  pass:230  dwarn:0   dfail:0   fail:0   skip:59  time:435s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:600s
fi-hsw-4770      total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:440s
fi-hsw-4770r     total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:422s
fi-ilk-650       total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:464s
fi-ivb-3520m     total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:509s
fi-ivb-3770      total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:473s
fi-kbl-7500u     total:289  pass:263  dwarn:1   dfail:1   fail:0   skip:24  time:496s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:575s
fi-kbl-7567u     total:289  pass:265  dwarn:4   dfail:0   fail:0   skip:20  time:487s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:583s
fi-pnv-d510      total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:662s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:470s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:532s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:514s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:477s
fi-snb-2520m     total:289  pass:251  dwarn:0   dfail:0   fail:0   skip:38  time:584s
fi-snb-2600      total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:431s

2c14f35a0bc1aaff2e36e4535d42919d2cd0b740 drm-tip: 2017y-10m-03d-09h-11m-26s UTC integration manifest
353755c5d9c1 drm/i915/glk: Fix DMC/DC state idleness calculation
f6a884457fc2 drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5877/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
  2017-10-03  9:51 [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Imre Deak
  2017-10-03  9:51 ` [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation Imre Deak
  2017-10-03 10:18 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Patchwork
@ 2017-10-03 17:40 ` Rodrigo Vivi
  2017-10-03 17:57   ` Imre Deak
  2 siblings, 1 reply; 12+ messages in thread
From: Rodrigo Vivi @ 2017-10-03 17:40 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 09:51:58AM +0000, Imre Deak wrote:
> The DMC firmware program memory is lost after S3/S4 system suspend, so
> we need to reprogram it during resume.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103070
> Fixes: cebfcead63de ("drm/i915/DMC/CNL: Load DMC on CNL")
> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> Cc: Animesh Manna <animesh.manna@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 7933d1bc6a1c..3791c3f5f56d 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -2809,6 +2809,9 @@ static void cnl_display_core_init(struct drm_i915_private *dev_priv, bool resume
>  
>  	/* 6. Enable DBUF */
>  	gen9_dbuf_enable(dev_priv);
> +
> +	if (resume && dev_priv->csr.dmc_payload)
> +		intel_csr_load_program(dev_priv);

If this is needed for all platforms, couldn't we move that to intel_power_domains_init_hw()?
so we don't forget future platforms?

>  }
>  
>  static void cnl_display_core_uninit(struct drm_i915_private *dev_priv)
> -- 
> 2.13.2
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03  9:51 ` [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation Imre Deak
@ 2017-10-03 17:47   ` Rodrigo Vivi
  2017-10-03 18:03     ` Imre Deak
  2017-10-03 18:20     ` Rodrigo Vivi
  0 siblings, 2 replies; 12+ messages in thread
From: Rodrigo Vivi @ 2017-10-03 17:47 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 09:51:59AM +0000, Imre Deak wrote:
> According to BSpec GLK like BXT needs to ignore the idle state of cores
> before starting the DMC firmware's DC state handler.

no mention on CNL there?

Btw I just saw that CNL DMC seems much more like BXT than like SKL.
Our code probably needs deeper changes...

> 
> Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
> Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_csr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index cdfb624eb82d..ea5d5c9645a4 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
>  
>  	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
>  
> -	if (IS_BROXTON(dev_priv))
> +	if (IS_GEN9_LP(dev_priv))
>  		mask |= DC_STATE_DEBUG_MASK_CORES;

I saw in spec for SKL+: "This field must be set to Mask prior to enabling DC5 or DC6"
So I believe this should be INTEL_GEN(dev_priv) >= 9... :/


>  
>  	/* The below bit doesn't need to be cleared ever afterwards */
> -- 
> 2.13.2
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
  2017-10-03 17:40 ` [PATCH 1/2] " Rodrigo Vivi
@ 2017-10-03 17:57   ` Imre Deak
  2017-10-03 18:02     ` Rodrigo Vivi
  0 siblings, 1 reply; 12+ messages in thread
From: Imre Deak @ 2017-10-03 17:57 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 10:40:18AM -0700, Rodrigo Vivi wrote:
> On Tue, Oct 03, 2017 at 09:51:58AM +0000, Imre Deak wrote:
> > The DMC firmware program memory is lost after S3/S4 system suspend, so
> > we need to reprogram it during resume.
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103070
> > Fixes: cebfcead63de ("drm/i915/DMC/CNL: Load DMC on CNL")
> > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > Cc: Animesh Manna <animesh.manna@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > index 7933d1bc6a1c..3791c3f5f56d 100644
> > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > @@ -2809,6 +2809,9 @@ static void cnl_display_core_init(struct drm_i915_private *dev_priv, bool resume
> >  
> >  	/* 6. Enable DBUF */
> >  	gen9_dbuf_enable(dev_priv);
> > +
> > +	if (resume && dev_priv->csr.dmc_payload)
> > +		intel_csr_load_program(dev_priv);
> 
> If this is needed for all platforms, couldn't we move that to intel_power_domains_init_hw()?
> so we don't forget future platforms?

For GEN9_LP we also need to run the init sequence separately during
runtime resume, so these functions seem to be still the proper place to
call intel_csr_load_program().

> 
> >  }
> >  
> >  static void cnl_display_core_uninit(struct drm_i915_private *dev_priv)
> > -- 
> > 2.13.2
> > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
  2017-10-03 17:57   ` Imre Deak
@ 2017-10-03 18:02     ` Rodrigo Vivi
  0 siblings, 0 replies; 12+ messages in thread
From: Rodrigo Vivi @ 2017-10-03 18:02 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 05:57:11PM +0000, Imre Deak wrote:
> On Tue, Oct 03, 2017 at 10:40:18AM -0700, Rodrigo Vivi wrote:
> > On Tue, Oct 03, 2017 at 09:51:58AM +0000, Imre Deak wrote:
> > > The DMC firmware program memory is lost after S3/S4 system suspend, so
> > > we need to reprogram it during resume.
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103070
> > > Fixes: cebfcead63de ("drm/i915/DMC/CNL: Load DMC on CNL")
> > > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > > Cc: Animesh Manna <animesh.manna@intel.com>
> > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > index 7933d1bc6a1c..3791c3f5f56d 100644
> > > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > @@ -2809,6 +2809,9 @@ static void cnl_display_core_init(struct drm_i915_private *dev_priv, bool resume
> > >  
> > >  	/* 6. Enable DBUF */
> > >  	gen9_dbuf_enable(dev_priv);
> > > +
> > > +	if (resume && dev_priv->csr.dmc_payload)
> > > +		intel_csr_load_program(dev_priv);
> > 
> > If this is needed for all platforms, couldn't we move that to intel_power_domains_init_hw()?
> > so we don't forget future platforms?
> 
> For GEN9_LP we also need to run the init sequence separately during
> runtime resume, so these functions seem to be still the proper place to
> call intel_csr_load_program().

ohh true...


Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>


> 
> > 
> > >  }
> > >  
> > >  static void cnl_display_core_uninit(struct drm_i915_private *dev_priv)
> > > -- 
> > > 2.13.2
> > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03 17:47   ` Rodrigo Vivi
@ 2017-10-03 18:03     ` Imre Deak
  2017-10-03 18:12       ` Rodrigo Vivi
  2017-10-03 18:20     ` Rodrigo Vivi
  1 sibling, 1 reply; 12+ messages in thread
From: Imre Deak @ 2017-10-03 18:03 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 10:47:50AM -0700, Rodrigo Vivi wrote:
> On Tue, Oct 03, 2017 at 09:51:59AM +0000, Imre Deak wrote:
> > According to BSpec GLK like BXT needs to ignore the idle state of cores
> > before starting the DMC firmware's DC state handler.
> 
> no mention on CNL there?

No, this is only needed for BXT and GLK.

> Btw I just saw that CNL DMC seems much more like BXT than like SKL.
> Our code probably needs deeper changes...
> 
> > 
> > Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
> > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_csr.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> > index cdfb624eb82d..ea5d5c9645a4 100644
> > --- a/drivers/gpu/drm/i915/intel_csr.c
> > +++ b/drivers/gpu/drm/i915/intel_csr.c
> > @@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
> >  
> >  	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
> >  
> > -	if (IS_BROXTON(dev_priv))
> > +	if (IS_GEN9_LP(dev_priv))
> >  		mask |= DC_STATE_DEBUG_MASK_CORES;
> 
> I saw in spec for SKL+: "This field must be set to Mask prior to enabling DC5 or DC6"
> So I believe this should be INTEL_GEN(dev_priv) >= 9... :/

No, only needed for BXT, GLK, see under BSpec "Sequences for Display C5 and C6".

> >  
> >  	/* The below bit doesn't need to be cleared ever afterwards */
> > -- 
> > 2.13.2
> > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03 18:03     ` Imre Deak
@ 2017-10-03 18:12       ` Rodrigo Vivi
  0 siblings, 0 replies; 12+ messages in thread
From: Rodrigo Vivi @ 2017-10-03 18:12 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 06:03:20PM +0000, Imre Deak wrote:
> On Tue, Oct 03, 2017 at 10:47:50AM -0700, Rodrigo Vivi wrote:
> > On Tue, Oct 03, 2017 at 09:51:59AM +0000, Imre Deak wrote:
> > > According to BSpec GLK like BXT needs to ignore the idle state of cores
> > > before starting the DMC firmware's DC state handler.
> > 
> > no mention on CNL there?
> 
> No, this is only needed for BXT and GLK.
> 
> > Btw I just saw that CNL DMC seems much more like BXT than like SKL.
> > Our code probably needs deeper changes...
> > 
> > > 
> > > Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
> > > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_csr.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> > > index cdfb624eb82d..ea5d5c9645a4 100644
> > > --- a/drivers/gpu/drm/i915/intel_csr.c
> > > +++ b/drivers/gpu/drm/i915/intel_csr.c
> > > @@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
> > >  
> > >  	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
> > >  
> > > -	if (IS_BROXTON(dev_priv))
> > > +	if (IS_GEN9_LP(dev_priv))
> > >  		mask |= DC_STATE_DEBUG_MASK_CORES;
> > 
> > I saw in spec for SKL+: "This field must be set to Mask prior to enabling DC5 or DC6"
> > So I believe this should be INTEL_GEN(dev_priv) >= 9... :/
> 
> No, only needed for BXT, GLK, see under BSpec "Sequences for Display C5 and C6".

Oh yes! It seems we can trust this part better. Really clear and complete.


Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>


> 
> > >  
> > >  	/* The below bit doesn't need to be cleared ever afterwards */
> > > -- 
> > > 2.13.2
> > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03 17:47   ` Rodrigo Vivi
  2017-10-03 18:03     ` Imre Deak
@ 2017-10-03 18:20     ` Rodrigo Vivi
  2017-10-04  8:13       ` Imre Deak
  1 sibling, 1 reply; 12+ messages in thread
From: Rodrigo Vivi @ 2017-10-03 18:20 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 05:47:50PM +0000, Rodrigo Vivi wrote:
> On Tue, Oct 03, 2017 at 09:51:59AM +0000, Imre Deak wrote:
> > According to BSpec GLK like BXT needs to ignore the idle state of cores
> > before starting the DMC firmware's DC state handler.
> 
> no mention on CNL there?
> 
> Btw I just saw that CNL DMC seems much more like BXT than like SKL.
> Our code probably needs deeper changes...

nevermind. I was wrong about this.
The only difference I see on CNL compared with SKL now
is the bit 31 of DC_STATE_EN...

A bit that we should set during modeset and clear after. But there is
no mention about that bit on the main sequences page and also we
leave dc states disabled during modeset anyways besides that
clock gating wa... So I believe we are safe.

Imre, thoughts?

> 
> > 
> > Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
> > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_csr.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> > index cdfb624eb82d..ea5d5c9645a4 100644
> > --- a/drivers/gpu/drm/i915/intel_csr.c
> > +++ b/drivers/gpu/drm/i915/intel_csr.c
> > @@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
> >  
> >  	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
> >  
> > -	if (IS_BROXTON(dev_priv))
> > +	if (IS_GEN9_LP(dev_priv))
> >  		mask |= DC_STATE_DEBUG_MASK_CORES;
> 
> I saw in spec for SKL+: "This field must be set to Mask prior to enabling DC5 or DC6"
> So I believe this should be INTEL_GEN(dev_priv) >= 9... :/
> 
> 
> >  
> >  	/* The below bit doesn't need to be cleared ever afterwards */
> > -- 
> > 2.13.2
> > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation
  2017-10-03 18:20     ` Rodrigo Vivi
@ 2017-10-04  8:13       ` Imre Deak
  0 siblings, 0 replies; 12+ messages in thread
From: Imre Deak @ 2017-10-04  8:13 UTC (permalink / raw)
  To: Rodrigo Vivi, Arthur J Runyan; +Cc: intel-gfx

On Tue, Oct 03, 2017 at 11:20:10AM -0700, Rodrigo Vivi wrote:
> On Tue, Oct 03, 2017 at 05:47:50PM +0000, Rodrigo Vivi wrote:
> > On Tue, Oct 03, 2017 at 09:51:59AM +0000, Imre Deak wrote:
> > > According to BSpec GLK like BXT needs to ignore the idle state of cores
> > > before starting the DMC firmware's DC state handler.
> > 
> > no mention on CNL there?
> > 
> > Btw I just saw that CNL DMC seems much more like BXT than like SKL.
> > Our code probably needs deeper changes...
> 
> nevermind. I was wrong about this.
> The only difference I see on CNL compared with SKL now
> is the bit 31 of DC_STATE_EN...
> 
> A bit that we should set during modeset and clear after. But there is
> no mention about that bit on the main sequences page and also we
> leave dc states disabled during modeset anyways besides that
> clock gating wa... So I believe we are safe.
> 
> Imre, thoughts?

Yes, that bit would gate CSR_START which sounds redundant if we disable
DC states anyway around a mode set.

Art, could this be clarified under "Sequences for Display C5 and C6" or
the definition DC_STATE_EN?

Thanks,
Imre

> > > 
> > > Fixes: dbb28b5c3d3c ("drm/i915/DMC/GLK: Load DMC on GLK")
> > > Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
> > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_csr.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> > > index cdfb624eb82d..ea5d5c9645a4 100644
> > > --- a/drivers/gpu/drm/i915/intel_csr.c
> > > +++ b/drivers/gpu/drm/i915/intel_csr.c
> > > @@ -216,7 +216,7 @@ static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
> > >  
> > >  	mask = DC_STATE_DEBUG_MASK_MEMORY_UP;
> > >  
> > > -	if (IS_BROXTON(dev_priv))
> > > +	if (IS_GEN9_LP(dev_priv))
> > >  		mask |= DC_STATE_DEBUG_MASK_CORES;
> > 
> > I saw in spec for SKL+: "This field must be set to Mask prior to enabling DC5 or DC6"
> > So I believe this should be INTEL_GEN(dev_priv) >= 9... :/
> > 
> > 
> > >  
> > >  	/* The below bit doesn't need to be cleared ever afterwards */
> > > -- 
> > > 2.13.2
> > > 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
  2017-10-03 10:18 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Patchwork
@ 2017-10-04  8:52   ` Imre Deak
  0 siblings, 0 replies; 12+ messages in thread
From: Imre Deak @ 2017-10-04  8:52 UTC (permalink / raw)
  To: intel-gfx, Rodrigo Vivi

On Tue, Oct 03, 2017 at 10:18:20AM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
> URL   : https://patchwork.freedesktop.org/series/31314/
> State : failure
> 
> == Summary ==
> 
> Series 31314v1 series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
> https://patchwork.freedesktop.org/api/1.0/series/31314/revisions/1/mbox/
> 
> Test chamelium:
>         Subgroup dp-crc-fast:
>                 pass       -> DMESG-FAIL (fi-kbl-7500u) fdo#102514
> Test gem_exec_suspend:
>         Subgroup basic-s3:
>                 dmesg-warn -> PASS       (fi-cnl-y) fdo#103070

This is the only relevant change, the rest match the pre-existing fdo
bug, or are unrelated platforms.

Thanks for the review, I pushed both patches to -dinq.

> Test kms_busy:
>         Subgroup basic-flip-a:
>                 pass       -> FAIL       (fi-bwr-2160)
> Test kms_flip:
>         Subgroup basic-flip-vs-dpms:
>                 incomplete -> PASS       (fi-cfl-s)
> Test kms_force_connector_basic:
>         Subgroup force-connector-state:
>                 skip       -> PASS       (fi-ivb-3520m)
>         Subgroup force-edid:
>                 skip       -> PASS       (fi-ivb-3520m)
>         Subgroup force-load-detect:
>                 skip       -> PASS       (fi-ivb-3520m)
>         Subgroup prune-stale-modes:
>                 skip       -> PASS       (fi-ivb-3520m)
> 
> fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514
> fdo#103070 https://bugs.freedesktop.org/show_bug.cgi?id=103070
> 
> fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:453s
> fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:478s
> fi-blb-e6850     total:289  pass:224  dwarn:1   dfail:0   fail:0   skip:64  time:393s
> fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:567s
> fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:1   skip:105 time:288s
> fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:525s
> fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:528s
> fi-byt-j1900     total:289  pass:254  dwarn:1   dfail:0   fail:0   skip:34  time:539s
> fi-byt-n2820     total:289  pass:250  dwarn:1   dfail:0   fail:0   skip:38  time:531s
> fi-cfl-s         total:289  pass:256  dwarn:1   dfail:0   fail:0   skip:32  time:564s
> fi-cnl-y         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:607s
> fi-elk-e7500     total:289  pass:230  dwarn:0   dfail:0   fail:0   skip:59  time:435s
> fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:600s
> fi-hsw-4770      total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:440s
> fi-hsw-4770r     total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:422s
> fi-ilk-650       total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:464s
> fi-ivb-3520m     total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:509s
> fi-ivb-3770      total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:473s
> fi-kbl-7500u     total:289  pass:263  dwarn:1   dfail:1   fail:0   skip:24  time:496s
> fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:575s
> fi-kbl-7567u     total:289  pass:265  dwarn:4   dfail:0   fail:0   skip:20  time:487s
> fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:583s
> fi-pnv-d510      total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:662s
> fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:470s
> fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:532s
> fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:514s
> fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:477s
> fi-snb-2520m     total:289  pass:251  dwarn:0   dfail:0   fail:0   skip:38  time:584s
> fi-snb-2600      total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:431s
> 
> 2c14f35a0bc1aaff2e36e4535d42919d2cd0b740 drm-tip: 2017y-10m-03d-09h-11m-26s UTC integration manifest
> 353755c5d9c1 drm/i915/glk: Fix DMC/DC state idleness calculation
> f6a884457fc2 drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume
> 
> == Logs ==
> 
> For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5877/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-10-04  8:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-03  9:51 [PATCH 1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Imre Deak
2017-10-03  9:51 ` [PATCH 2/2] drm/i915/glk: Fix DMC/DC state idleness calculation Imre Deak
2017-10-03 17:47   ` Rodrigo Vivi
2017-10-03 18:03     ` Imre Deak
2017-10-03 18:12       ` Rodrigo Vivi
2017-10-03 18:20     ` Rodrigo Vivi
2017-10-04  8:13       ` Imre Deak
2017-10-03 10:18 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/cnl: Reprogram DMC firmware after S3/S4 resume Patchwork
2017-10-04  8:52   ` Imre Deak
2017-10-03 17:40 ` [PATCH 1/2] " Rodrigo Vivi
2017-10-03 17:57   ` Imre Deak
2017-10-03 18:02     ` Rodrigo Vivi

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.