From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Mickler Subject: Re: [Intel-gfx] [PATCH 2/2] drm: record monitor status in output_poll_execute Date: Sun, 5 Dec 2010 13:27:43 +0100 Message-ID: <20101205132743.3b3458ab@schatten.dmk.lab> References: <1290797159-3977-1-git-send-email-keithp@keithp.com> <1290797159-3977-2-git-send-email-keithp@keithp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1290797159-3977-2-git-send-email-keithp@keithp.com> Sender: linux-kernel-owner@vger.kernel.org To: Keith Packard Cc: Chris Wilson , Dave Airlie , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, 26 Nov 2010 10:45:59 -0800 Keith Packard 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 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; > } >