Commit 3d2f5200 authored by Huang Rui's avatar Huang Rui Committed by Alex Deucher
Browse files

drm/amd/powerplay: add firmware loading interface



This patch adds firmware loading interface for smu.

Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 07845526
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -96,6 +96,12 @@ static int smu_hw_init(void *handle)
	if (adev->asic_type < CHIP_VEGA20)
		return -EINVAL;

	if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
		ret = smu_load_microcode(smu);
		if (ret)
			return ret;
	}

	mutex_lock(&smu->mutex);

	/* TODO */
+3 −0
Original line number Diff line number Diff line
@@ -35,10 +35,13 @@ struct smu_context
struct smu_funcs
{
	int (*init_microcode)(struct smu_context *smu);
	int (*load_microcode)(struct smu_context *smu);
};

#define smu_init_microcode(smu) \
	((smu)->funcs->init_microcode ? (smu)->funcs->init_microcode((smu)) : 0)
#define smu_load_microcode(smu) \
	((smu)->funcs->load_microcode ? (smu)->funcs->load_microcode((smu)) : 0)

extern const struct amd_ip_funcs smu_ip_funcs;

+6 −0
Original line number Diff line number Diff line
@@ -32,8 +32,14 @@ static int smu_v11_0_init_microcode(struct smu_context *smu)
	return 0;
}

static int smu_v11_0_load_microcode(struct smu_context *smu)
{
	return 0;
}

static const struct smu_funcs smu_v11_0_funcs = {
	.init_microcode = smu_v11_0_init_microcode,
	.load_microcode = smu_v11_0_load_microcode,
};

void smu_v11_0_set_smu_funcs(struct smu_context *smu)