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

Commit a960d61c authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amd/powerplay: add raven support in hwmgr. (v2)



hwmgr handles the GPU power state management.

v2: squash in updates (Alex)

Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4fa483e5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -42,8 +42,8 @@ static int pem_init(struct pp_eventmgr *eventmgr)
	/* Call initialization event */
	result = pem_handle_event(eventmgr, AMD_PP_EVENT_INITIALIZE, &event_data);

	if (0 != result)
		return result;
	/* if (0 != result)
		return result; */

	/* Register interrupt callback functions */
	result = pem_register_interrupts(eventmgr);
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ HARDWARE_MGR = hwmgr.o processpptables.o functiontables.o \
		smu7_hwmgr.o smu7_powertune.o smu7_thermal.o \
		smu7_clockpowergating.o \
		vega10_processpptables.o vega10_hwmgr.o vega10_powertune.o \
		vega10_thermal.o pp_overdriver.o
		vega10_thermal.o pp_overdriver.o rv_hwmgr.o

AMD_PP_HWMGR = $(addprefix $(AMD_PP_PATH)/hwmgr/,$(HARDWARE_MGR))

+9 −0
Original line number Diff line number Diff line
@@ -115,6 +115,15 @@ int hwmgr_early_init(struct pp_instance *handle)
			return -EINVAL;
		}
		break;
	case AMDGPU_FAMILY_RV:
		switch (hwmgr->chip_id) {
		case CHIP_RAVEN:
			rv_init_function_pointers(hwmgr);
			break;
		default:
			return -EINVAL;
		}
		break;
	default:
		return -EINVAL;
	}
+4 −0
Original line number Diff line number Diff line
@@ -1015,6 +1015,10 @@ static int init_overdrive_limits(struct pp_hwmgr *hwmgr,
	hwmgr->platform_descriptor.overdriveLimit.memoryClock = 0;
	hwmgr->platform_descriptor.minOverdriveVDDC = 0;
	hwmgr->platform_descriptor.maxOverdriveVDDC = 0;
	hwmgr->platform_descriptor.overdriveVDDCStep = 0;

	if (hwmgr->chip_id == CHIP_RAVEN)
		return 0;

	/* We assume here that fw_info is unchanged if this call fails.*/
	fw_info = cgs_atom_get_data_table(hwmgr->device,
+974 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading