Re: [Intel-gfx] [PATCH 2/2] drm: record monitor status inoutput_poll_execute

From: Florian Mickler
Date: Sun Dec 05 2010 - 07:28:42 EST


On Fri, 26 Nov 2010 10:45:59 -0800
Keith Packard <keithp@xxxxxxxxxx> 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@xxxxxxxxxx>

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;
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/