mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
drm/xe/xe_exec_queue: Add check for access counter granularity
Add conditional check for access counter granularity. This check will return -EINVAL if granularity is beyond 64M which is a hardware limitation. v2: Defined XE_ACC_GRANULARITY_128K 0 XE_ACC_GRANULARITY_2M 1 XE_ACC_GRANULARITY_16M 2 XE_ACC_GRANULARITY_64M 3 as part of uAPI. So, that user can also use it.(Oak) v3: Move uAPI to proper location and give proper documentation.(Brian, Oak) Cc: Oak Zeng <oak.zeng@intel.com> Cc: Janga Rahul Kumar <janga.rahul.kumar@intel.com> Cc: Brian Welty <brian.welty@intel.com> Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi@intel.com> Reviewed-by: Oak Zeng <oak.zeng@intel.com> Reviewed-by: Oak Zeng <oak.zeng@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
65e9573588
commit
b8d70702de
|
|
@ -393,6 +393,9 @@ static int exec_queue_set_acc_granularity(struct xe_device *xe, struct xe_exec_q
|
|||
if (XE_IOCTL_DBG(xe, !xe->info.supports_usm))
|
||||
return -EINVAL;
|
||||
|
||||
if (value > XE_ACC_GRANULARITY_64M)
|
||||
return -EINVAL;
|
||||
|
||||
q->usm.acc_granularity = value;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -731,6 +731,20 @@ struct drm_xe_vm_bind {
|
|||
__u64 reserved[2];
|
||||
};
|
||||
|
||||
/* For use with XE_EXEC_QUEUE_SET_PROPERTY_ACC_GRANULARITY */
|
||||
|
||||
/* Monitor 128KB contiguous region with 4K sub-granularity */
|
||||
#define XE_ACC_GRANULARITY_128K 0
|
||||
|
||||
/* Monitor 2MB contiguous region with 64KB sub-granularity */
|
||||
#define XE_ACC_GRANULARITY_2M 1
|
||||
|
||||
/* Monitor 16MB contiguous region with 512KB sub-granularity */
|
||||
#define XE_ACC_GRANULARITY_16M 2
|
||||
|
||||
/* Monitor 64MB contiguous region with 2M sub-granularity */
|
||||
#define XE_ACC_GRANULARITY_64M 3
|
||||
|
||||
/**
|
||||
* struct drm_xe_exec_queue_set_property - exec queue set property
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user