Commit 462c272b authored by Tao Zhou's avatar Tao Zhou Committed by Alex Deucher

drm/amdgpu: add psp support for dimgrey_cavefish(v2)

General psp support for dimgrey_cavefish.

v2: remove the checks for asd load and reroute ih.
Signed-off-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 0a305e34
...@@ -101,6 +101,7 @@ static int psp_early_init(void *handle) ...@@ -101,6 +101,7 @@ static int psp_early_init(void *handle)
case CHIP_SIENNA_CICHLID: case CHIP_SIENNA_CICHLID:
case CHIP_NAVY_FLOUNDER: case CHIP_NAVY_FLOUNDER:
case CHIP_VANGOGH: case CHIP_VANGOGH:
case CHIP_DIMGREY_CAVEFISH:
psp_v11_0_set_psp_funcs(psp); psp_v11_0_set_psp_funcs(psp);
psp->autoload_supported = true; psp->autoload_supported = true;
break; break;
...@@ -1968,8 +1969,8 @@ static int psp_np_fw_load(struct psp_context *psp) ...@@ -1968,8 +1969,8 @@ static int psp_np_fw_load(struct psp_context *psp)
continue; continue;
if (psp->autoload_supported && if (psp->autoload_supported &&
(adev->asic_type == CHIP_SIENNA_CICHLID || (adev->asic_type >= CHIP_SIENNA_CICHLID &&
adev->asic_type == CHIP_NAVY_FLOUNDER) && adev->asic_type <= CHIP_DIMGREY_CAVEFISH) &&
(ucode->ucode_id == AMDGPU_UCODE_ID_SDMA1 || (ucode->ucode_id == AMDGPU_UCODE_ID_SDMA1 ||
ucode->ucode_id == AMDGPU_UCODE_ID_SDMA2 || ucode->ucode_id == AMDGPU_UCODE_ID_SDMA2 ||
ucode->ucode_id == AMDGPU_UCODE_ID_SDMA3)) ucode->ucode_id == AMDGPU_UCODE_ID_SDMA3))
......
...@@ -61,6 +61,8 @@ MODULE_FIRMWARE("amdgpu/navy_flounder_sos.bin"); ...@@ -61,6 +61,8 @@ MODULE_FIRMWARE("amdgpu/navy_flounder_sos.bin");
MODULE_FIRMWARE("amdgpu/navy_flounder_ta.bin"); MODULE_FIRMWARE("amdgpu/navy_flounder_ta.bin");
MODULE_FIRMWARE("amdgpu/vangogh_asd.bin"); 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_asd.bin");
/* address block */ /* address block */
#define smnMP1_FIRMWARE_FLAGS 0x3010024 #define smnMP1_FIRMWARE_FLAGS 0x3010024
...@@ -110,6 +112,9 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) ...@@ -110,6 +112,9 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
case CHIP_VANGOGH: case CHIP_VANGOGH:
chip_name = "vangogh"; chip_name = "vangogh";
break; break;
case CHIP_DIMGREY_CAVEFISH:
chip_name = "dimgrey_cavefish";
break;
default: default:
BUG(); BUG();
} }
...@@ -194,6 +199,14 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) ...@@ -194,6 +199,14 @@ static int psp_v11_0_init_microcode(struct psp_context *psp)
if (err) if (err)
return err; return err;
break; break;
case CHIP_DIMGREY_CAVEFISH:
err = psp_init_sos_microcode(psp, chip_name);
if (err)
return err;
err = psp_init_asd_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