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

Commit 6101b3ae authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/radeon: fix active cu count for SI and CIK

This fixes the CU count reported to userspace for
OpenCL.

bug:
https://bugzilla.kernel.org/show_bug.cgi?id=82581



Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
Cc: stable@vger.kernel.org
parent cd1c9c1a
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -3483,7 +3483,7 @@ static void cik_gpu_init(struct radeon_device *rdev)
	u32 mc_shared_chmap, mc_arb_ramcfg;
	u32 hdp_host_path_cntl;
	u32 tmp;
	int i, j, k;
	int i, j;

	switch (rdev->family) {
	case CHIP_BONAIRE:
@@ -3674,12 +3674,10 @@ static void cik_gpu_init(struct radeon_device *rdev)

	for (i = 0; i < rdev->config.cik.max_shader_engines; i++) {
		for (j = 0; j < rdev->config.cik.max_sh_per_se; j++) {
			for (k = 0; k < rdev->config.cik.max_cu_per_sh; k++) {
			rdev->config.cik.active_cus +=
				hweight32(cik_get_cu_active_bitmap(rdev, i, j));
		}
	}
	}

	/* set HW defaults for 3D engine */
	WREG32(CP_MEQ_THRESHOLDS, MEQ1_START(0x30) | MEQ2_START(0x60));
+3 −5
Original line number Diff line number Diff line
@@ -3057,7 +3057,7 @@ static void si_gpu_init(struct radeon_device *rdev)
	u32 sx_debug_1;
	u32 hdp_host_path_cntl;
	u32 tmp;
	int i, j, k;
	int i, j;

	switch (rdev->family) {
	case CHIP_TAHITI:
@@ -3257,12 +3257,10 @@ static void si_gpu_init(struct radeon_device *rdev)

	for (i = 0; i < rdev->config.si.max_shader_engines; i++) {
		for (j = 0; j < rdev->config.si.max_sh_per_se; j++) {
			for (k = 0; k < rdev->config.si.max_cu_per_sh; k++) {
			rdev->config.si.active_cus +=
				hweight32(si_get_cu_active_bitmap(rdev, i, j));
		}
	}
	}

	/* set HW defaults for 3D engine */
	WREG32(CP_QUEUE_THRESHOLDS, (ROQ_IB1_START(0x16) |