[PATCH 1/2] drm/amdgpu: switch firmware path for CIK parts

Dave Airlie airlied at gmail.com
Mon Jul 2 20:12:04 UTC 2018


On 3 July 2018 at 05:36, Alex Deucher <alexdeucher at gmail.com> wrote:
> Use separate firmware path for amdgpu to avoid conflicts
> with radeon on CIK parts.
>

Won't that cause a chicken and egg problem, new kernel with old
firmware package will
suddenly start failing, or do we not really care since in theory we
don't suppose amdgpu
on those parts yet?

Seems like we'd want to fallback to the old paths if possible.

Dave.

> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c |  8 ++--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 10 ++---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 ++---
>  drivers/gpu/drm/amd/amdgpu/ci_dpm.c     | 10 ++---
>  drivers/gpu/drm/amd/amdgpu/cik_sdma.c   | 24 +++++------
>  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c   | 72 ++++++++++++++++-----------------
>  drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c   |  6 +--
>  7 files changed, 70 insertions(+), 70 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> index e950730f1933..693ec5ea4950 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> @@ -314,17 +314,17 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
>                                         (adev->pdev->revision == 0x81) ||
>                                         (adev->pdev->device == 0x665f)) {
>                                         info->is_kicker = true;
> -                                       strcpy(fw_name, "radeon/bonaire_k_smc.bin");
> +                                       strcpy(fw_name, "amdgpu/bonaire_k_smc.bin");
>                                 } else {
> -                                       strcpy(fw_name, "radeon/bonaire_smc.bin");
> +                                       strcpy(fw_name, "amdgpu/bonaire_smc.bin");
>                                 }
>                                 break;
>                         case CHIP_HAWAII:
>                                 if (adev->pdev->revision == 0x80) {
>                                         info->is_kicker = true;
> -                                       strcpy(fw_name, "radeon/hawaii_k_smc.bin");
> +                                       strcpy(fw_name, "amdgpu/hawaii_k_smc.bin");
>                                 } else {
> -                                       strcpy(fw_name, "radeon/hawaii_smc.bin");
> +                                       strcpy(fw_name, "amdgpu/hawaii_smc.bin");
>                                 }
>                                 break;
>                         case CHIP_TOPAZ:
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> index 0b46ea1c6290..3e70eb61a960 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> @@ -53,11 +53,11 @@
>
>  /* Firmware Names */
>  #ifdef CONFIG_DRM_AMDGPU_CIK
> -#define FIRMWARE_BONAIRE       "radeon/bonaire_uvd.bin"
> -#define FIRMWARE_KABINI        "radeon/kabini_uvd.bin"
> -#define FIRMWARE_KAVERI        "radeon/kaveri_uvd.bin"
> -#define FIRMWARE_HAWAII        "radeon/hawaii_uvd.bin"
> -#define FIRMWARE_MULLINS       "radeon/mullins_uvd.bin"
> +#define FIRMWARE_BONAIRE       "amdgpu/bonaire_uvd.bin"
> +#define FIRMWARE_KABINI        "amdgpu/kabini_uvd.bin"
> +#define FIRMWARE_KAVERI        "amdgpu/kaveri_uvd.bin"
> +#define FIRMWARE_HAWAII        "amdgpu/hawaii_uvd.bin"
> +#define FIRMWARE_MULLINS       "amdgpu/mullins_uvd.bin"
>  #endif
>  #define FIRMWARE_TONGA         "amdgpu/tonga_uvd.bin"
>  #define FIRMWARE_CARRIZO       "amdgpu/carrizo_uvd.bin"
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> index b0dcdfd85f5b..6ae1ad7e83b3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> @@ -40,11 +40,11 @@
>
>  /* Firmware Names */
>  #ifdef CONFIG_DRM_AMDGPU_CIK
> -#define FIRMWARE_BONAIRE       "radeon/bonaire_vce.bin"
> -#define FIRMWARE_KABINI        "radeon/kabini_vce.bin"
> -#define FIRMWARE_KAVERI        "radeon/kaveri_vce.bin"
> -#define FIRMWARE_HAWAII        "radeon/hawaii_vce.bin"
> -#define FIRMWARE_MULLINS       "radeon/mullins_vce.bin"
> +#define FIRMWARE_BONAIRE       "amdgpu/bonaire_vce.bin"
> +#define FIRMWARE_KABINI        "amdgpu/kabini_vce.bin"
> +#define FIRMWARE_KAVERI        "amdgpu/kaveri_vce.bin"
> +#define FIRMWARE_HAWAII        "amdgpu/hawaii_vce.bin"
> +#define FIRMWARE_MULLINS       "amdgpu/mullins_vce.bin"
>  #endif
>  #define FIRMWARE_TONGA         "amdgpu/tonga_vce.bin"
>  #define FIRMWARE_CARRIZO       "amdgpu/carrizo_vce.bin"
> diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
> index 079a5fc9b593..d2469453dca2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c
> @@ -49,10 +49,10 @@
>  #include "gmc/gmc_7_1_d.h"
>  #include "gmc/gmc_7_1_sh_mask.h"
>
> -MODULE_FIRMWARE("radeon/bonaire_smc.bin");
> -MODULE_FIRMWARE("radeon/bonaire_k_smc.bin");
> -MODULE_FIRMWARE("radeon/hawaii_smc.bin");
> -MODULE_FIRMWARE("radeon/hawaii_k_smc.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_smc.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_k_smc.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_smc.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_k_smc.bin");
>
>  #define MC_CG_ARB_FREQ_F0           0x0a
>  #define MC_CG_ARB_FREQ_F1           0x0b
> @@ -5815,7 +5815,7 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev)
>         default: BUG();
>         }
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_smc.bin", chip_name);
>         err = request_firmware(&adev->pm.fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
> index dbd553a8d584..d0fa2aac2388 100644
> --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
> +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c
> @@ -54,16 +54,16 @@ static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev);
>  static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev);
>  static int cik_sdma_soft_reset(void *handle);
>
> -MODULE_FIRMWARE("radeon/bonaire_sdma.bin");
> -MODULE_FIRMWARE("radeon/bonaire_sdma1.bin");
> -MODULE_FIRMWARE("radeon/hawaii_sdma.bin");
> -MODULE_FIRMWARE("radeon/hawaii_sdma1.bin");
> -MODULE_FIRMWARE("radeon/kaveri_sdma.bin");
> -MODULE_FIRMWARE("radeon/kaveri_sdma1.bin");
> -MODULE_FIRMWARE("radeon/kabini_sdma.bin");
> -MODULE_FIRMWARE("radeon/kabini_sdma1.bin");
> -MODULE_FIRMWARE("radeon/mullins_sdma.bin");
> -MODULE_FIRMWARE("radeon/mullins_sdma1.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_sdma.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_sdma1.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_sdma.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_sdma1.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_sdma.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_sdma1.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_sdma.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_sdma1.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_sdma.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_sdma1.bin");
>
>  u32 amdgpu_cik_gpu_check_soft_reset(struct amdgpu_device *adev);
>
> @@ -132,9 +132,9 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev)
>
>         for (i = 0; i < adev->sdma.num_instances; i++) {
>                 if (i == 0)
> -                       snprintf(fw_name, sizeof(fw_name), "radeon/%s_sdma.bin", chip_name);
> +                       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_sdma.bin", chip_name);
>                 else
> -                       snprintf(fw_name, sizeof(fw_name), "radeon/%s_sdma1.bin", chip_name);
> +                       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_sdma1.bin", chip_name);
>                 err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev);
>                 if (err)
>                         goto out;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> index 42b6144c1fd5..95452c5a9df6 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> @@ -57,36 +57,36 @@ static void gfx_v7_0_set_ring_funcs(struct amdgpu_device *adev);
>  static void gfx_v7_0_set_irq_funcs(struct amdgpu_device *adev);
>  static void gfx_v7_0_set_gds_init(struct amdgpu_device *adev);
>
> -MODULE_FIRMWARE("radeon/bonaire_pfp.bin");
> -MODULE_FIRMWARE("radeon/bonaire_me.bin");
> -MODULE_FIRMWARE("radeon/bonaire_ce.bin");
> -MODULE_FIRMWARE("radeon/bonaire_rlc.bin");
> -MODULE_FIRMWARE("radeon/bonaire_mec.bin");
> -
> -MODULE_FIRMWARE("radeon/hawaii_pfp.bin");
> -MODULE_FIRMWARE("radeon/hawaii_me.bin");
> -MODULE_FIRMWARE("radeon/hawaii_ce.bin");
> -MODULE_FIRMWARE("radeon/hawaii_rlc.bin");
> -MODULE_FIRMWARE("radeon/hawaii_mec.bin");
> -
> -MODULE_FIRMWARE("radeon/kaveri_pfp.bin");
> -MODULE_FIRMWARE("radeon/kaveri_me.bin");
> -MODULE_FIRMWARE("radeon/kaveri_ce.bin");
> -MODULE_FIRMWARE("radeon/kaveri_rlc.bin");
> -MODULE_FIRMWARE("radeon/kaveri_mec.bin");
> -MODULE_FIRMWARE("radeon/kaveri_mec2.bin");
> -
> -MODULE_FIRMWARE("radeon/kabini_pfp.bin");
> -MODULE_FIRMWARE("radeon/kabini_me.bin");
> -MODULE_FIRMWARE("radeon/kabini_ce.bin");
> -MODULE_FIRMWARE("radeon/kabini_rlc.bin");
> -MODULE_FIRMWARE("radeon/kabini_mec.bin");
> -
> -MODULE_FIRMWARE("radeon/mullins_pfp.bin");
> -MODULE_FIRMWARE("radeon/mullins_me.bin");
> -MODULE_FIRMWARE("radeon/mullins_ce.bin");
> -MODULE_FIRMWARE("radeon/mullins_rlc.bin");
> -MODULE_FIRMWARE("radeon/mullins_mec.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_pfp.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_me.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_ce.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_rlc.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_mec.bin");
> +
> +MODULE_FIRMWARE("amdgpu/hawaii_pfp.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_me.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_ce.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_rlc.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_mec.bin");
> +
> +MODULE_FIRMWARE("amdgpu/kaveri_pfp.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_me.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_ce.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_rlc.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_mec.bin");
> +MODULE_FIRMWARE("amdgpu/kaveri_mec2.bin");
> +
> +MODULE_FIRMWARE("amdgpu/kabini_pfp.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_me.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_ce.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_rlc.bin");
> +MODULE_FIRMWARE("amdgpu/kabini_mec.bin");
> +
> +MODULE_FIRMWARE("amdgpu/mullins_pfp.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_me.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_ce.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_rlc.bin");
> +MODULE_FIRMWARE("amdgpu/mullins_mec.bin");
>
>  static const struct amdgpu_gds_reg_offset amdgpu_gds_reg_offset[] =
>  {
> @@ -925,7 +925,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>         default: BUG();
>         }
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_pfp.bin", chip_name);
>         err = request_firmware(&adev->gfx.pfp_fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> @@ -933,7 +933,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>         if (err)
>                 goto out;
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_me.bin", chip_name);
>         err = request_firmware(&adev->gfx.me_fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> @@ -941,7 +941,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>         if (err)
>                 goto out;
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_ce.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", chip_name);
>         err = request_firmware(&adev->gfx.ce_fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> @@ -949,7 +949,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>         if (err)
>                 goto out;
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_mec.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec.bin", chip_name);
>         err = request_firmware(&adev->gfx.mec_fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> @@ -958,7 +958,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>                 goto out;
>
>         if (adev->asic_type == CHIP_KAVERI) {
> -               snprintf(fw_name, sizeof(fw_name), "radeon/%s_mec2.bin", chip_name);
> +               snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec2.bin", chip_name);
>                 err = request_firmware(&adev->gfx.mec2_fw, fw_name, adev->dev);
>                 if (err)
>                         goto out;
> @@ -967,7 +967,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
>                         goto out;
>         }
>
> -       snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", chip_name);
> +       snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name);
>         err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev);
>         if (err)
>                 goto out;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> index 7147bfe25a23..2c2b93d4d63b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
> @@ -47,8 +47,8 @@ static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev);
>  static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev);
>  static int gmc_v7_0_wait_for_idle(void *handle);
>
> -MODULE_FIRMWARE("radeon/bonaire_mc.bin");
> -MODULE_FIRMWARE("radeon/hawaii_mc.bin");
> +MODULE_FIRMWARE("amdgpu/bonaire_mc.bin");
> +MODULE_FIRMWARE("amdgpu/hawaii_mc.bin");
>  MODULE_FIRMWARE("amdgpu/topaz_mc.bin");
>
>  static const u32 golden_settings_iceland_a11[] =
> @@ -150,7 +150,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev)
>         if (adev->asic_type == CHIP_TOPAZ)
>                 snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
>         else
> -               snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name);
> +               snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
>
>         err = request_firmware(&adev->gmc.fw, fw_name, adev->dev);
>         if (err)
> --
> 2.13.6
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list