[Intel-gfx] [PATCH] drm/i915: Fix the old vs. new epoch counter check during hotplug detect

Lisovskiy, Stanislav stanislav.lisovskiy at intel.com
Wed Jul 1 19:07:36 UTC 2020


On Wed, Jul 01, 2020 at 09:00:01PM +0300, Imre Deak wrote:
> The old epoch counter was left uninited, so the function returned a
> changed state always.
> 
> While at it debug print the old epoch counter as well.
> 
> Fixes: 35205ee9ba46 ("drm/i915: Send hotplug event if edid had changed")
> Cc: Kunal Joshi <kunal1.joshi at intel.com>
> Cc: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hotplug.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index 80bcfff032e9..3f1d7b804a66 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -288,6 +288,7 @@ intel_encoder_hotplug(struct intel_encoder *encoder,
>  
>  	drm_WARN_ON(dev, !mutex_is_locked(&dev->mode_config.mutex));
>  	old_status = connector->base.status;
> +	old_epoch_counter = connector->base.epoch_counter;

Yep..did it in drm_helper_hpd_irq_event but forgot here..

Thank you very much for spotting!

Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>

>  
>  	connector->base.status =
>  		drm_helper_probe_detect(&connector->base, NULL, false);
> @@ -296,11 +297,12 @@ intel_encoder_hotplug(struct intel_encoder *encoder,
>  		ret = true;
>  
>  	if (ret) {
> -		DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s(epoch counter %llu)\n",
> +		DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s (epoch counter %llu->%llu)\n",
>  			      connector->base.base.id,
>  			      connector->base.name,
>  			      drm_get_connector_status_name(old_status),
>  			      drm_get_connector_status_name(connector->base.status),
> +			      old_epoch_counter,
>  			      connector->base.epoch_counter);
>  		return INTEL_HOTPLUG_CHANGED;
>  	}
> -- 
> 2.23.1
> 


More information about the Intel-gfx mailing list