Re: [PATCH 4/8] drm/panthor: Add support for protected memory allocation in panthor
From: Marcin Ślusarz
Date: Thu May 07 2026 - 05:12:09 EST
On Tue, May 05, 2026 at 06:15:23PM +0200, Boris Brezillon wrote:
> > @@ -277,9 +286,21 @@ int panthor_device_init(struct panthor_device *ptdev)
> > return ret;
> > }
> >
> > + /* If a protected heap name is specified but not found, defer the probe until created */
> > + if (protected_heap_name && strlen(protected_heap_name)) {
>
> Do we really need this strlen() > 0? Won't dma_heap_find() fail is the
> name is "" already?
If dma_heap_find() will fail, then the whole probe with fail too.
This check prevents that. I'm not sure why it's needed at all, but if
it is really needed, then s/strlen(protected_heap_name)/protected_heap_name[0]/
would simplify this.
> > + ptdev->protm.heap = dma_heap_find(protected_heap_name);
> > + if (!ptdev->protm.heap) {
> > + drm_warn(&ptdev->base,
> > + "Protected heap \'%s\' not (yet) available - deferring probe",
> > + protected_heap_name);
> > + ret = -EPROBE_DEFER;
> > + goto err_rpm_put;
>
> If you move the heap retrieval before the rpm enablement, you can get
> rid of this goto err_rpm_put.
>
> > + }
> > + }
> > +
> > ret = panthor_hw_init(ptdev);
> > if (ret)
> > - goto err_rpm_put;
> > + goto err_dma_heap_put;
> >
> > ret = panthor_pwr_init(ptdev);
> > if (ret)