diff options
Diffstat (limited to 'original-kernel-headers/linux/msm_kgsl.h')
-rw-r--r-- | original-kernel-headers/linux/msm_kgsl.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/original-kernel-headers/linux/msm_kgsl.h b/original-kernel-headers/linux/msm_kgsl.h index a36e60d..8d17dc6 100644 --- a/original-kernel-headers/linux/msm_kgsl.h +++ b/original-kernel-headers/linux/msm_kgsl.h @@ -24,6 +24,7 @@ #define KGSL_CONTEXT_NO_FAULT_TOLERANCE 0x00000200 #define KGSL_CONTEXT_SYNC 0x00000400 +#define KGSL_CONTEXT_PWR_CONSTRAINT 0x00000800 /* bits [12:15] are reserved for future use */ #define KGSL_CONTEXT_TYPE_MASK 0x01F00000 #define KGSL_CONTEXT_TYPE_SHIFT 20 @@ -196,6 +197,7 @@ enum kgsl_property_type { KGSL_PROP_VERSION = 0x00000008, KGSL_PROP_GPU_RESET_STAT = 0x00000009, KGSL_PROP_PWRCTRL = 0x0000000E, + KGSL_PROP_PWR_CONSTRAINT = 0x00000012, }; struct kgsl_shadowprop { @@ -689,7 +691,8 @@ struct kgsl_gpumem_sync_cache { * struct kgsl_perfcounter_get - argument to IOCTL_KGSL_PERFCOUNTER_GET * @groupid: Performance counter group ID * @countable: Countable to select within the group - * @offset: Return offset of the reserved counter + * @offset: Return offset of the reserved LO counter + * @offset_hi: Return offset of the reserved HI counter * * Get an available performance counter from a specified groupid. The offset * of the performance counter will be returned after successfully assigning @@ -704,8 +707,9 @@ struct kgsl_perfcounter_get { unsigned int groupid; unsigned int countable; unsigned int offset; + unsigned int offset_hi; /* private: reserved for future use */ - unsigned int __pad[2]; /* For future binary compatibility */ + unsigned int __pad; /* For future binary compatibility */ }; #define IOCTL_KGSL_PERFCOUNTER_GET \ @@ -881,6 +885,34 @@ struct kgsl_submit_commands { #define IOCTL_KGSL_SUBMIT_COMMANDS \ _IOWR(KGSL_IOC_TYPE, 0x3D, struct kgsl_submit_commands) +/** + * struct kgsl_device_constraint - device constraint argument + * @context_id: KGSL context ID + * @type: type of constraint i.e pwrlevel/none + * @data: constraint data + * @size: size of the constraint data + */ +struct kgsl_device_constraint { + unsigned int type; + unsigned int context_id; + void __user *data; + size_t size; +}; + +/* Constraint Type*/ +#define KGSL_CONSTRAINT_NONE 0 +#define KGSL_CONSTRAINT_PWRLEVEL 1 + +/* PWRLEVEL constraint level*/ +/* set to min frequency */ +#define KGSL_CONSTRAINT_PWR_MIN 0 +/* set to max frequency */ +#define KGSL_CONSTRAINT_PWR_MAX 1 + +struct kgsl_device_constraint_pwrlevel { + unsigned int level; +}; + #ifdef __KERNEL__ #ifdef CONFIG_MSM_KGSL_DRM int kgsl_gem_obj_addr(int drm_fd, int handle, unsigned long *start, |