[Intel-gfx] [PATCH 2/2] drm: record monitor status in output_poll_execute

Florian Mickler florian at mickler.org
Sun Dec 5 04:27:43 PST 2010


On Fri, 26 Nov 2010 10:45:59 -0800
Keith Packard <keithp at keithp.com> wrote:

> In order to correctly report monitor connected status changes, the
> previous monitor status must be recorded in the connector->status
> value instead of being discarded.
> 
> Signed-off-by: Keith Packard <keithp at keithp.com>

Keith, am I right to assume that these address 
https://bugzilla.kernel.org/show_bug.cgi?id=22672
and probably:
https://bugzilla.kernel.org/show_bug.cgi?id=23472 

Regards,
Flo

> ---
>  drivers/gpu/drm/drm_crtc_helper.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
> index 232ee93..7ca5935 100644
> --- a/drivers/gpu/drm/drm_crtc_helper.c
> +++ b/drivers/gpu/drm/drm_crtc_helper.c
> @@ -848,7 +848,7 @@ static void output_poll_execute(struct work_struct *work)
>  	struct delayed_work *delayed_work = to_delayed_work(work);
>  	struct drm_device *dev = container_of(delayed_work, struct drm_device, mode_config.output_poll_work);
>  	struct drm_connector *connector;
> -	enum drm_connector_status old_status, status;
> +	enum drm_connector_status old_status;
>  	bool repoll = false, changed = false;
>  
>  	if (!drm_kms_helper_poll)
> @@ -873,8 +873,9 @@ static void output_poll_execute(struct work_struct *work)
>  		    !(connector->polled & DRM_CONNECTOR_POLL_HPD))
>  			continue;
>  
> -		status = connector->funcs->detect(connector, false);
> -		if (old_status != status)
> +		connector->status = connector->funcs->detect(connector, false);
> +		DRM_DEBUG_KMS("connector status updated to %d\n", connector->status);
> +		if (old_status != connector->status)
>  			changed = true;
>  	}
>  


More information about the dri-devel mailing list