diff mbox

drm/i915: add missing condition for committing planes on crtc

Message ID 1462804814-20428-1-git-send-email-lionel.g.landwerlin@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lionel Landwerlin May 9, 2016, 2:40 p.m. UTC
We are currently missing the color management update condition to
commit planes on crtc.

v2: add comment about moving the commit of color management registers
    to an async worker

v3: Commit color management register right after vblank

v4: Move back color management commit condition together with planes
    commit

Fixes: 20a34e78f0d7 (drm/i915: Update color management during vblank evasion.)
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Maarten Lankhorst May 11, 2016, 10:51 a.m. UTC | #1
Op 09-05-16 om 16:40 schreef Lionel Landwerlin:
> We are currently missing the color management update condition to
> commit planes on crtc.
>
> v2: add comment about moving the commit of color management registers
>     to an async worker
>
> v3: Commit color management register right after vblank
>
> v4: Move back color management commit condition together with planes
>     commit
>
> Fixes: 20a34e78f0d7 (drm/i915: Update color management during vblank evasion.)
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 3c6b7b9..b63f33d 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13669,7 +13669,9 @@ static int intel_atomic_commit(struct drm_device *dev,
>  			intel_fbc_enable(intel_crtc);
>  
>  		if (crtc->state->active &&
> -		    (crtc->state->planes_changed || update_pipe))
> +		    (crtc->state->planes_changed ||
> +		     crtc->state->color_mgmt_changed ||
> +		     update_pipe))
>  			drm_atomic_helper_commit_planes_on_crtc(old_crtc_state);
>  
>  		if (pipe_config->base.active && needs_vblank_wait(pipe_config))

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Lionel Landwerlin May 12, 2016, 10:31 a.m. UTC | #2
Hey Daniel,

Sorry to nag again. Could you cherry pick this?

Thanks!

-
Lionel

On 11/05/16 11:51, Maarten Lankhorst wrote:
> Op 09-05-16 om 16:40 schreef Lionel Landwerlin:
>> We are currently missing the color management update condition to
>> commit planes on crtc.
>>
>> v2: add comment about moving the commit of color management registers
>>      to an async worker
>>
>> v3: Commit color management register right after vblank
>>
>> v4: Move back color management commit condition together with planes
>>      commit
>>
>> Fixes: 20a34e78f0d7 (drm/i915: Update color management during vblank evasion.)
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_display.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> index 3c6b7b9..b63f33d 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -13669,7 +13669,9 @@ static int intel_atomic_commit(struct drm_device *dev,
>>   			intel_fbc_enable(intel_crtc);
>>   
>>   		if (crtc->state->active &&
>> -		    (crtc->state->planes_changed || update_pipe))
>> +		    (crtc->state->planes_changed ||
>> +		     crtc->state->color_mgmt_changed ||
>> +		     update_pipe))
>>   			drm_atomic_helper_commit_planes_on_crtc(old_crtc_state);
>>   
>>   		if (pipe_config->base.active && needs_vblank_wait(pipe_config))
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>
>
Daniel Vetter May 17, 2016, 7:28 a.m. UTC | #3
On Thu, May 12, 2016 at 11:31:16AM +0100, Lionel Landwerlin wrote:
> Hey Daniel,
> 
> Sorry to nag again. Could you cherry pick this?

In some earlier review (seems to have been lost, at least you didn't
reply) I suggested you just set planes_changed when computing color mgm
differences. That mail contained some lengthy explaination for why I think
that is the better idea.

Can you pls take a look and then decide?

Thanks, Daniel

> 
> Thanks!
> 
> -
> Lionel
> 
> On 11/05/16 11:51, Maarten Lankhorst wrote:
> >Op 09-05-16 om 16:40 schreef Lionel Landwerlin:
> >>We are currently missing the color management update condition to
> >>commit planes on crtc.
> >>
> >>v2: add comment about moving the commit of color management registers
> >>     to an async worker
> >>
> >>v3: Commit color management register right after vblank
> >>
> >>v4: Move back color management commit condition together with planes
> >>     commit
> >>
> >>Fixes: 20a34e78f0d7 (drm/i915: Update color management during vblank evasion.)
> >>Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >>Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >>Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> >>---
> >>  drivers/gpu/drm/i915/intel_display.c | 4 +++-
> >>  1 file changed, 3 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> >>index 3c6b7b9..b63f33d 100644
> >>--- a/drivers/gpu/drm/i915/intel_display.c
> >>+++ b/drivers/gpu/drm/i915/intel_display.c
> >>@@ -13669,7 +13669,9 @@ static int intel_atomic_commit(struct drm_device *dev,
> >>  			intel_fbc_enable(intel_crtc);
> >>  		if (crtc->state->active &&
> >>-		    (crtc->state->planes_changed || update_pipe))
> >>+		    (crtc->state->planes_changed ||
> >>+		     crtc->state->color_mgmt_changed ||
> >>+		     update_pipe))
> >>  			drm_atomic_helper_commit_planes_on_crtc(old_crtc_state);
> >>  		if (pipe_config->base.active && needs_vblank_wait(pipe_config))
> >Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >
> >
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3c6b7b9..b63f33d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13669,7 +13669,9 @@  static int intel_atomic_commit(struct drm_device *dev,
 			intel_fbc_enable(intel_crtc);
 
 		if (crtc->state->active &&
-		    (crtc->state->planes_changed || update_pipe))
+		    (crtc->state->planes_changed ||
+		     crtc->state->color_mgmt_changed ||
+		     update_pipe))
 			drm_atomic_helper_commit_planes_on_crtc(old_crtc_state);
 
 		if (pipe_config->base.active && needs_vblank_wait(pipe_config))