From 29d42d24f99f8d3598c68f3f384d74d1f5bcc3fd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 4 Feb 2013 06:29:48 -0800 Subject: [PATCH] 3.0-stable patches added patches: drm-radeon-add-quirk-for-rv100-board.patch drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch --- ...drm-radeon-add-quirk-for-rv100-board.patch | 39 +++++++++++++++++++ ...ect_unrefer-when-creating-fb-failure.patch | 35 +++++++++++++++++ queue-3.0/series | 2 + 3 files changed, 76 insertions(+) create mode 100644 queue-3.0/drm-radeon-add-quirk-for-rv100-board.patch create mode 100644 queue-3.0/drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch diff --git a/queue-3.0/drm-radeon-add-quirk-for-rv100-board.patch b/queue-3.0/drm-radeon-add-quirk-for-rv100-board.patch new file mode 100644 index 00000000000..6c620dd5db2 --- /dev/null +++ b/queue-3.0/drm-radeon-add-quirk-for-rv100-board.patch @@ -0,0 +1,39 @@ +From 9200ee4941a6e5d1ec5df88982243686882dff3f Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Tue, 29 Jan 2013 16:36:47 -0500 +Subject: drm/radeon: add quirk for RV100 board + +From: Alex Deucher + +commit 9200ee4941a6e5d1ec5df88982243686882dff3f upstream. + +vbios says external TMDS while the board is actually +internal TMDS. + +fixes: +https://bugs.freedesktop.org/show_bug.cgi?id=60037 + +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_combios.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/gpu/drm/radeon/radeon_combios.c ++++ b/drivers/gpu/drm/radeon/radeon_combios.c +@@ -2338,6 +2338,14 @@ bool radeon_get_legacy_connector_info_fr + 1), + ATOM_DEVICE_CRT1_SUPPORT); + } ++ /* RV100 board with external TDMS bit mis-set. ++ * Actually uses internal TMDS, clear the bit. ++ */ ++ if (dev->pdev->device == 0x5159 && ++ dev->pdev->subsystem_vendor == 0x1014 && ++ dev->pdev->subsystem_device == 0x029A) { ++ tmp &= ~(1 << 4); ++ } + if ((tmp >> 4) & 0x1) { + devices |= ATOM_DEVICE_DFP2_SUPPORT; + radeon_add_legacy_encoder(dev, diff --git a/queue-3.0/drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch b/queue-3.0/drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch new file mode 100644 index 00000000000..88e6951473d --- /dev/null +++ b/queue-3.0/drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch @@ -0,0 +1,35 @@ +From f2d68cf4daa4de97d400d94836b907e35228e54f Mon Sep 17 00:00:00 2001 +From: liu chuansheng +Date: Thu, 31 Jan 2013 22:13:00 +0800 +Subject: drm/radeon: Calling object_unrefer() when creating fb failure + +From: liu chuansheng + +commit f2d68cf4daa4de97d400d94836b907e35228e54f upstream. + +When kzalloc() failed in radeon_user_framebuffer_create(), need to +call object_unreference() to match the object_reference(). + +Signed-off-by: liu chuansheng +Signed-off-by: xueminsu +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_display.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/radeon/radeon_display.c ++++ b/drivers/gpu/drm/radeon/radeon_display.c +@@ -1158,8 +1158,10 @@ radeon_user_framebuffer_create(struct dr + } + + radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL); +- if (radeon_fb == NULL) ++ if (radeon_fb == NULL) { ++ drm_gem_object_unreference_unlocked(obj); + return ERR_PTR(-ENOMEM); ++ } + + radeon_framebuffer_init(dev, radeon_fb, mode_cmd, obj); + diff --git a/queue-3.0/series b/queue-3.0/series index 44854f7f0a0..398bc79c4a1 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -1 +1,3 @@ drm-radeon-evergreen-wait-for-the-mc-to-settle-after-mc-blackout.patch +drm-radeon-add-quirk-for-rv100-board.patch +drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch -- 2.47.3