Subject: Re: [PATCH 4/8] drm/panthor: Add support for protected memory allocation in panthor

From: Marcin Ślusarz <[email-masked]>
Date: Thu, 7 May 2026 11:02:26 +0200

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)