Yeah, not 100% sure if that doesn't result in any problems in practice.

But I agree that this risk of breaking things is minimal and if that breaks the ones to blame are really our firmware guys because they created not backward compatible firmware changes.

So this step is really necessary no matter how you put it (either you break amdgpu or you break radeon, and radeon is used by more people).

Series is Reviewed-by: Christian König <christian.koe...@amd.com>.

Regards,
Christian.

Am 03.07.2018 um 03:39 schrieb Zhou, David(ChunMing):
Yes, agree, radeon driver uses radeon path, amdgpu uses amdgpu path, which 
makes sense to me.

The series is Reviewed-by: Chunming Zhou <david1.z...@amd.com>

Regards,
David Zhou

-----Original Message-----
From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf Of Alex 
Deucher
Sent: Tuesday, July 03, 2018 4:32 AM
To: Dave Airlie <airl...@gmail.com>
Cc: Deucher, Alexander <alexander.deuc...@amd.com>; amd-gfx mailing list 
<amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 1/2] drm/amdgpu: switch firmware path for CIK parts

On Mon, Jul 2, 2018 at 4:12 PM, Dave Airlie <airl...@gmail.com> wrote:
On 3 July 2018 at 05:36, Alex Deucher <alexdeuc...@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.
I guess we could fall back, but in most cases the firmware loader will have to 
timeout first and then most users will assume it's broken anyway.  radeon is 
still the default with most distros, so I don't think it's super critical.

Alex

Dave.

Signed-off-by: Alex Deucher <alexander.deuc...@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to