[igt-dev] [PATCH i-g-t v1 4/5] drm-uapi/panfrost: sync with drm-next

Kumar, Janga Rahul janga.rahul.kumar at intel.com
Wed Oct 25 14:25:09 UTC 2023


LGTM,
Reviewed-by: Janga Rahul Kumar<janga.rahul.kumar at intel.com>

> -----Original Message-----
> From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of Kamil
> Konieczny
> Sent: Monday, October 23, 2023 7:50 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Simon Ser <contact at emersion.fr>; Alyssa Rosenzweig
> <alyssa at collabora.com>
> Subject: [igt-dev] [PATCH i-g-t v1 4/5] drm-uapi/panfrost: sync with drm-next
> 
> From: Simon Ser <contact at emersion.fr>
> 
> Sync panfrost drm-uapi header with
> drm-next commit ("52920704df878050123dfeb469aa6ab8022547c1")
> 
> v1: split panfrost header to separete patch (Kamil)
> 
> Signed-off-by: Simon Ser <contact at emersion.fr>
> Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> Cc: Boris Brezillon <boris.brezillon at collabora.com>
> Cc: Alyssa Rosenzweig <alyssa at collabora.com>
> ---
>  include/drm-uapi/panfrost_drm.h | 55
> +++++++++++++++++++++++++++++++--
>  1 file changed, 53 insertions(+), 2 deletions(-)
> 
> diff --git a/include/drm-uapi/panfrost_drm.h b/include/drm-
> uapi/panfrost_drm.h index 061e700dd..9f231d40a 100644
> --- a/include/drm-uapi/panfrost_drm.h
> +++ b/include/drm-uapi/panfrost_drm.h
> @@ -84,14 +84,14 @@ struct drm_panfrost_wait_bo {
>  	__s64 timeout_ns;	/* absolute */
>  };
> 
> +/* Valid flags to pass to drm_panfrost_create_bo */
>  #define PANFROST_BO_NOEXEC	1
>  #define PANFROST_BO_HEAP	2
> 
>  /**
>   * struct drm_panfrost_create_bo - ioctl argument for creating Panfrost BOs.
>   *
> - * There are currently no values for the flags argument, but it may be
> - * used in a future extension.
> + * The flags argument is a bit mask of PANFROST_BO_* flags.
>   */
>  struct drm_panfrost_create_bo {
>  	__u32 size;
> @@ -224,6 +224,57 @@ struct drm_panfrost_madvise {
>  	__u32 retained;       /* out, whether backing store still exists */
>  };
> 
> +/* Definitions for coredump decoding in user space */ #define
> +PANFROSTDUMP_MAJOR 1 #define PANFROSTDUMP_MINOR 0
> +
> +#define PANFROSTDUMP_MAGIC 0x464E4150 /* PANF */
> +
> +#define PANFROSTDUMP_BUF_REG 0
> +#define PANFROSTDUMP_BUF_BOMAP (PANFROSTDUMP_BUF_REG + 1)
> #define
> +PANFROSTDUMP_BUF_BO (PANFROSTDUMP_BUF_BOMAP + 1) #define
> +PANFROSTDUMP_BUF_TRAILER (PANFROSTDUMP_BUF_BO + 1)
> +
> +/*
> + * This structure is the native endianness of the dumping machine,
> +tools can
> + * detect the endianness by looking at the value in 'magic'.
> + */
> +struct panfrost_dump_object_header {
> +	__u32 magic;
> +	__u32 type;
> +	__u32 file_size;
> +	__u32 file_offset;
> +
> +	union {
> +		struct {
> +			__u64 jc;
> +			__u32 gpu_id;
> +			__u32 major;
> +			__u32 minor;
> +			__u64 nbos;
> +		} reghdr;
> +
> +		struct {
> +			__u32 valid;
> +			__u64 iova;
> +			__u32 data[2];
> +		} bomap;
> +
> +		/*
> +		 * Force same size in case we want to expand the header
> +		 * with new fields and also keep it 512-byte aligned
> +		 */
> +
> +		__u32 sizer[496];
> +	};
> +};
> +
> +/* Registers object, an array of these */ struct
> +panfrost_dump_registers {
> +	__u32 reg;
> +	__u32 value;
> +};
> +
>  #if defined(__cplusplus)
>  }
>  #endif
> --
> 2.42.0



More information about the igt-dev mailing list