[PATCH i-g-t] drm-uapi/xe: Sync with OA uapi updates

Dixit, Ashutosh ashutosh.dixit at intel.com
Thu Jan 9 05:15:32 UTC 2025


On Wed, 08 Jan 2025 20:26:18 -0800, Pottumuttu, Sai Teja wrote:
>
> On 09-01-2025 08:53, Ashutosh Dixit wrote:
> > Align with kernel commit 5637797add2a ("drm/xe/oa/uapi: Expose an unblock
> > after N reports OA property").
> >
> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
> > ---
> >   include/drm-uapi/xe_drm.h | 18 +++++++++++++++++-
> >   1 file changed, 17 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
> > index 56163eb913..08e263b3b2 100644
> > --- a/include/drm-uapi/xe_drm.h
> > +++ b/include/drm-uapi/xe_drm.h
> > @@ -134,7 +134,7 @@ extern "C" {
> >    * redefine the interface more easily than an ever growing struct of
> >    * increasing complexity, and for large parts of that interface to be
> >    * entirely optional. The downside is more pointer chasing; chasing across
> > - * the __user boundary with pointers encapsulated inside u64.
> > + * the boundary with pointers encapsulated inside u64.
>
> I think this line change doesn't exist in kernel. Was it intentionally
> changed here for some reason?

No, the file is automatically generated with 'make headers_install' in the
kernel. 'make headers_install' will remove all '__user' tags, because
__user only makes sense in the kernel, not in userspace.

This seems to be the only instance of __user in xe_drm.h but there are many
more instances of __user in i915_drm.h. You can see __user being removed by
comparing i915_drm.h files between kernel and IGT.

>
> With that addressed,
> Reviewed-by: Sai Teja Pottumuttu <sai.teja.pottumuttu at intel.com>

Thanks!

>
> Thanks,
> Sai Teja
>
> >    *
> >    * Example chaining:
> >    *
> > @@ -1486,6 +1486,8 @@ struct drm_xe_oa_unit {
> >	__u64 capabilities;
> >   #define DRM_XE_OA_CAPS_BASE		(1 << 0)
> >   #define DRM_XE_OA_CAPS_SYNCS		(1 << 1)
> > +#define DRM_XE_OA_CAPS_OA_BUFFER_SIZE	(1 << 2)
> > +#define DRM_XE_OA_CAPS_WAIT_NUM_REPORTS	(1 << 3)
> >		/** @oa_timestamp_freq: OA timestamp freq */
> >	__u64 oa_timestamp_freq;
> > @@ -1651,6 +1653,20 @@ enum drm_xe_oa_property_id {
> >	 * to the VM bind case.
> >	 */
> >	DRM_XE_OA_PROPERTY_SYNCS,
> > +
> > +	/**
> > +	 * @DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE: Size of OA buffer to be
> > +	 * allocated by the driver in bytes. Supported sizes are powers of
> > +	 * 2 from 128 KiB to 128 MiB. When not specified, a 16 MiB OA
> > +	 * buffer is allocated by default.
> > +	 */
> > +	DRM_XE_OA_PROPERTY_OA_BUFFER_SIZE,
> > +
> > +	/**
> > +	 * @DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS: Number of reports to wait
> > +	 * for before unblocking poll or read
> > +	 */
> > +	DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS,
> >   };
> >     /**


More information about the igt-dev mailing list