Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b741be82 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms/evergreen: fix backend setup

This patch fixes rendering errors on some evergreen boards.
Hardcoding the backend map is not an optimal solution, but
a better fix is being worked on.

Similar to the fix for rv740
(6271901d).

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=29986



Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 7b334fcb
Loading
Loading
Loading
Loading
+19 −8
Original line number Diff line number Diff line
@@ -1160,7 +1160,16 @@ static void evergreen_gpu_init(struct radeon_device *rdev)
									EVERGREEN_MAX_BACKENDS_MASK));
			break;
		}
	} else
	} else {
		switch (rdev->family) {
		case CHIP_CYPRESS:
		case CHIP_HEMLOCK:
			gb_backend_map = 0x66442200;
			break;
		case CHIP_JUNIPER:
			gb_backend_map = 0x00006420;
			break;
		default:
			gb_backend_map =
				evergreen_get_tile_pipe_to_backend_map(rdev,
								       rdev->config.evergreen.max_tile_pipes,
@@ -1168,6 +1177,8 @@ static void evergreen_gpu_init(struct radeon_device *rdev)
								       ((EVERGREEN_MAX_BACKENDS_MASK <<
									 rdev->config.evergreen.max_backends) &
									EVERGREEN_MAX_BACKENDS_MASK));
		}
	}

	rdev->config.evergreen.tile_config = gb_addr_config;
	WREG32(GB_BACKEND_MAP, gb_backend_map);