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@xxxxxxxxx> > --- > 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. > > return &splane->base; > } -- Regards, Laurent Pinchart