Re: [PATCH 2/5] drm/msm/adreno: Generate name from chipid for 7c3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/23/2022 6:28 AM, Rob Clark wrote:
On Mon, Feb 21, 2022 at 6:41 AM Akhil P Oommen <quic_akhilpo@xxxxxxxxxxx> wrote:
Use a gpu name which is sprintf'ed from the chipid for 7c3 gpu instead of
hardcoding one. This helps to avoid code churn in case of a gpu rename.

Signed-off-by: Akhil P Oommen <quic_akhilpo@xxxxxxxxxxx>
---

  drivers/gpu/drm/msm/adreno/adreno_device.c |  1 -
  drivers/gpu/drm/msm/adreno/adreno_gpu.c    | 14 ++++++++++++--
  2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c
index fb26193..89cfd84 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_device.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
@@ -318,7 +318,6 @@ static const struct adreno_info gpulist[] = {
                 .hwcg = a660_hwcg,
         }, {
                 .rev = ADRENO_REV(6, 3, 5, ANY_ID),
-               .name = "Adreno 7c Gen 3",
                 .fw = {
                         [ADRENO_FW_SQE] = "a660_sqe.fw",
                         [ADRENO_FW_GMU] = "a660_gmu.bin",
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index f33cfa4..158bbf7 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -929,12 +929,22 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
         struct adreno_platform_config *config = dev->platform_data;
         struct msm_gpu_config adreno_gpu_config  = { 0 };
         struct msm_gpu *gpu = &adreno_gpu->base;
+       struct adreno_rev *rev = &config->rev;
+       const char *gpu_name;
+       static char name[8];
I think 8 is not always enough.. but maybe just use devm_kasprintf()
to keep it simpler?

BR,
-R
Sounds good. Will update this patch.

-Akhil.
         adreno_gpu->funcs = funcs;
         adreno_gpu->info = adreno_info(config->rev);
         adreno_gpu->gmem = adreno_gpu->info->gmem;
         adreno_gpu->revn = adreno_gpu->info->revn;
-       adreno_gpu->rev = config->rev;
+       adreno_gpu->rev = *rev;
+
+       gpu_name = adreno_gpu->info->name;
+       if (!gpu_name) {
+               sprintf(name, "%d.%d.%d.%d", rev->core, rev->major, rev->minor,
+                               rev->patchid);
+               gpu_name = name;
+       }

         adreno_gpu_config.ioname = "kgsl_3d0_reg_memory";

@@ -948,7 +958,7 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
         pm_runtime_enable(dev);

         return msm_gpu_init(drm, pdev, &adreno_gpu->base, &funcs->base,
-                       adreno_gpu->info->name, &adreno_gpu_config);
+                       gpu_name, &adreno_gpu_config);
  }

  void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
--
2.7.4





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux