Commit c0729819 authored by Chengming Gui's avatar Chengming Gui Committed by Alex Deucher

drm/amd/amdgpu: add psp support for beige_goby

add general PSP support for beige_goby
Signed-off-by: default avatarChengming Gui <Jack.Gui@amd.com>
Reviewed-by: default avatarTao Zhou <tao.zhou1@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4d352669
...@@ -105,6 +105,7 @@ static int psp_early_init(void *handle) ...@@ -105,6 +105,7 @@ static int psp_early_init(void *handle)
case CHIP_NAVY_FLOUNDER: case CHIP_NAVY_FLOUNDER:
case CHIP_VANGOGH: case CHIP_VANGOGH:
case CHIP_DIMGREY_CAVEFISH: case CHIP_DIMGREY_CAVEFISH:
case CHIP_BEIGE_GOBY:
psp_v11_0_set_psp_funcs(psp); psp_v11_0_set_psp_funcs(psp);
psp->autoload_supported = true; psp->autoload_supported = true;
break; break;
......
...@@ -403,12 +403,11 @@ amdgpu_ucode_get_load_type(struct amdgpu_device *adev, int load_type) ...@@ -403,12 +403,11 @@ amdgpu_ucode_get_load_type(struct amdgpu_device *adev, int load_type)
case CHIP_VANGOGH: case CHIP_VANGOGH:
case CHIP_DIMGREY_CAVEFISH: case CHIP_DIMGREY_CAVEFISH:
case CHIP_ALDEBARAN: case CHIP_ALDEBARAN:
case CHIP_BEIGE_GOBY:
if (!load_type) if (!load_type)
return AMDGPU_FW_LOAD_DIRECT; return AMDGPU_FW_LOAD_DIRECT;
else else
return AMDGPU_FW_LOAD_PSP; return AMDGPU_FW_LOAD_PSP;
case CHIP_BEIGE_GOBY:
return AMDGPU_FW_LOAD_DIRECT;
default: default:
DRM_ERROR("Unknown firmware load type\n"); DRM_ERROR("Unknown firmware load type\n");
} }
......
...@@ -955,6 +955,11 @@ int nv_set_ip_blocks(struct amdgpu_device *adev) ...@@ -955,6 +955,11 @@ int nv_set_ip_blocks(struct amdgpu_device *adev)
amdgpu_device_ip_block_add(adev, &nv_common_ip_block); amdgpu_device_ip_block_add(adev, &nv_common_ip_block);
amdgpu_device_ip_block_add(adev, &gmc_v10_0_ip_block); amdgpu_device_ip_block_add(adev, &gmc_v10_0_ip_block);
amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block); amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP))
amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP &&
is_support_sw_smu(adev))
amdgpu_device_ip_block_add(adev, &smu_v11_0_ip_block);
amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block); amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block);
amdgpu_device_ip_block_add(adev, &sdma_v5_2_ip_block); amdgpu_device_ip_block_add(adev, &sdma_v5_2_ip_block);
if (adev->enable_virtual_display || amdgpu_sriov_vf(adev)) if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
......
...@@ -63,6 +63,7 @@ MODULE_FIRMWARE("amdgpu/vangogh_asd.bin"); ...@@ -63,6 +63,7 @@ MODULE_FIRMWARE("amdgpu/vangogh_asd.bin");
MODULE_FIRMWARE("amdgpu/vangogh_toc.bin"); MODULE_FIRMWARE("amdgpu/vangogh_toc.bin");
MODULE_FIRMWARE("amdgpu/dimgrey_cavefish_sos.bin"); MODULE_FIRMWARE("amdgpu/dimgrey_cavefish_sos.bin");
MODULE_FIRMWARE("amdgpu/dimgrey_cavefish_ta.bin"); MODULE_FIRMWARE("amdgpu/dimgrey_cavefish_ta.bin");
MODULE_FIRMWARE("amdgpu/beige_goby_sos.bin");
/* address block */ /* address block */
#define smnMP1_FIRMWARE_FLAGS 0x3010024 #define smnMP1_FIRMWARE_FLAGS 0x3010024
...@@ -115,6 +116,9 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) ...@@ -115,6 +116,9 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
case CHIP_DIMGREY_CAVEFISH: case CHIP_DIMGREY_CAVEFISH:
chip_name = "dimgrey_cavefish"; chip_name = "dimgrey_cavefish";
break; break;
case CHIP_BEIGE_GOBY:
chip_name = "beige_goby";
break;
default: default:
BUG(); BUG();
} }
...@@ -200,6 +204,11 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) ...@@ -200,6 +204,11 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
if (err) if (err)
return err; return err;
break; break;
case CHIP_BEIGE_GOBY:
err = psp_init_sos_microcode(psp, chip_name);
if (err)
return err;
break;
case CHIP_VANGOGH: case CHIP_VANGOGH:
err = psp_init_asd_microcode(psp, chip_name); err = psp_init_asd_microcode(psp, chip_name);
if (err) if (err)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment