[Intel-gfx] [PATCH] drm/i915: only report hpd connector status change when it actually changed

Jani Nikula jani.nikula at intel.com
Tue Sep 17 16:56:08 CEST 2013


On Tue, 17 Sep 2013, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Tue, Sep 17, 2013 at 02:26:34PM +0300, Jani Nikula wrote:
>> This reduces dmesg noise when there's a glitch on the hpd line, or there
>> are more than one connectors on the same hpd line and only one of them
>> changes.
>> 
>> While at it, switch to use the friendly status names instead of numbers.
>> 
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_irq.c |   14 ++++++++++----
>>  1 file changed, 10 insertions(+), 4 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index 13d26cf..a42f30b 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -665,7 +665,8 @@ static int i915_get_vblank_timestamp(struct drm_device *dev, int pipe,
>>  						     crtc);
>>  }
>>  
>> -static int intel_hpd_irq_event(struct drm_device *dev, struct drm_connector *connector)
>> +static bool intel_hpd_irq_event(struct drm_device *dev,
>> +				struct drm_connector *connector)
>
> You change the return value to a bool here, but no users. Missing
> follow-up patch?

Nope, the only call site in i915_hotplug_work_func() already treats it
as a bool.

Jani.



> -Daniel
>
>>  {
>>  	enum drm_connector_status old_status;
>>  
>> @@ -673,11 +674,16 @@ static int intel_hpd_irq_event(struct drm_device *dev, struct drm_connector *con
>>  	old_status = connector->status;
>>  
>>  	connector->status = connector->funcs->detect(connector, false);
>> -	DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %d to %d\n",
>> +	if (old_status == connector->status)
>> +		return false;
>> +
>> +	DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s\n",
>>  		      connector->base.id,
>>  		      drm_get_connector_name(connector),
>> -		      old_status, connector->status);
>> -	return (old_status != connector->status);
>> +		      drm_get_connector_status_name(old_status),
>> +		      drm_get_connector_status_name(connector->status));
>> +
>> +	return true;
>>  }
>>  
>>  /*
>> -- 
>> 1.7.9.5
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list