Just in case we're dealing with a yet not recognised device.

Signed-off-by: Adrián Larumbe <adrian.laru...@collabora.com>
Reviewed-by: Steven Price <steven.pr...@arm.com>
---
 drivers/gpu/drm/panfrost/panfrost_gpu.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c 
b/drivers/gpu/drm/panfrost/panfrost_gpu.c
index 69425104ca97..da55dc7c0552 100644
--- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
@@ -236,9 +236,10 @@ static const struct panfrost_model gpu_models[] = {
         */
        GPU_MODEL(g57, 0x9003,
                GPU_REV(g57, 0, 0)),
+       {0},
 };
 
-static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
+static int panfrost_gpu_init_features(struct panfrost_device *pfdev)
 {
        u32 gpu_id, num_js, major, minor, status, rev;
        const char *name = "unknown";
@@ -323,6 +324,12 @@ static void panfrost_gpu_init_features(struct 
panfrost_device *pfdev)
                break;
        }
 
+       if (!model->name) {
+               dev_err(pfdev->base.dev, "GPU model not found: mali-%s id rev 
%#x %#x\n",
+                       name, gpu_id, rev);
+               return -ENODEV;
+       }
+
        bitmap_from_u64(pfdev->features.hw_features, hw_feat);
        bitmap_from_u64(pfdev->features.hw_issues, hw_issues);
 
@@ -343,6 +350,8 @@ static void panfrost_gpu_init_features(struct 
panfrost_device *pfdev)
 
        dev_info(pfdev->base.dev, "shader_present=0x%0llx l2_present=0x%0llx",
                 pfdev->features.shader_present, pfdev->features.l2_present);
+
+       return 0;
 }
 
 void panfrost_cycle_counter_get(struct panfrost_device *pfdev)
@@ -485,7 +494,9 @@ int panfrost_gpu_init(struct panfrost_device *pfdev)
        if (err)
                return err;
 
-       panfrost_gpu_init_features(pfdev);
+       err = panfrost_gpu_init_features(pfdev);
+       if (err)
+               return err;
 
        err = dma_set_mask_and_coherent(pfdev->base.dev,
                                        DMA_BIT_MASK(FIELD_GET(0xff00,
-- 
2.47.0

Reply via email to