APPLIED: [Oneiric][SRU][PATCH 1/1] UBUNTU: SAUCE: drm/radeon/kms: Fix logic error in DP HPD handler
Tim Gardner
tim.gardner at canonical.com
Tue Oct 4 17:26:17 UTC 2011
On 10/04/2011 10:32 AM, Leann Ogasawara wrote:
> BugLink: https://bugs.launchpad.net/bugs/860868
>
> == SRU Justification ==
> A regression was introduced in the v3.0.3 upstream stable update. The
> bug reporter has a HD5770 card with 3 screens connected (1 monitor to
> DisplayPort-0, 1 monitor to the DVI-0, and a TV to the HDMI-0). The
> screen connected to display port immediately goes black and reports "no
> signal". To wake the screen again, they had to issue the command "xset
> dpms force suspend" which then wakes the screen connected to the display
> port. The same thing also happens when turning the tv off.
>
> We narrowed down the 2 problematic patches introduced in v3.0.3. I
> escalated the issue back to upstream stable as well as the author of the
> patches. We were provided the following fix which has been tested and
> confirmed to resolve this regression. It has been sent to upstream
> dri-devel and CC'd upstream stable but has not yet been applied. As
> this resolves a regression, I think we should carry this as a SAUCE
> patch until it comes back down through stable.
>
> == Fix ==
> http://lists.freedesktop.org/archives/dri-devel/2011-October/014882.html
>
> == Test Case ==
> With the fix applied, turn tv on and off and confirm it does not
> interfere with other connected displays.
>
> From 2826ac1eb77c3741265a115ef67a671f290dd5d0 Mon Sep 17 00:00:00 2001
> From: Alex Deucher<alexander.deucher at amd.com>
> Date: Fri, 30 Sep 2011 13:05:44 -0700
> Subject: [PATCH] UBUNTU: SAUCE: drm/radeon/kms: Fix logic error in DP HPD handler
>
> BugLink: https://bugs.launchpad.net/bugs/860868
>
> Only disable the pipe if the monitor is physically
> disconnected. The previous logic also disabled the
> pipe if the link was trained.
>
> Fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=41248
>
> http://lists.freedesktop.org/archives/dri-devel/2011-October/014882.html
>
> Signed-off-by: Alex Deucher<alexander.deucher at amd.com>
> Cc: stable at kernel.org
>
> Signed-off-by: Leann Ogasawara<leann.ogasawara at canonical.com>
> ---
> drivers/gpu/drm/radeon/radeon_connectors.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
> index d1b36f8..05b8b2c 100644
> --- a/drivers/gpu/drm/radeon/radeon_connectors.c
> +++ b/drivers/gpu/drm/radeon/radeon_connectors.c
> @@ -68,11 +68,11 @@ void radeon_connector_hotplug(struct drm_connector *connector)
> if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) {
> int saved_dpms = connector->dpms;
>
> - if (radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)&&
> - radeon_dp_needs_link_train(radeon_connector))
> - drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
> - else
> + /* Only turn off the display it it's physically disconnected */
> + if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd))
> drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
> + else if (radeon_dp_needs_link_train(radeon_connector))
> + drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
> connector->dpms = saved_dpms;
> }
> }
--
Tim Gardner tim.gardner at canonical.com
More information about the kernel-team
mailing list