diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 119 | 
1 files changed, 22 insertions, 97 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c index a7eae84c7bf7..25217b05c0ea 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c @@ -36,26 +36,26 @@  #include "soc15d.h"  /* Firmware Names */ -#define FIRMWARE_RAVEN		"amdgpu/raven_vcn.bin" -#define FIRMWARE_PICASSO	"amdgpu/picasso_vcn.bin" -#define FIRMWARE_RAVEN2		"amdgpu/raven2_vcn.bin" -#define FIRMWARE_ARCTURUS	"amdgpu/arcturus_vcn.bin" -#define FIRMWARE_RENOIR		"amdgpu/renoir_vcn.bin" -#define FIRMWARE_GREEN_SARDINE	"amdgpu/green_sardine_vcn.bin" -#define FIRMWARE_NAVI10		"amdgpu/navi10_vcn.bin" -#define FIRMWARE_NAVI14		"amdgpu/navi14_vcn.bin" -#define FIRMWARE_NAVI12		"amdgpu/navi12_vcn.bin" -#define FIRMWARE_SIENNA_CICHLID	"amdgpu/sienna_cichlid_vcn.bin" -#define FIRMWARE_NAVY_FLOUNDER	"amdgpu/navy_flounder_vcn.bin" -#define FIRMWARE_VANGOGH	"amdgpu/vangogh_vcn.bin" +#define FIRMWARE_RAVEN			"amdgpu/raven_vcn.bin" +#define FIRMWARE_PICASSO		"amdgpu/picasso_vcn.bin" +#define FIRMWARE_RAVEN2			"amdgpu/raven2_vcn.bin" +#define FIRMWARE_ARCTURUS		"amdgpu/arcturus_vcn.bin" +#define FIRMWARE_RENOIR			"amdgpu/renoir_vcn.bin" +#define FIRMWARE_GREEN_SARDINE		"amdgpu/green_sardine_vcn.bin" +#define FIRMWARE_NAVI10			"amdgpu/navi10_vcn.bin" +#define FIRMWARE_NAVI14			"amdgpu/navi14_vcn.bin" +#define FIRMWARE_NAVI12			"amdgpu/navi12_vcn.bin" +#define FIRMWARE_SIENNA_CICHLID		"amdgpu/sienna_cichlid_vcn.bin" +#define FIRMWARE_NAVY_FLOUNDER		"amdgpu/navy_flounder_vcn.bin" +#define FIRMWARE_VANGOGH		"amdgpu/vangogh_vcn.bin"  #define FIRMWARE_DIMGREY_CAVEFISH	"amdgpu/dimgrey_cavefish_vcn.bin" -#define FIRMWARE_ALDEBARAN	"amdgpu/aldebaran_vcn.bin" -#define FIRMWARE_BEIGE_GOBY	"amdgpu/beige_goby_vcn.bin" -#define FIRMWARE_YELLOW_CARP	"amdgpu/yellow_carp_vcn.bin" -#define FIRMWARE_VCN_3_1_2	"amdgpu/vcn_3_1_2.bin" -#define FIRMWARE_VCN4_0_0	"amdgpu/vcn_4_0_0.bin" -#define FIRMWARE_VCN4_0_2	"amdgpu/vcn_4_0_2.bin" -#define FIRMWARE_VCN4_0_4      "amdgpu/vcn_4_0_4.bin" +#define FIRMWARE_ALDEBARAN		"amdgpu/aldebaran_vcn.bin" +#define FIRMWARE_BEIGE_GOBY		"amdgpu/beige_goby_vcn.bin" +#define FIRMWARE_YELLOW_CARP		"amdgpu/yellow_carp_vcn.bin" +#define FIRMWARE_VCN_3_1_2		"amdgpu/vcn_3_1_2.bin" +#define FIRMWARE_VCN4_0_0		"amdgpu/vcn_4_0_0.bin" +#define FIRMWARE_VCN4_0_2		"amdgpu/vcn_4_0_2.bin" +#define FIRMWARE_VCN4_0_4		"amdgpu/vcn_4_0_4.bin"  MODULE_FIRMWARE(FIRMWARE_RAVEN);  MODULE_FIRMWARE(FIRMWARE_PICASSO); @@ -110,84 +110,9 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev)  	for (i = 0; i < adev->vcn.num_vcn_inst; i++)  		atomic_set(&adev->vcn.inst[i].dpg_enc_submission_cnt, 0); -	switch (adev->ip_versions[UVD_HWIP][0]) { -	case IP_VERSION(1, 0, 0): -	case IP_VERSION(1, 0, 1): -	case IP_VERSION(2, 5, 0): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(2, 2, 0): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(2, 6, 0): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(2, 0, 0): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(2, 0, 2): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 0, 0): -	case IP_VERSION(3, 0, 64): -	case IP_VERSION(3, 0, 192): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 0, 2): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 0, 16): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 0, 33): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 1, 1): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(3, 1, 2): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -		    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(4, 0, 0): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -			(adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(4, 0, 2): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -			(adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	case IP_VERSION(4, 0, 4): -		if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && -			(adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) -			adev->vcn.indirect_sram = true; -		break; -	default: -		return -EINVAL; -	} +	if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && +	    (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) +		adev->vcn.indirect_sram = true;  	hdr = (const struct common_firmware_header *)adev->vcn.fw->data;  	adev->vcn.fw_version = le32_to_cpu(hdr->ucode_version);  | 
