On Tue, Oct 30, 2018 at 5:43 AM Christian König <ckoenig.leichtzumerken@xxxxxxxxx> 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 <ray.huang@xxxxxxx> (v1) > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > 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 > <christian.koenig@xxxxxxx>. 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 amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx