diff options
| author | Mario Limonciello <mario.limonciello@amd.com> | 2022-12-28 01:24:19 -0600 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2023-01-09 17:02:17 -0500 | 
| commit | 1336b4e72c4c402ca31436e4fff6c085da26057a (patch) | |
| tree | 7f8d3b5a7b195d5c24aa3820a0c78f36cde521ff /drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | |
| parent | e43229824d5bdd8dc0c2ea5b16f79b01ed2cd843 (diff) | |
drm/amd: Convert SDMA to use `amdgpu_ucode_ip_version_decode`
Simplifies the code so that all SDMA versions will get the firmware
name from `amdgpu_ucode_ip_version_decode`.
v2: squash in fix from Srinivasan
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c index a6a491569022..a0d10c9c0405 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c @@ -200,15 +200,21 @@ void amdgpu_sdma_destroy_inst_ctx(struct amdgpu_device *adev,  }  int amdgpu_sdma_init_microcode(struct amdgpu_device *adev, -			       char *fw_name, u32 instance, -			       bool duplicate) +			       u32 instance, bool duplicate)  {  	struct amdgpu_firmware_info *info = NULL;  	const struct common_firmware_header *header = NULL; -	int err = 0, i; +	int err, i;  	const struct sdma_firmware_header_v2_0 *sdma_hdr;  	uint16_t version_major; - +	char ucode_prefix[30]; +	char fw_name[40]; + +	amdgpu_ucode_ip_version_decode(adev, SDMA0_HWIP, ucode_prefix, sizeof(ucode_prefix)); +	if (instance == 0) +		snprintf(fw_name, sizeof(fw_name), "amdgpu/%s.bin", ucode_prefix); +	else +		snprintf(fw_name, sizeof(fw_name), "amdgpu/%s%d.bin", ucode_prefix, instance);  	err = amdgpu_ucode_request(adev, &adev->sdma.instance[instance].fw, fw_name);  	if (err)  		goto out; | 
