From 4a3761918c69887feb680c09f833a01e4d5e4eb6 Mon Sep 17 00:00:00 2001 From: Richard Thier Date: Sun, 16 Jun 2019 19:30:26 +0200 Subject: [PATCH] Fix rs400_gpu_init for ATI mobility radeon Xpress 200M num_gb_pipes was set to a wrong value using r420_pipe_config This have lead to HyperZ glitches on fast Z clearing. See: https://bugs.freedesktop.org/show_bug.cgi?id=110897 --- drivers/gpu/drm/radeon/r420.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c index 2318d9e..f366565 100644 --- a/drivers/gpu/drm/radeon/r420.c +++ b/drivers/gpu/drm/radeon/r420.c @@ -98,8 +98,15 @@ void r420_pipes_init(struct radeon_device *rdev) gb_pipe_select = RREG32(R400_GB_PIPE_SELECT); num_pipes = ((gb_pipe_select >> 12) & 3) + 1; - /* SE chips have 1 pipe */ + /* SE chips (0x5e4c, 0x5e4f) have 1 pipe. + * + * RC410 Mobility radeon Xpress 200M (0x5a62) + * have 1 pipe too and might get reported badly! + * + * See: https://bugs.freedesktop.org/show_bug.cgi?id=110897 + */ if ((rdev->pdev->device == 0x5e4c) || + (rdev->pdev->device == 0x5a62) || (rdev->pdev->device == 0x5e4f)) num_pipes = 1; -- 2.21.0