[06/42] drm/i915: get rid of new_crtc
diff mbox

Message ID 1431354318-11995-7-git-send-email-maarten.lankhorst@linux.intel.com
State New
Headers show

Commit Message

Maarten Lankhorst May 11, 2015, 2:24 p.m. UTC
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 15 ++++-----------
 drivers/gpu/drm/i915/intel_drv.h     |  5 -----
 2 files changed, 4 insertions(+), 16 deletions(-)

Comments

Daniel Vetter May 11, 2015, 5:28 p.m. UTC | #1
On Mon, May 11, 2015 at 04:24:42PM +0200, Maarten Lankhorst wrote:
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Same comment about the terse commit message as in the previous patch.

> ---
>  drivers/gpu/drm/i915/intel_display.c | 15 ++++-----------
>  drivers/gpu/drm/i915/intel_drv.h     |  5 -----
>  2 files changed, 4 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 00b1552a1f91..a9ce827601d8 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9795,7 +9795,6 @@ retry:
>  	ret = drm_modeset_lock(&crtc->primary->mutex, ctx);
>  	if (ret)
>  		goto fail_unlock;
> -	intel_encoder->new_crtc = to_intel_crtc(crtc);
>  
>  	intel_crtc = to_intel_crtc(crtc);
>  	intel_crtc->new_enabled = true;
> @@ -9914,7 +9913,6 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
>  		if (IS_ERR(crtc_state))
>  			goto fail;
>  
> -		intel_encoder->new_crtc = NULL;
>  		intel_crtc->new_enabled = false;
>  
>  		connector_state->best_encoder = NULL;
> @@ -11063,12 +11061,6 @@ static const struct drm_crtc_helper_funcs intel_helper_funcs = {
>  static void intel_modeset_update_staged_output_state(struct drm_device *dev)
>  {
>  	struct intel_crtc *crtc;
> -	struct intel_encoder *encoder;
> -
> -	for_each_intel_encoder(dev, encoder) {
> -		encoder->new_crtc =
> -			to_intel_crtc(encoder->base.crtc);
> -	}
>  
>  	for_each_intel_crtc(dev, crtc) {
>  		crtc->new_enabled = crtc->base.state->enable;
> @@ -11905,8 +11897,6 @@ check_encoder_state(struct drm_device *dev)
>  			      encoder->base.base.id,
>  			      encoder->base.name);
>  
> -		I915_STATE_WARN(&encoder->new_crtc->base != encoder->base.crtc,
> -		     "encoder's stage crtc doesn't match current crtc\n");
>  		I915_STATE_WARN(encoder->connectors_active && !encoder->base.crtc,
>  		     "encoder's active_connectors set, but no crtc\n");
>  
> @@ -11916,6 +11906,9 @@ check_encoder_state(struct drm_device *dev)
>  			enabled = true;
>  			if (connector->base.dpms != DRM_MODE_DPMS_OFF)
>  				active = true;
> +
> +			I915_STATE_WARN(connector->base.state->crtc != encoder->base.crtc,
> +			     "encoder's stage crtc doesn't match current crtc\n");

Hm the error message doesn't make that much sense any more. What about
"encoder's legacy crtc pointer doesn't match up with connector state"?
-Daniel

>  		}
>  		/*
>  		 * for MST connectors if we unplug the connector is gone
> @@ -12401,7 +12394,7 @@ void intel_crtc_restore_mode(struct drm_crtc *crtc)
>  	 * need to copy the staged config to the atomic state, otherwise the
>  	 * mode set will just reapply the state the HW is already in. */
>  	for_each_intel_encoder(dev, encoder) {
> -		if (&encoder->new_crtc->base != crtc)
> +		if (encoder->base.crtc != crtc)
>  			continue;
>  
>  		for_each_intel_connector(dev, connector) {
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 44d1de9ee2db..f85761494dd1 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -130,11 +130,6 @@ struct intel_fbdev {
>  
>  struct intel_encoder {
>  	struct drm_encoder base;
> -	/*
> -	 * The new crtc this encoder will be driven from. Only differs from
> -	 * base->crtc while a modeset is in progress.
> -	 */
> -	struct intel_crtc *new_crtc;
>  
>  	enum intel_output_type type;
>  	unsigned int cloneable;
> -- 
> 2.1.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Maarten Lankhorst May 12, 2015, 12:07 p.m. UTC | #2
Op 11-05-15 om 19:28 schreef Daniel Vetter:
> On Mon, May 11, 2015 at 04:24:42PM +0200, Maarten Lankhorst wrote:
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Same comment about the terse commit message as in the previous patch.
>
>> ---
>>  drivers/gpu/drm/i915/intel_display.c | 15 ++++-----------
>>  drivers/gpu/drm/i915/intel_drv.h     |  5 -----
>>  2 files changed, 4 insertions(+), 16 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> index 00b1552a1f91..a9ce827601d8 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -9795,7 +9795,6 @@ retry:
>>  	ret = drm_modeset_lock(&crtc->primary->mutex, ctx);
>>  	if (ret)
>>  		goto fail_unlock;
>> -	intel_encoder->new_crtc = to_intel_crtc(crtc);
>>  
>>  	intel_crtc = to_intel_crtc(crtc);
>>  	intel_crtc->new_enabled = true;
>> @@ -9914,7 +9913,6 @@ void intel_release_load_detect_pipe(struct drm_connector *connector,
>>  		if (IS_ERR(crtc_state))
>>  			goto fail;
>>  
>> -		intel_encoder->new_crtc = NULL;
>>  		intel_crtc->new_enabled = false;
>>  
>>  		connector_state->best_encoder = NULL;
>> @@ -11063,12 +11061,6 @@ static const struct drm_crtc_helper_funcs intel_helper_funcs = {
>>  static void intel_modeset_update_staged_output_state(struct drm_device *dev)
>>  {
>>  	struct intel_crtc *crtc;
>> -	struct intel_encoder *encoder;
>> -
>> -	for_each_intel_encoder(dev, encoder) {
>> -		encoder->new_crtc =
>> -			to_intel_crtc(encoder->base.crtc);
>> -	}
>>  
>>  	for_each_intel_crtc(dev, crtc) {
>>  		crtc->new_enabled = crtc->base.state->enable;
>> @@ -11905,8 +11897,6 @@ check_encoder_state(struct drm_device *dev)
>>  			      encoder->base.base.id,
>>  			      encoder->base.name);
>>  
>> -		I915_STATE_WARN(&encoder->new_crtc->base != encoder->base.crtc,
>> -		     "encoder's stage crtc doesn't match current crtc\n");
>>  		I915_STATE_WARN(encoder->connectors_active && !encoder->base.crtc,
>>  		     "encoder's active_connectors set, but no crtc\n");
>>  
>> @@ -11916,6 +11906,9 @@ check_encoder_state(struct drm_device *dev)
>>  			enabled = true;
>>  			if (connector->base.dpms != DRM_MODE_DPMS_OFF)
>>  				active = true;
>> +
>> +			I915_STATE_WARN(connector->base.state->crtc != encoder->base.crtc,
>> +			     "encoder's stage crtc doesn't match current crtc\n");
> Hm the error message doesn't make that much sense any more. What about
> "encoder's legacy crtc pointer doesn't match up with connector state"?
>
Sounds good!

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 00b1552a1f91..a9ce827601d8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9795,7 +9795,6 @@  retry:
 	ret = drm_modeset_lock(&crtc->primary->mutex, ctx);
 	if (ret)
 		goto fail_unlock;
-	intel_encoder->new_crtc = to_intel_crtc(crtc);
 
 	intel_crtc = to_intel_crtc(crtc);
 	intel_crtc->new_enabled = true;
@@ -9914,7 +9913,6 @@  void intel_release_load_detect_pipe(struct drm_connector *connector,
 		if (IS_ERR(crtc_state))
 			goto fail;
 
-		intel_encoder->new_crtc = NULL;
 		intel_crtc->new_enabled = false;
 
 		connector_state->best_encoder = NULL;
@@ -11063,12 +11061,6 @@  static const struct drm_crtc_helper_funcs intel_helper_funcs = {
 static void intel_modeset_update_staged_output_state(struct drm_device *dev)
 {
 	struct intel_crtc *crtc;
-	struct intel_encoder *encoder;
-
-	for_each_intel_encoder(dev, encoder) {
-		encoder->new_crtc =
-			to_intel_crtc(encoder->base.crtc);
-	}
 
 	for_each_intel_crtc(dev, crtc) {
 		crtc->new_enabled = crtc->base.state->enable;
@@ -11905,8 +11897,6 @@  check_encoder_state(struct drm_device *dev)
 			      encoder->base.base.id,
 			      encoder->base.name);
 
-		I915_STATE_WARN(&encoder->new_crtc->base != encoder->base.crtc,
-		     "encoder's stage crtc doesn't match current crtc\n");
 		I915_STATE_WARN(encoder->connectors_active && !encoder->base.crtc,
 		     "encoder's active_connectors set, but no crtc\n");
 
@@ -11916,6 +11906,9 @@  check_encoder_state(struct drm_device *dev)
 			enabled = true;
 			if (connector->base.dpms != DRM_MODE_DPMS_OFF)
 				active = true;
+
+			I915_STATE_WARN(connector->base.state->crtc != encoder->base.crtc,
+			     "encoder's stage crtc doesn't match current crtc\n");
 		}
 		/*
 		 * for MST connectors if we unplug the connector is gone
@@ -12401,7 +12394,7 @@  void intel_crtc_restore_mode(struct drm_crtc *crtc)
 	 * need to copy the staged config to the atomic state, otherwise the
 	 * mode set will just reapply the state the HW is already in. */
 	for_each_intel_encoder(dev, encoder) {
-		if (&encoder->new_crtc->base != crtc)
+		if (encoder->base.crtc != crtc)
 			continue;
 
 		for_each_intel_connector(dev, connector) {
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 44d1de9ee2db..f85761494dd1 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -130,11 +130,6 @@  struct intel_fbdev {
 
 struct intel_encoder {
 	struct drm_encoder base;
-	/*
-	 * The new crtc this encoder will be driven from. Only differs from
-	 * base->crtc while a modeset is in progress.
-	 */
-	struct intel_crtc *new_crtc;
 
 	enum intel_output_type type;
 	unsigned int cloneable;