Re: [Intel-gfx] [PATCH 1/2] drm/i915: Move updating color management to before vblank evasion

2017-03-01 Thread Ville Syrjälä
On Tue, Feb 28, 2017 at 05:01:25PM +0200, Ville Syrjälä wrote:
> On Tue, Feb 28, 2017 at 03:28:47PM +0100, Maarten Lankhorst wrote:
> > This cannot be done reliably during vblank evasasion
> > since the color management registers are not double buffered.
> > 
> > The original commit that moved it always during vblank evasion was
> > wrong, so revert it to before vblank evasion again.
> > 
> > Signed-off-by: Maarten Lankhorst 
> > Fixes: 20a34e78f0d7 ("drm/i915: Update color management during vblank 
> > evasion.")
> > Cc: sta...@vger.kernel.org # v4.7+
> 
> Wasn't there a bugzilla + tested-by ?

Seems we have two bugzillas now:
https://bugs.freedesktop.org/show_bug.cgi?id=91883
https://bugs.freedesktop.org/show_bug.cgi?id=1

First one is about the atomic update fails, the second about
the assert_dsi_pll() mutex vs. irq_disabled() warning.

No actual t-bs for this specific variant of the patch (yet)
from what I can see.

Anyways, this is 
Reviewed-by: Ville Syrjälä 

> 
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 12 +++-
> >  1 file changed, 7 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c 
> > b/drivers/gpu/drm/i915/intel_display.c
> > index 3c862d0ab389..a0108041fd4a 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -13301,17 +13301,19 @@ static void intel_begin_crtc_commit(struct 
> > drm_crtc *crtc,
> > to_intel_atomic_state(old_crtc_state->state);
> > bool modeset = needs_modeset(crtc->state);
> >  
> > +   if (!modeset &&
> > +   (intel_cstate->base.color_mgmt_changed ||
> > +intel_cstate->update_pipe)) {
> > +   intel_color_set_csc(crtc->state);
> > +   intel_color_load_luts(crtc->state);
> > +   }
> > +
> > /* Perform vblank evasion around commit operation */
> > intel_pipe_update_start(intel_crtc);
> >  
> > if (modeset)
> > goto out;
> >  
> > -   if (crtc->state->color_mgmt_changed || 
> > to_intel_crtc_state(crtc->state)->update_pipe) {
> > -   intel_color_set_csc(crtc->state);
> > -   intel_color_load_luts(crtc->state);
> > -   }
> > -
> > if (intel_cstate->update_pipe)
> > intel_update_pipe_config(intel_crtc, old_intel_cstate);
> > else if (INTEL_GEN(dev_priv) >= 9)
> > -- 
> > 2.7.4
> > 
> > ___
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Ville Syrjälä
> Intel OTC
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 1/2] drm/i915: Move updating color management to before vblank evasion

2017-02-28 Thread Ville Syrjälä
On Tue, Feb 28, 2017 at 03:28:47PM +0100, Maarten Lankhorst wrote:
> This cannot be done reliably during vblank evasasion
> since the color management registers are not double buffered.
> 
> The original commit that moved it always during vblank evasion was
> wrong, so revert it to before vblank evasion again.
> 
> Signed-off-by: Maarten Lankhorst 
> Fixes: 20a34e78f0d7 ("drm/i915: Update color management during vblank 
> evasion.")
> Cc: sta...@vger.kernel.org # v4.7+

Wasn't there a bugzilla + tested-by ?

> ---
>  drivers/gpu/drm/i915/intel_display.c | 12 +++-
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 3c862d0ab389..a0108041fd4a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13301,17 +13301,19 @@ static void intel_begin_crtc_commit(struct drm_crtc 
> *crtc,
>   to_intel_atomic_state(old_crtc_state->state);
>   bool modeset = needs_modeset(crtc->state);
>  
> + if (!modeset &&
> + (intel_cstate->base.color_mgmt_changed ||
> +  intel_cstate->update_pipe)) {
> + intel_color_set_csc(crtc->state);
> + intel_color_load_luts(crtc->state);
> + }
> +
>   /* Perform vblank evasion around commit operation */
>   intel_pipe_update_start(intel_crtc);
>  
>   if (modeset)
>   goto out;
>  
> - if (crtc->state->color_mgmt_changed || 
> to_intel_crtc_state(crtc->state)->update_pipe) {
> - intel_color_set_csc(crtc->state);
> - intel_color_load_luts(crtc->state);
> - }
> -
>   if (intel_cstate->update_pipe)
>   intel_update_pipe_config(intel_crtc, old_intel_cstate);
>   else if (INTEL_GEN(dev_priv) >= 9)
> -- 
> 2.7.4
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH 1/2] drm/i915: Move updating color management to before vblank evasion

2017-02-28 Thread Maarten Lankhorst
This cannot be done reliably during vblank evasasion
since the color management registers are not double buffered.

The original commit that moved it always during vblank evasion was
wrong, so revert it to before vblank evasion again.

Signed-off-by: Maarten Lankhorst 
Fixes: 20a34e78f0d7 ("drm/i915: Update color management during vblank evasion.")
Cc: sta...@vger.kernel.org # v4.7+
---
 drivers/gpu/drm/i915/intel_display.c | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 3c862d0ab389..a0108041fd4a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13301,17 +13301,19 @@ static void intel_begin_crtc_commit(struct drm_crtc 
*crtc,
to_intel_atomic_state(old_crtc_state->state);
bool modeset = needs_modeset(crtc->state);
 
+   if (!modeset &&
+   (intel_cstate->base.color_mgmt_changed ||
+intel_cstate->update_pipe)) {
+   intel_color_set_csc(crtc->state);
+   intel_color_load_luts(crtc->state);
+   }
+
/* Perform vblank evasion around commit operation */
intel_pipe_update_start(intel_crtc);
 
if (modeset)
goto out;
 
-   if (crtc->state->color_mgmt_changed || 
to_intel_crtc_state(crtc->state)->update_pipe) {
-   intel_color_set_csc(crtc->state);
-   intel_color_load_luts(crtc->state);
-   }
-
if (intel_cstate->update_pipe)
intel_update_pipe_config(intel_crtc, old_intel_cstate);
else if (INTEL_GEN(dev_priv) >= 9)
-- 
2.7.4

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