Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
@ 2023-04-21  8:35 Stanislav Lisovskiy
  2023-04-21  9:26 ` Ville Syrjälä
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Stanislav Lisovskiy @ 2023-04-21  8:35 UTC (permalink / raw)
  To: intel-gfx

We try to verify pll registers in sw state for slave crtc with the hw state.
However in case of bigjoiner we don't calculate those at all, so this verification
will then always fail.
So we should either skip the verification for Bigjoiner slave crtc or copy sw state
from master crtc.

Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index bf391a6cd8d6..83c98791fea3 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
 	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
 		      &master_crtc_state->hw.adjusted_mode);
 	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
+	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;
 
 	copy_bigjoiner_crtc_state_nomodeset(state, slave_crtc);
 
-- 
2.37.3


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

* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21  8:35 [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner Stanislav Lisovskiy
@ 2023-04-21  9:26 ` Ville Syrjälä
  2023-04-21 11:37   ` Lisovskiy, Stanislav
  2023-04-21 11:17 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Ville Syrjälä @ 2023-04-21  9:26 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

On Fri, Apr 21, 2023 at 11:35:20AM +0300, Stanislav Lisovskiy wrote:
> We try to verify pll registers in sw state for slave crtc with the hw state.
> However in case of bigjoiner we don't calculate those at all, so this verification
> will then always fail.
> So we should either skip the verification for Bigjoiner slave crtc or copy sw state
> from master crtc.
> 
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index bf391a6cd8d6..83c98791fea3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
>  	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
>  		      &master_crtc_state->hw.adjusted_mode);
>  	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
> +	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;

Wrong place. Also we're already copying dpll_hw_state which is in the
same union, and on first blush looks bigger than this thing. So why is
that not working?

>  
>  	copy_bigjoiner_crtc_state_nomodeset(state, slave_crtc);
>  
> -- 
> 2.37.3

-- 
Ville Syrjälä
Intel

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21  8:35 [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner Stanislav Lisovskiy
  2023-04-21  9:26 ` Ville Syrjälä
@ 2023-04-21 11:17 ` Patchwork
  2023-04-21 11:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
  2023-04-21 18:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-04-21 11:17 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
URL   : https://patchwork.freedesktop.org/series/116805/
State : warning

== Summary ==

Error: dim checkpatch failed
095d25457694 drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
-:7: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#7: 
We try to verify pll registers in sw state for slave crtc with the hw state.

total: 0 errors, 1 warnings, 0 checks, 7 lines checked



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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21  8:35 [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner Stanislav Lisovskiy
  2023-04-21  9:26 ` Ville Syrjälä
  2023-04-21 11:17 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2023-04-21 11:25 ` Patchwork
  2023-04-21 18:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-04-21 11:25 UTC (permalink / raw)
  To: Stanislav Lisovskiy; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 2714 bytes --]

== Series Details ==

Series: drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
URL   : https://patchwork.freedesktop.org/series/116805/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13039 -> Patchwork_116805v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/index.html

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): fi-kbl-soraka fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_116805v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s3@smem:
    - bat-rpls-1:         NOTRUN -> [ABORT][1] ([i915#6687] / [i915#7978])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html

  * igt@i915_selftest@live@slpc:
    - bat-rpls-1:         NOTRUN -> [DMESG-FAIL][2] ([i915#6367])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/bat-rpls-1/igt@i915_selftest@live@slpc.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_lrc:
    - bat-rpls-1:         [INCOMPLETE][3] ([i915#4983]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/bat-rpls-1/igt@i915_selftest@live@gt_lrc.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/bat-rpls-1/igt@i915_selftest@live@gt_lrc.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
  [i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
  [i915#8379]: https://gitlab.freedesktop.org/drm/intel/issues/8379


Build changes
-------------

  * Linux: CI_DRM_13039 -> Patchwork_116805v1

  CI-20190529: 20190529
  CI_DRM_13039: 13aec8c5451c1c81d81b6b8ef1b29da9f29a7396 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7263: a6bd8f415c4ec41b5a014c7db47e46c81ffd0074 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116805v1: 13aec8c5451c1c81d81b6b8ef1b29da9f29a7396 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

add7fb89629c drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/index.html

[-- Attachment #2: Type: text/html, Size: 3242 bytes --]

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

* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21  9:26 ` Ville Syrjälä
@ 2023-04-21 11:37   ` Lisovskiy, Stanislav
  2023-04-21 12:19     ` Ville Syrjälä
  0 siblings, 1 reply; 9+ messages in thread
From: Lisovskiy, Stanislav @ 2023-04-21 11:37 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Fri, Apr 21, 2023 at 12:26:08PM +0300, Ville Syrjälä wrote:
> On Fri, Apr 21, 2023 at 11:35:20AM +0300, Stanislav Lisovskiy wrote:
> > We try to verify pll registers in sw state for slave crtc with the hw state.
> > However in case of bigjoiner we don't calculate those at all, so this verification
> > will then always fail.
> > So we should either skip the verification for Bigjoiner slave crtc or copy sw state
> > from master crtc.
> > 
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index bf391a6cd8d6..83c98791fea3 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
> >  	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
> >  		      &master_crtc_state->hw.adjusted_mode);
> >  	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
> > +	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;
> 
> Wrong place. Also we're already copying dpll_hw_state which is in the
> same union, and on first blush looks bigger than this thing. So why is
> that not working?

No we aren't copying it, we are "saving" it earlier, however it doesn't help at all:

/* preserve some things from the slave's original crtc state */
saved_state->uapi = slave_crtc_state->uapi;
saved_state->scaler_state = slave_crtc_state->scaler_state;
saved_state->shared_dpll = slave_crtc_state->shared_dpll;
saved_state->dpll_hw_state = slave_crtc_state->dpll_hw_state;
saved_state->crc_enabled = slave_crtc_state->crc_enabled;

intel_crtc_free_hw_state(slave_crtc_state);
memcpy(slave_crtc_state, saved_state, sizeof(*slave_crtc_state));
kfree(saved_state);

/* Re-init hw state */
memset(&slave_crtc_state->hw, 0, sizeof(slave_crtc_state->hw));
slave_crtc_state->hw.enable = master_crtc_state->hw.enable;
slave_crtc_state->hw.active = master_crtc_state->hw.active;

because I guess it just didn't have that stuff initially.

It starts to work without those verify WARN's only if I copy it from master_crtc_state.

Stan

> 
> >  
> >  	copy_bigjoiner_crtc_state_nomodeset(state, slave_crtc);
> >  
> > -- 
> > 2.37.3
> 
> -- 
> Ville Syrjälä
> Intel

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

* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21 11:37   ` Lisovskiy, Stanislav
@ 2023-04-21 12:19     ` Ville Syrjälä
  2023-04-21 12:43       ` Lisovskiy, Stanislav
  0 siblings, 1 reply; 9+ messages in thread
From: Ville Syrjälä @ 2023-04-21 12:19 UTC (permalink / raw)
  To: Lisovskiy, Stanislav; +Cc: intel-gfx

On Fri, Apr 21, 2023 at 02:37:11PM +0300, Lisovskiy, Stanislav wrote:
> On Fri, Apr 21, 2023 at 12:26:08PM +0300, Ville Syrjälä wrote:
> > On Fri, Apr 21, 2023 at 11:35:20AM +0300, Stanislav Lisovskiy wrote:
> > > We try to verify pll registers in sw state for slave crtc with the hw state.
> > > However in case of bigjoiner we don't calculate those at all, so this verification
> > > will then always fail.
> > > So we should either skip the verification for Bigjoiner slave crtc or copy sw state
> > > from master crtc.
> > > 
> > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > > index bf391a6cd8d6..83c98791fea3 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
> > >  	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
> > >  		      &master_crtc_state->hw.adjusted_mode);
> > >  	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
> > > +	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;
> > 
> > Wrong place. Also we're already copying dpll_hw_state which is in the
> > same union, and on first blush looks bigger than this thing. So why is
> > that not working?
> 
> No we aren't copying it, we are "saving" it earlier, however it doesn't help at all:
> 
> /* preserve some things from the slave's original crtc state */
> saved_state->uapi = slave_crtc_state->uapi;
> saved_state->scaler_state = slave_crtc_state->scaler_state;
> saved_state->shared_dpll = slave_crtc_state->shared_dpll;
> saved_state->dpll_hw_state = slave_crtc_state->dpll_hw_state;

Hmm. How is anything at all working if we keep this around
from the old state?

Looks like I probably broke this in
commit 0ff0e219d9b8 ("drm/i915: Compute clocks earlier")
and somehow no one has noticed.

The correct fix would seem to be to just nuke that
dpll_hw_state preservation above.


> saved_state->crc_enabled = slave_crtc_state->crc_enabled;
> 
> intel_crtc_free_hw_state(slave_crtc_state);
> memcpy(slave_crtc_state, saved_state, sizeof(*slave_crtc_state));
> kfree(saved_state);
> 
> /* Re-init hw state */
> memset(&slave_crtc_state->hw, 0, sizeof(slave_crtc_state->hw));
> slave_crtc_state->hw.enable = master_crtc_state->hw.enable;
> slave_crtc_state->hw.active = master_crtc_state->hw.active;
> 
> because I guess it just didn't have that stuff initially.
> 
> It starts to work without those verify WARN's only if I copy it from master_crtc_state.
> 
> Stan
> 
> > 
> > >  
> > >  	copy_bigjoiner_crtc_state_nomodeset(state, slave_crtc);
> > >  
> > > -- 
> > > 2.37.3
> > 
> > -- 
> > Ville Syrjälä
> > Intel

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21 12:19     ` Ville Syrjälä
@ 2023-04-21 12:43       ` Lisovskiy, Stanislav
  2023-04-21 12:52         ` Ville Syrjälä
  0 siblings, 1 reply; 9+ messages in thread
From: Lisovskiy, Stanislav @ 2023-04-21 12:43 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

On Fri, Apr 21, 2023 at 03:19:42PM +0300, Ville Syrjälä wrote:
> On Fri, Apr 21, 2023 at 02:37:11PM +0300, Lisovskiy, Stanislav wrote:
> > On Fri, Apr 21, 2023 at 12:26:08PM +0300, Ville Syrjälä wrote:
> > > On Fri, Apr 21, 2023 at 11:35:20AM +0300, Stanislav Lisovskiy wrote:
> > > > We try to verify pll registers in sw state for slave crtc with the hw state.
> > > > However in case of bigjoiner we don't calculate those at all, so this verification
> > > > will then always fail.
> > > > So we should either skip the verification for Bigjoiner slave crtc or copy sw state
> > > > from master crtc.
> > > > 
> > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/display/intel_display.c | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > > > index bf391a6cd8d6..83c98791fea3 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > > @@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
> > > >  	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
> > > >  		      &master_crtc_state->hw.adjusted_mode);
> > > >  	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
> > > > +	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;
> > > 
> > > Wrong place. Also we're already copying dpll_hw_state which is in the
> > > same union, and on first blush looks bigger than this thing. So why is
> > > that not working?
> > 
> > No we aren't copying it, we are "saving" it earlier, however it doesn't help at all:
> > 
> > /* preserve some things from the slave's original crtc state */
> > saved_state->uapi = slave_crtc_state->uapi;
> > saved_state->scaler_state = slave_crtc_state->scaler_state;
> > saved_state->shared_dpll = slave_crtc_state->shared_dpll;
> > saved_state->dpll_hw_state = slave_crtc_state->dpll_hw_state;
> 
> Hmm. How is anything at all working if we keep this around
> from the old state?
> 
> Looks like I probably broke this in
> commit 0ff0e219d9b8 ("drm/i915: Compute clocks earlier")
> and somehow no one has noticed.
> 
> The correct fix would seem to be to just nuke that
> dpll_hw_state preservation above.

Need to ask for this machine, where this is reproducible and
check if that helps..

Stan

> 
> 
> > saved_state->crc_enabled = slave_crtc_state->crc_enabled;
> > 
> > intel_crtc_free_hw_state(slave_crtc_state);
> > memcpy(slave_crtc_state, saved_state, sizeof(*slave_crtc_state));
> > kfree(saved_state);
> > 
> > /* Re-init hw state */
> > memset(&slave_crtc_state->hw, 0, sizeof(slave_crtc_state->hw));
> > slave_crtc_state->hw.enable = master_crtc_state->hw.enable;
> > slave_crtc_state->hw.active = master_crtc_state->hw.active;
> > 
> > because I guess it just didn't have that stuff initially.
> > 
> > It starts to work without those verify WARN's only if I copy it from master_crtc_state.
> > 
> > Stan
> > 
> > > 
> > > >  
> > > >  	copy_bigjoiner_crtc_state_nomodeset(state, slave_crtc);
> > > >  
> > > > -- 
> > > > 2.37.3
> > > 
> > > -- 
> > > Ville Syrjälä
> > > Intel
> 
> -- 
> Ville Syrjälä
> Intel

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

* Re: [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21 12:43       ` Lisovskiy, Stanislav
@ 2023-04-21 12:52         ` Ville Syrjälä
  0 siblings, 0 replies; 9+ messages in thread
From: Ville Syrjälä @ 2023-04-21 12:52 UTC (permalink / raw)
  To: Lisovskiy, Stanislav; +Cc: intel-gfx

On Fri, Apr 21, 2023 at 03:43:41PM +0300, Lisovskiy, Stanislav wrote:
> On Fri, Apr 21, 2023 at 03:19:42PM +0300, Ville Syrjälä wrote:
> > On Fri, Apr 21, 2023 at 02:37:11PM +0300, Lisovskiy, Stanislav wrote:
> > > On Fri, Apr 21, 2023 at 12:26:08PM +0300, Ville Syrjälä wrote:
> > > > On Fri, Apr 21, 2023 at 11:35:20AM +0300, Stanislav Lisovskiy wrote:
> > > > > We try to verify pll registers in sw state for slave crtc with the hw state.
> > > > > However in case of bigjoiner we don't calculate those at all, so this verification
> > > > > will then always fail.
> > > > > So we should either skip the verification for Bigjoiner slave crtc or copy sw state
> > > > > from master crtc.
> > > > > 
> > > > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > > > > ---
> > > > >  drivers/gpu/drm/i915/display/intel_display.c | 1 +
> > > > >  1 file changed, 1 insertion(+)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > > > > index bf391a6cd8d6..83c98791fea3 100644
> > > > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > > > @@ -4556,6 +4556,7 @@ copy_bigjoiner_crtc_state_modeset(struct intel_atomic_state *state,
> > > > >  	drm_mode_copy(&slave_crtc_state->hw.adjusted_mode,
> > > > >  		      &master_crtc_state->hw.adjusted_mode);
> > > > >  	slave_crtc_state->hw.scaling_filter = master_crtc_state->hw.scaling_filter;
> > > > > +	slave_crtc_state->cx0pll_state = master_crtc_state->cx0pll_state;
> > > > 
> > > > Wrong place. Also we're already copying dpll_hw_state which is in the
> > > > same union, and on first blush looks bigger than this thing. So why is
> > > > that not working?
> > > 
> > > No we aren't copying it, we are "saving" it earlier, however it doesn't help at all:
> > > 
> > > /* preserve some things from the slave's original crtc state */
> > > saved_state->uapi = slave_crtc_state->uapi;
> > > saved_state->scaler_state = slave_crtc_state->scaler_state;
> > > saved_state->shared_dpll = slave_crtc_state->shared_dpll;
> > > saved_state->dpll_hw_state = slave_crtc_state->dpll_hw_state;
> > 
> > Hmm. How is anything at all working if we keep this around
> > from the old state?
> > 
> > Looks like I probably broke this in
> > commit 0ff0e219d9b8 ("drm/i915: Compute clocks earlier")
> > and somehow no one has noticed.
> > 
> > The correct fix would seem to be to just nuke that
> > dpll_hw_state preservation above.
> 
> Need to ask for this machine, where this is reproducible and
> check if that helps..

We really need to get joiner tested by regular ci. With adl+
that shouldn't even require any special hw due to the uncompressed 
joiner. For older hw we need a DSC capable display for bigjoiner
(or faking the DSC support and ignoring the fact that you won't
actually see anything on the screen).

-- 
Ville Syrjälä
Intel

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
  2023-04-21  8:35 [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner Stanislav Lisovskiy
                   ` (2 preceding siblings ...)
  2023-04-21 11:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-04-21 18:29 ` Patchwork
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-04-21 18:29 UTC (permalink / raw)
  To: Lisovskiy, Stanislav; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 12606 bytes --]

== Series Details ==

Series: drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner
URL   : https://patchwork.freedesktop.org/series/116805/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13039_full -> Patchwork_116805v1_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (7 -> 8)
------------------------------

  Additional (1): shard-rkl0 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_116805v1_full:

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_rotation_crc@primary-rotation-270:
    - {shard-rkl}:        [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-rkl-4/igt@kms_rotation_crc@primary-rotation-270.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-rkl-4/igt@kms_rotation_crc@primary-rotation-270.html

  
Known issues
------------

  Here are the changes found in Patchwork_116805v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_barrier_race@remote-request@rcs0:
    - shard-apl:          [PASS][3] -> [ABORT][4] ([i915#8211] / [i915#8234])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-apl2/igt@gem_barrier_race@remote-request@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-apl4/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@kms_flip@2x-nonexisting-fb:
    - shard-snb:          NOTRUN -> [SKIP][5] ([fdo#109271]) +22 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-snb7/igt@kms_flip@2x-nonexisting-fb.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling@pipe-a-valid-mode:
    - shard-glk:          NOTRUN -> [SKIP][6] ([fdo#109271]) +9 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-glk9/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling@pipe-a-valid-mode.html

  * igt@kms_setmode@basic@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [FAIL][7] ([i915#5465]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [FAIL][8] ([i915#2842]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-glk:          [FAIL][10] ([i915#2842]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-glk1/igt@gem_exec_fair@basic-pace@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-glk7/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [ABORT][12] ([i915#5566]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-glk8/igt@gen9_exec_parse@allowed-single.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-glk9/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - {shard-rkl}:        [SKIP][14] ([i915#1937]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-rkl-1/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-rkl-7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_pm_rpm@dpms-non-lpsp:
    - {shard-rkl}:        [SKIP][16] ([i915#1397]) -> [PASS][17] +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-rkl-6/igt@i915_pm_rpm@dpms-non-lpsp.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs:
    - {shard-dg1}:        [DMESG-WARN][18] -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-dg1-17/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-dg1-17/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_rc_ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-apl:          [FAIL][20] ([i915#2346]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@forked-bo@pipe-b:
    - {shard-rkl}:        [INCOMPLETE][22] ([i915#8011]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-rkl-7/igt@kms_cursor_legacy@forked-bo@pipe-b.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-rkl-6/igt@kms_cursor_legacy@forked-bo@pipe-b.html

  * igt@kms_cursor_legacy@single-bo@pipe-b:
    - {shard-dg1}:        [INCOMPLETE][24] ([i915#8011] / [i915#8347]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-dg1-14/igt@kms_cursor_legacy@single-bo@pipe-b.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-dg1-16/igt@kms_cursor_legacy@single-bo@pipe-b.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1:
    - shard-glk:          [FAIL][26] ([i915#79]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13039/shard-glk1/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4884]: https://gitlab.freedesktop.org/drm/intel/issues/4884
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
  [i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381


Build changes
-------------

  * Linux: CI_DRM_13039 -> Patchwork_116805v1

  CI-20190529: 20190529
  CI_DRM_13039: 13aec8c5451c1c81d81b6b8ef1b29da9f29a7396 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7263: a6bd8f415c4ec41b5a014c7db47e46c81ffd0074 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_116805v1: 13aec8c5451c1c81d81b6b8ef1b29da9f29a7396 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_116805v1/index.html

[-- Attachment #2: Type: text/html, Size: 8962 bytes --]

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

end of thread, other threads:[~2023-04-21 18:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-21  8:35 [Intel-gfx] [PATCH] drm/i915/mtl: Copy c10 phy pll sw state from master to slave for bigjoiner Stanislav Lisovskiy
2023-04-21  9:26 ` Ville Syrjälä
2023-04-21 11:37   ` Lisovskiy, Stanislav
2023-04-21 12:19     ` Ville Syrjälä
2023-04-21 12:43       ` Lisovskiy, Stanislav
2023-04-21 12:52         ` Ville Syrjälä
2023-04-21 11:17 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2023-04-21 11:25 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-04-21 18:29 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox