[PATCH] drm: renesas: shmobile: Add drm_panic support

Dmitry Baryshkov dmitry.baryshkov at linaro.org
Wed May 29 08:27:02 UTC 2024


On Wed, May 29, 2024 at 04:03:20AM +0300, Laurent Pinchart wrote:
> Hi Geert,
> 
> Thank you for the patch.
> 
> On Mon, May 27, 2024 at 03:34:48PM +0200, Geert Uytterhoeven wrote:
> > Add support for the drm_panic module, which displays a message on
> > the screen when a kernel panic occurs.
> > 
> > Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
> > ---
> > Tested on Armadillo-800-EVA.
> > ---
> >  drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c
> > index 07ad17d24294d5e6..9d166ab2af8bd231 100644
> > --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c
> > +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_plane.c
> > @@ -273,6 +273,13 @@ static const struct drm_plane_helper_funcs shmob_drm_plane_helper_funcs = {
> >  	.atomic_disable = shmob_drm_plane_atomic_disable,
> >  };
> >  
> > +static const struct drm_plane_helper_funcs shmob_drm_primary_plane_helper_funcs = {
> > +	.atomic_check = shmob_drm_plane_atomic_check,
> > +	.atomic_update = shmob_drm_plane_atomic_update,
> > +	.atomic_disable = shmob_drm_plane_atomic_disable,
> > +	.get_scanout_buffer = drm_fb_dma_get_scanout_buffer,
> > +};
> > +
> >  static const struct drm_plane_funcs shmob_drm_plane_funcs = {
> >  	.update_plane = drm_atomic_helper_update_plane,
> >  	.disable_plane = drm_atomic_helper_disable_plane,
> > @@ -310,7 +317,12 @@ struct drm_plane *shmob_drm_plane_create(struct shmob_drm_device *sdev,
> >  
> >  	splane->index = index;
> >  
> > -	drm_plane_helper_add(&splane->base, &shmob_drm_plane_helper_funcs);
> > +	if (type == DRM_PLANE_TYPE_PRIMARY)
> > +		drm_plane_helper_add(&splane->base,
> > +				     &shmob_drm_primary_plane_helper_funcs);
> > +	else
> > +		drm_plane_helper_add(&splane->base,
> > +				     &shmob_drm_plane_helper_funcs);
> 
> It's not very nice to have to provide different operations for the
> primary and overlay planes. The documentation of
> drm_fb_dma_get_scanout_buffer() states
> 
>  * @plane: DRM primary plane
> 
> If the intent is that only primary planes will be used to display the
> panic message, shouldn't drm_panic_register() skip overlay planes ? It
> would simplify drivers.

What about the drivers where all the planes are actually universal?
In such a case the planes registered as primary can easily get replaced
by 'overlay' planes.

> 
> >  
> >  	return &splane->base;
> >  }
> 
> -- 
> Regards,
> 
> Laurent Pinchart

-- 
With best wishes
Dmitry


More information about the dri-devel mailing list