On Tue, Oct 30, 2018 at 5:43 AM Christian König
<[email protected]> wrote:
>
> Am 30.10.18 um 03:22 schrieb Alex Deucher:
> > Some new variants require updated firmware.
> >
> > V2: add MODULE_FIRMWARE for new firmwares
> >
> > Reviewed-by: Huang Rui <[email protected]> (v1)
> > Signed-off-by: Alex Deucher <[email protected]>
>
> Does the new firmware also works on the older boards? Could we somehow
> prevent adding even more firmware files?
>
> I suspected both questions to be answered with no, if that is really the
> case then the patch is Reviewed-by: Christian König
> <[email protected]>.
Maybe? It's not validated and, in some cases, tied to differences in
data tables in the vbios.
Alex
>
> Regards,
> Christian.
>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 33
> > +++++++++++++++++++++++----
> > drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 3 +++
> > 2 files changed, 31 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> > index 8816c697b205..ceadeeadfa56 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> > @@ -330,7 +330,9 @@ static int amdgpu_cgs_get_firmware_info(struct
> > cgs_device *cgs_device,
> > case CHIP_TOPAZ:
> > if (((adev->pdev->device == 0x6900) &&
> > (adev->pdev->revision == 0x81)) ||
> > ((adev->pdev->device == 0x6900) &&
> > (adev->pdev->revision == 0x83)) ||
> > - ((adev->pdev->device == 0x6907) &&
> > (adev->pdev->revision == 0x87))) {
> > + ((adev->pdev->device == 0x6907) &&
> > (adev->pdev->revision == 0x87)) ||
> > + ((adev->pdev->device == 0x6900) &&
> > (adev->pdev->revision == 0xD1)) ||
> > + ((adev->pdev->device == 0x6900) &&
> > (adev->pdev->revision == 0xD3))) {
> > info->is_kicker = true;
> > strcpy(fw_name,
> > "amdgpu/topaz_k_smc.bin");
> > } else
> > @@ -351,7 +353,6 @@ static int amdgpu_cgs_get_firmware_info(struct
> > cgs_device *cgs_device,
> > if (type == CGS_UCODE_ID_SMU) {
> > if (((adev->pdev->device == 0x67ef) &&
> > ((adev->pdev->revision == 0xe0)
> > ||
> > - (adev->pdev->revision == 0xe2)
> > ||
> > (adev->pdev->revision ==
> > 0xe5))) ||
> > ((adev->pdev->device == 0x67ff) &&
> > ((adev->pdev->revision == 0xcf)
> > ||
> > @@ -359,8 +360,13 @@ static int amdgpu_cgs_get_firmware_info(struct
> > cgs_device *cgs_device,
> > (adev->pdev->revision ==
> > 0xff)))) {
> > info->is_kicker = true;
> > strcpy(fw_name,
> > "amdgpu/polaris11_k_smc.bin");
> > - } else
> > + } else if ((adev->pdev->device ==
> > 0x67ef) &&
> > + (adev->pdev->revision ==
> > 0xe2)) {
> > + info->is_kicker = true;
> > + strcpy(fw_name,
> > "amdgpu/polaris11_k2_smc.bin");
> > + } else {
> > strcpy(fw_name,
> > "amdgpu/polaris11_smc.bin");
> > + }
> > } else if (type == CGS_UCODE_ID_SMU_SK) {
> > strcpy(fw_name,
> > "amdgpu/polaris11_smc_sk.bin");
> > }
> > @@ -378,14 +384,31 @@ static int amdgpu_cgs_get_firmware_info(struct
> > cgs_device *cgs_device,
> > (adev->pdev->revision == 0xef)))
> > {
> > info->is_kicker = true;
> > strcpy(fw_name,
> > "amdgpu/polaris10_k_smc.bin");
> > - } else
> > + } else if ((adev->pdev->device ==
> > 0x67df) &&
> > + ((adev->pdev->revision ==
> > 0xe1) ||
> > + (adev->pdev->revision ==
> > 0xf7))) {
> > + info->is_kicker = true;
> > + strcpy(fw_name,
> > "amdgpu/polaris10_k2_smc.bin");
> > + } else {
> > strcpy(fw_name,
> > "amdgpu/polaris10_smc.bin");
> > + }
> > } else if (type == CGS_UCODE_ID_SMU_SK) {
> > strcpy(fw_name,
> > "amdgpu/polaris10_smc_sk.bin");
> > }
> > break;
> > case CHIP_POLARIS12:
> > - strcpy(fw_name, "amdgpu/polaris12_smc.bin");
> > + if (((adev->pdev->device == 0x6987) &&
> > + ((adev->pdev->revision == 0xc0) ||
> > + (adev->pdev->revision == 0xc3))) ||
> > + ((adev->pdev->device == 0x6981) &&
> > + ((adev->pdev->revision == 0x00) ||
> > + (adev->pdev->revision == 0x01) ||
> > + (adev->pdev->revision == 0x10)))) {
> > + info->is_kicker = true;
> > + strcpy(fw_name,
> > "amdgpu/polaris12_k_smc.bin");
> > + } else {
> > + strcpy(fw_name,
> > "amdgpu/polaris12_smc.bin");
> > + }
> > break;
> > case CHIP_VEGAM:
> > strcpy(fw_name, "amdgpu/vegam_smc.bin");
> > diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> > b/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> > index 99d5e4f98f49..a6edd5df33b0 100644
> > --- a/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> > +++ b/drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
> > @@ -37,10 +37,13 @@ MODULE_FIRMWARE("amdgpu/fiji_smc.bin");
> > MODULE_FIRMWARE("amdgpu/polaris10_smc.bin");
> > MODULE_FIRMWARE("amdgpu/polaris10_smc_sk.bin");
> > MODULE_FIRMWARE("amdgpu/polaris10_k_smc.bin");
> > +MODULE_FIRMWARE("amdgpu/polaris10_k2_smc.bin");
> > MODULE_FIRMWARE("amdgpu/polaris11_smc.bin");
> > MODULE_FIRMWARE("amdgpu/polaris11_smc_sk.bin");
> > MODULE_FIRMWARE("amdgpu/polaris11_k_smc.bin");
> > +MODULE_FIRMWARE("amdgpu/polaris11_k2_smc.bin");
> > MODULE_FIRMWARE("amdgpu/polaris12_smc.bin");
> > +MODULE_FIRMWARE("amdgpu/polaris12_k_smc.bin");
> > MODULE_FIRMWARE("amdgpu/vegam_smc.bin");
> > MODULE_FIRMWARE("amdgpu/vega10_smc.bin");
> > MODULE_FIRMWARE("amdgpu/vega10_acg_smc.bin");
>
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx