diff mbox

[02/12] drm/i915: Remove encoder type checks from MST suspend/resume

Message ID 1465382507-23085-3-git-send-email-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjälä June 8, 2016, 10:41 a.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Now that eDP encoders won't have can_mst==true, we can throw out
the encoder type checks from the MST suspend/resume paths.

Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

Comments

Sharma, Shashank June 16, 2016, 12:41 p.m. UTC | #1
Regards
Shashank
On 6/8/2016 4:11 PM, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Now that eDP encoders won't have can_mst==true, we can throw out
> the encoder type checks from the MST suspend/resume paths.
>
> Cc: Dave Airlie <airlied@redhat.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/intel_dp.c | 28 ++++++++++------------------
>   1 file changed, 10 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 0ab4f319f88f..29fb0d907f7b 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -5659,15 +5659,12 @@ void intel_dp_mst_suspend(struct drm_device *dev)
>   	/* disable MST */
>   	for (i = 0; i < I915_MAX_PORTS; i++) {
>   		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
> -		if (!intel_dig_port)
> +
> +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
>   			continue;
>
> -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
> -			if (!intel_dig_port->dp.can_mst)
> -				continue;
> -			if (intel_dig_port->dp.is_mst)
> -				drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
> -		}
> +		if (intel_dig_port->dp.is_mst)
> +			drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
>   	}
>   }
>
> @@ -5678,18 +5675,13 @@ void intel_dp_mst_resume(struct drm_device *dev)
>
>   	for (i = 0; i < I915_MAX_PORTS; i++) {
>   		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
> -		if (!intel_dig_port)
> -			continue;
> -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
> -			int ret;
> +		int ret;
>
> -			if (!intel_dig_port->dp.can_mst)
> -				continue;
> +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
> +			continue;
>
> -			ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
> -			if (ret != 0) {
> -				intel_dp_check_mst_status(&intel_dig_port->dp);
> -			}
> -		}
> +		ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
> +		if (ret)
> +			intel_dp_check_mst_status(&intel_dig_port->dp);
Now when we are modifying this code, can we please check the return 
value of this function 'intel_dp_check_mst_status' which returns an int ?
- Shashank
>   	}
>   }
>
Ville Syrjälä June 16, 2016, 1:40 p.m. UTC | #2
On Thu, Jun 16, 2016 at 06:11:50PM +0530, Sharma, Shashank wrote:
> Regards
> Shashank
> On 6/8/2016 4:11 PM, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Now that eDP encoders won't have can_mst==true, we can throw out
> > the encoder type checks from the MST suspend/resume paths.
> >
> > Cc: Dave Airlie <airlied@redhat.com>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >   drivers/gpu/drm/i915/intel_dp.c | 28 ++++++++++------------------
> >   1 file changed, 10 insertions(+), 18 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 0ab4f319f88f..29fb0d907f7b 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -5659,15 +5659,12 @@ void intel_dp_mst_suspend(struct drm_device *dev)
> >   	/* disable MST */
> >   	for (i = 0; i < I915_MAX_PORTS; i++) {
> >   		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
> > -		if (!intel_dig_port)
> > +
> > +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
> >   			continue;
> >
> > -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
> > -			if (!intel_dig_port->dp.can_mst)
> > -				continue;
> > -			if (intel_dig_port->dp.is_mst)
> > -				drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
> > -		}
> > +		if (intel_dig_port->dp.is_mst)
> > +			drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
> >   	}
> >   }
> >
> > @@ -5678,18 +5675,13 @@ void intel_dp_mst_resume(struct drm_device *dev)
> >
> >   	for (i = 0; i < I915_MAX_PORTS; i++) {
> >   		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
> > -		if (!intel_dig_port)
> > -			continue;
> > -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
> > -			int ret;
> > +		int ret;
> >
> > -			if (!intel_dig_port->dp.can_mst)
> > -				continue;
> > +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
> > +			continue;
> >
> > -			ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
> > -			if (ret != 0) {
> > -				intel_dp_check_mst_status(&intel_dig_port->dp);
> > -			}
> > -		}
> > +		ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
> > +		if (ret)
> > +			intel_dp_check_mst_status(&intel_dig_port->dp);
> Now when we are modifying this code, can we please check the return 
> value of this function 'intel_dp_check_mst_status' which returns an int ?

I'll leave that to someone that cares about MST, and undestands what the
code does.

> - Shashank
> >   	}
> >   }
> >
Sharma, Shashank June 16, 2016, 5:48 p.m. UTC | #3
Regards
Shashank

On 6/16/2016 7:10 PM, Ville Syrjälä wrote:
> On Thu, Jun 16, 2016 at 06:11:50PM +0530, Sharma, Shashank wrote:
>> Regards
>> Shashank
>> On 6/8/2016 4:11 PM, ville.syrjala@linux.intel.com wrote:
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>
>>> Now that eDP encoders won't have can_mst==true, we can throw out
>>> the encoder type checks from the MST suspend/resume paths.
>>>
>>> Cc: Dave Airlie <airlied@redhat.com>
>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> ---
>>>    drivers/gpu/drm/i915/intel_dp.c | 28 ++++++++++------------------
>>>    1 file changed, 10 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>>> index 0ab4f319f88f..29fb0d907f7b 100644
>>> --- a/drivers/gpu/drm/i915/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>>> @@ -5659,15 +5659,12 @@ void intel_dp_mst_suspend(struct drm_device *dev)
>>>    	/* disable MST */
>>>    	for (i = 0; i < I915_MAX_PORTS; i++) {
>>>    		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
>>> -		if (!intel_dig_port)
>>> +
>>> +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
>>>    			continue;
>>>
>>> -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
>>> -			if (!intel_dig_port->dp.can_mst)
>>> -				continue;
>>> -			if (intel_dig_port->dp.is_mst)
>>> -				drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
>>> -		}
>>> +		if (intel_dig_port->dp.is_mst)
>>> +			drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
>>>    	}
>>>    }
>>>
>>> @@ -5678,18 +5675,13 @@ void intel_dp_mst_resume(struct drm_device *dev)
>>>
>>>    	for (i = 0; i < I915_MAX_PORTS; i++) {
>>>    		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
>>> -		if (!intel_dig_port)
>>> -			continue;
>>> -		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
>>> -			int ret;
>>> +		int ret;
>>>
>>> -			if (!intel_dig_port->dp.can_mst)
>>> -				continue;
>>> +		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
>>> +			continue;
>>>
>>> -			ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
>>> -			if (ret != 0) {
>>> -				intel_dp_check_mst_status(&intel_dig_port->dp);
>>> -			}
>>> -		}
>>> +		ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
>>> +		if (ret)
>>> +			intel_dp_check_mst_status(&intel_dig_port->dp);
>> Now when we are modifying this code, can we please check the return
>> value of this function 'intel_dp_check_mst_status' which returns an int ?
>
> I'll leave that to someone that cares about MST, and undestands what the
> code does.
>
Yes, I guess. And also, I think he would be the more appropriate person 
to review the mess we are making around MST code :).
>> - Shashank
>>>    	}
>>>    }
>>>
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 0ab4f319f88f..29fb0d907f7b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -5659,15 +5659,12 @@  void intel_dp_mst_suspend(struct drm_device *dev)
 	/* disable MST */
 	for (i = 0; i < I915_MAX_PORTS; i++) {
 		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
-		if (!intel_dig_port)
+
+		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
 			continue;
 
-		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
-			if (!intel_dig_port->dp.can_mst)
-				continue;
-			if (intel_dig_port->dp.is_mst)
-				drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
-		}
+		if (intel_dig_port->dp.is_mst)
+			drm_dp_mst_topology_mgr_suspend(&intel_dig_port->dp.mst_mgr);
 	}
 }
 
@@ -5678,18 +5675,13 @@  void intel_dp_mst_resume(struct drm_device *dev)
 
 	for (i = 0; i < I915_MAX_PORTS; i++) {
 		struct intel_digital_port *intel_dig_port = dev_priv->hotplug.irq_port[i];
-		if (!intel_dig_port)
-			continue;
-		if (intel_dig_port->base.type == INTEL_OUTPUT_DISPLAYPORT) {
-			int ret;
+		int ret;
 
-			if (!intel_dig_port->dp.can_mst)
-				continue;
+		if (!intel_dig_port || !intel_dig_port->dp.can_mst)
+			continue;
 
-			ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
-			if (ret != 0) {
-				intel_dp_check_mst_status(&intel_dig_port->dp);
-			}
-		}
+		ret = drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
+		if (ret)
+			intel_dp_check_mst_status(&intel_dig_port->dp);
 	}
 }