* [PATCH] drm/amdgpu: update smu firmware images for VI variants (v2)
@ 2018-10-30 2:22 Alex Deucher
[not found] ` <20181030022201.12546-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Alex Deucher @ 2018-10-30 2:22 UTC (permalink / raw)
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher
Some new variants require updated firmware.
V2: add MODULE_FIRMWARE for new firmwares
Reviewed-by: Huang Rui <ray.huang@amd.com> (v1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
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");
--
2.13.6
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/amdgpu: update smu firmware images for VI variants (v2)
[not found] ` <20181030022201.12546-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
@ 2018-10-30 9:43 ` Christian König
[not found] ` <92d4c68e-8519-90f4-36b2-7205d66426e1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Christian König @ 2018-10-30 9:43 UTC (permalink / raw)
To: Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher
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@amd.com> (v1)
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
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@amd.com>.
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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/amdgpu: update smu firmware images for VI variants (v2)
[not found] ` <92d4c68e-8519-90f4-36b2-7205d66426e1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2018-10-30 20:28 ` Alex Deucher
0 siblings, 0 replies; 3+ messages in thread
From: Alex Deucher @ 2018-10-30 20:28 UTC (permalink / raw)
To: Christian Koenig; +Cc: Deucher, Alexander, amd-gfx list
On Tue, Oct 30, 2018 at 5:43 AM Christian König
<ckoenig.leichtzumerken@gmail.com> 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@amd.com> (v1)
> > Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
>
> 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@amd.com>.
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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-30 20:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-30 2:22 [PATCH] drm/amdgpu: update smu firmware images for VI variants (v2) Alex Deucher
[not found] ` <20181030022201.12546-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
2018-10-30 9:43 ` Christian König
[not found] ` <92d4c68e-8519-90f4-36b2-7205d66426e1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-10-30 20:28 ` Alex Deucher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.