[PATCH] drm: renesas: shmobile: Add drm_panic support
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed May 29 01:03:20 UTC 2024
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.
>
> return &splane->base;
> }
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list