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

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

drm/amd/pp: Add smu irq handlers for legacy asics

parent 3c796843
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -3998,8 +3998,35 @@ static int smu7_set_max_fan_rpm_output(struct pp_hwmgr *hwmgr, uint16_t us_max_f
			PPSMC_MSG_SetFanRpmMax, us_max_fan_rpm);
}

static const struct amdgpu_irq_src_funcs smu7_irq_funcs = {
	.process = phm_irq_process,
};

static int smu7_register_irq_handlers(struct pp_hwmgr *hwmgr)
{
	struct amdgpu_irq_src *source =
		kzalloc(sizeof(struct amdgpu_irq_src), GFP_KERNEL);

	if (!source)
		return -ENOMEM;

	source->funcs = &smu7_irq_funcs;

	amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev),
			AMDGPU_IH_CLIENTID_LEGACY,
			230,
			source);
	amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev),
			AMDGPU_IH_CLIENTID_LEGACY,
			231,
			source);

	/* Register CTF(GPIO_19) interrupt */
	amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev),
			AMDGPU_IH_CLIENTID_LEGACY,
			83,
			source);

	return 0;
}