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;
>       }
>  

Reply via email to