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@linux.intel.com Cc: Lauri Kasanen cand@gmx.com Cc: "Christian König" christian.koenig@amd.com Cc: Dave Airlie airlied@redhat.com Cc: Alex Deucher alexander.deucher@amd.com Cc: dri-devel@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,