Hi,

On Tue, Oct 03, 2023 at 04:22:45PM +0200, Jocelyn Falempe wrote:
> diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h
> index 89e2706cac56..e538c87116d3 100644
> --- a/include/drm/drm_drv.h
> +++ b/include/drm/drm_drv.h
> @@ -43,6 +43,7 @@ struct dma_buf_attachment;
>  struct drm_display_mode;
>  struct drm_mode_create_dumb;
>  struct drm_printer;
> +struct drm_scanout_buffer;
>  struct sg_table;
>  
>  /**
> @@ -408,6 +409,19 @@ struct drm_driver {
>        */
>       void (*show_fdinfo)(struct drm_printer *p, struct drm_file *f);
>  
> +     /**
> +      * @get_scanout_buffer:
> +      *
> +      * Get the current scanout buffer, to display a panic message with 
> drm_panic.
> +      * It is called from a panic callback, and must follow its restrictions.
> +      *
> +      * Returns:
> +      *
> +      * Zero on success, negative errno on failure.
> +      */
> +     int (*get_scanout_buffer)(struct drm_device *dev,
> +                               struct drm_scanout_buffer *sb);
> +

What is the format of that buffer? What is supposed to happen if the
planes / CRTC are setup in a way that is incompatible with the buffer
format?

I've said it in that other series, but I really think we should be
having a proper state on the side to deal with those properly.

Maxime

Attachment: signature.asc
Description: PGP signature

Reply via email to