[PATCH] drm/radeon: Fix regression with suspend/resume

Ross Zwisler ross.zwisler at linux.intel.com
Thu Feb 12 12:30:26 PST 2015


This patch reverts the changes made in this commit:

  deadcb36f49b ("drm/radeon: Use two-ended allocation by size, v2")

That patch caused a regression on my system where the bottom of the
screen flickers after my laptop goes thorough a suspend and resume.
This is reproducible 100% of the time.

This patch applies cleanly to v3.19, and fixes the screen flicker issue
on my system.  Here is the hardware that I'm using (from lspci):

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc.
[AMD/ATI] Seymour [Radeon HD 6400M/7400M Series]

Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
Cc: Lauri Kasanen <cand at gmx.com>
Cc: "Christian König" <christian.koenig at amd.com>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: dri-devel at lists.freedesktop.org
---
 drivers/gpu/drm/radeon/radeon_object.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
index 86fc564..dea1baf 100644
--- a/drivers/gpu/drm/radeon/radeon_object.c
+++ b/drivers/gpu/drm/radeon/radeon_object.c
@@ -173,17 +173,6 @@ void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain)
 		else
 			rbo->placements[i].lpfn = 0;
 	}
-
-	/*
-	 * Use two-ended allocation depending on the buffer size to
-	 * improve fragmentation quality.
-	 * 512kb was measured as the most optimal number.
-	 */
-	if (rbo->tbo.mem.size > 512 * 1024) {
-		for (i = 0; i < c; i++) {
-			rbo->placements[i].flags |= TTM_PL_FLAG_TOPDOWN;
-		}
-	}
 }
 
 int radeon_bo_create(struct radeon_device *rdev,
-- 
1.9.3



More information about the dri-devel mailing list