From: Boris Brezillon <boris.brezillon@collabora.com>
To: "Adrián Larumbe" <adrian.larumbe@collabora.com>,
"Simona Vetter" <simona@ffwll.ch>
Cc: Rob Herring <robh@kernel.org>,
Steven Price <steven.price@arm.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
kernel@collabora.com, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/9] drm/panfrost: handle inexistent GPU during probe
Date: Mon, 21 Oct 2024 16:06:42 +0200 [thread overview]
Message-ID: <20241021160642.1dbeb772@collabora.com> (raw)
In-Reply-To: <20241014233758.994861-2-adrian.larumbe@collabora.com>
On Tue, 15 Oct 2024 00:31:37 +0100
Adrián Larumbe <adrian.larumbe@collabora.com> wrote:
> Just in case we're dealing with a yet not recognised device.
While I can see how problematic it would be if we expose a GPU that
requires kernel quirks we don't know about, I suspect the original
authors had a good reason to allow probing of unknown GPUs (ease of GPU
bringup), so I'll defer that one to Steve and Rob.
>
> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.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 5a33919fa213..495621324de1 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -237,9 +237,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";
> @@ -324,6 +325,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);
>
> @@ -344,6 +351,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)
> @@ -486,7 +495,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,
next prev parent reply other threads:[~2024-10-21 14:06 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-14 23:31 [PATCH 1/9] drm/panfrost: Replace DRM driver allocation method with newer one Adrián Larumbe
2024-10-14 23:31 ` [PATCH 2/9] drm/panfrost: handle inexistent GPU during probe Adrián Larumbe
2024-10-21 14:06 ` Boris Brezillon [this message]
2024-10-24 14:55 ` Steven Price
2024-10-14 23:31 ` [PATCH 3/9] drm/panfrost: handle error when allocating AS number Adrián Larumbe
2024-10-21 14:07 ` Boris Brezillon
2024-10-14 23:31 ` [PATCH 4/9] drm/panfrost: handle job hw submit errors Adrián Larumbe
2024-10-21 14:14 ` Boris Brezillon
2024-10-14 23:31 ` [PATCH 5/9] drm/panfrost: Handle page mapping failure Adrián Larumbe
2024-10-21 14:32 ` Boris Brezillon
2024-10-14 23:31 ` [PATCH 6/9] drm/panfrost: Avoid re-enabling job interrupts in the reset path Adrián Larumbe
2024-10-21 14:52 ` Boris Brezillon
2024-10-14 23:31 ` [PATCH 7/9] drm/panfrost: Refactor job IRQ enabling sequence Adrián Larumbe
2024-10-14 23:31 ` [PATCH 8/9] drm/panfrost: Add forward declaration and types header Adrián Larumbe
2024-10-14 23:31 ` [PATCH 9/9] drm/panfrost: Explicitly clean up panfrost fence Adrián Larumbe
2024-10-16 13:12 ` Christian König
2024-10-16 16:43 ` Adrián Larumbe
2024-10-17 9:27 ` Christian König
2024-10-17 12:44 ` [PATCH 1/9] drm/panfrost: Replace DRM driver allocation method with newer one Boris Brezillon
2024-10-24 14:55 ` Steven Price
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241021160642.1dbeb772@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=adrian.larumbe@collabora.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kernel@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--cc=steven.price@arm.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox