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

Commit 767fb6b3 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amd/powerplay: expose SMU7 asics realtime memory utilization



Enable realtime memory utilization report on SMU7 asics.

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 271151d8
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3532,9 +3532,12 @@ static int smu7_read_sensor(struct pp_hwmgr *hwmgr, int idx,
		*size = 4;
		return 0;
	case AMDGPU_PP_SENSOR_GPU_LOAD:
	case AMDGPU_PP_SENSOR_MEM_LOAD:
		offset = data->soft_regs_start + smum_get_offsetof(hwmgr,
								SMU_SoftRegisters,
								AverageGraphicsActivity);
								(idx == AMDGPU_PP_SENSOR_GPU_LOAD) ?
								AverageGraphicsActivity:
								AverageMemoryActivity);

		activity_percent = cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, offset);
		activity_percent += 0x80;
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ enum SMU_MEMBER {
	HandshakeDisables = 0,
	VoltageChangeTimeout,
	AverageGraphicsActivity,
	AverageMemoryActivity,
	PreVBlankGap,
	VBlankTimeout,
	UcodeLoadStatus,
+2 −0
Original line number Diff line number Diff line
@@ -2254,6 +2254,8 @@ static uint32_t ci_get_offsetof(uint32_t type, uint32_t member)
			return offsetof(SMU7_SoftRegisters, VoltageChangeTimeout);
		case AverageGraphicsActivity:
			return offsetof(SMU7_SoftRegisters, AverageGraphicsA);
		case AverageMemoryActivity:
			return offsetof(SMU7_SoftRegisters, AverageMemoryA);
		case PreVBlankGap:
			return offsetof(SMU7_SoftRegisters, PreVBlankGap);
		case VBlankTimeout:
+2 −0
Original line number Diff line number Diff line
@@ -2304,6 +2304,8 @@ static uint32_t fiji_get_offsetof(uint32_t type, uint32_t member)
			return offsetof(SMU73_SoftRegisters, VoltageChangeTimeout);
		case AverageGraphicsActivity:
			return offsetof(SMU73_SoftRegisters, AverageGraphicsActivity);
		case AverageMemoryActivity:
			return offsetof(SMU73_SoftRegisters, AverageMemoryActivity);
		case PreVBlankGap:
			return offsetof(SMU73_SoftRegisters, PreVBlankGap);
		case VBlankTimeout:
+2 −0
Original line number Diff line number Diff line
@@ -2219,6 +2219,8 @@ static uint32_t iceland_get_offsetof(uint32_t type, uint32_t member)
			return offsetof(SMU71_SoftRegisters, VoltageChangeTimeout);
		case AverageGraphicsActivity:
			return offsetof(SMU71_SoftRegisters, AverageGraphicsActivity);
		case AverageMemoryActivity:
			return offsetof(SMU71_SoftRegisters, AverageMemoryActivity);
		case PreVBlankGap:
			return offsetof(SMU71_SoftRegisters, PreVBlankGap);
		case VBlankTimeout:
Loading