diff options
author | Jon Ashburn <jashburn@quicinc.com> | 2010-02-16 22:53:38 -0700 |
---|---|---|
committer | Jon Ashburn <jashburn@quicinc.com> | 2010-02-18 16:03:01 -0700 |
commit | f3fa285006876d27293a44499d6280cae500197a (patch) | |
tree | b7c6ede1aad172f872f4652c0d1db4978ee2ec6e | |
parent | ca0d5ffd60af813fd6502f3a2ce47afc7c43632b (diff) | |
download | bionic-f3fa285006876d27293a44499d6280cae500197a.zip bionic-f3fa285006876d27293a44499d6280cae500197a.tar.gz bionic-f3fa285006876d27293a44499d6280cae500197a.tar.bz2 |
msm_kgsl.h: Add support for Open VG and Z180
Update structs and ioctls to support Open VG.
-rw-r--r-- | libc/kernel/common/linux/msm_kgsl.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/msm_kgsl.h b/libc/kernel/common/linux/msm_kgsl.h index d1752a9..312e5b3 100644 --- a/libc/kernel/common/linux/msm_kgsl.h +++ b/libc/kernel/common/linux/msm_kgsl.h @@ -74,9 +74,18 @@ struct kgsl_shadowprop { unsigned int flags; }; +struct kgsl_platform_data { + unsigned int max_axi_freq; + unsigned int max_grp2d_freq; + int (*set_grp2d_async)(void); + unsigned int max_grp3d_freq; + int (*set_grp3d_async)(void); +}; + #define KGSL_IOC_TYPE 0x09 struct kgsl_device_getproperty { + unsigned int device_id; unsigned int type; void *value; unsigned int sizebytes; @@ -85,6 +94,7 @@ struct kgsl_device_getproperty { #define IOCTL_KGSL_DEVICE_GETPROPERTY _IOWR(KGSL_IOC_TYPE, 0x2, struct kgsl_device_getproperty) struct kgsl_device_regread { + unsigned int device_id; unsigned int offsetwords; unsigned int value; }; @@ -92,6 +102,7 @@ struct kgsl_device_regread { #define IOCTL_KGSL_DEVICE_REGREAD _IOWR(KGSL_IOC_TYPE, 0x3, struct kgsl_device_regread) struct kgsl_device_waittimestamp { + unsigned int device_id; unsigned int timestamp; unsigned int timeout; }; @@ -99,6 +110,7 @@ struct kgsl_device_waittimestamp { #define IOCTL_KGSL_DEVICE_WAITTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x6, struct kgsl_device_waittimestamp) struct kgsl_ringbuffer_issueibcmds { + unsigned int device_id; unsigned int drawctxt_id; unsigned int ibaddr; unsigned int sizedwords; @@ -109,6 +121,7 @@ struct kgsl_ringbuffer_issueibcmds { #define IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS _IOWR(KGSL_IOC_TYPE, 0x10, struct kgsl_ringbuffer_issueibcmds) struct kgsl_cmdstream_readtimestamp { + unsigned int device_id; unsigned int type; unsigned int timestamp; }; @@ -116,6 +129,7 @@ struct kgsl_cmdstream_readtimestamp { #define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP _IOR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp) struct kgsl_cmdstream_freememontimestamp { + unsigned int device_id; unsigned int gpuaddr; unsigned int type; unsigned int timestamp; @@ -124,6 +138,7 @@ struct kgsl_cmdstream_freememontimestamp { #define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP _IOR(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp) struct kgsl_drawctxt_create { + unsigned int device_id; unsigned int flags; unsigned int drawctxt_id; }; @@ -131,6 +146,7 @@ struct kgsl_drawctxt_create { #define IOCTL_KGSL_DRAWCTXT_CREATE _IOWR(KGSL_IOC_TYPE, 0x13, struct kgsl_drawctxt_create) struct kgsl_drawctxt_destroy { + unsigned int device_id; unsigned int drawctxt_id; }; @@ -191,10 +207,29 @@ struct kgsl_sharedmem_from_vmalloc { #define IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE _IOW(KGSL_IOC_TYPE, 0x24, struct kgsl_sharedmem_free) struct kgsl_drawctxt_set_bin_base_offset { + unsigned int device_id; unsigned int drawctxt_id; unsigned int offset; }; #define IOCTL_KGSL_DRAWCTXT_SET_BIN_BASE_OFFSET _IOW(KGSL_IOC_TYPE, 0x25, struct kgsl_drawctxt_set_bin_base_offset) +enum kgsl_cmdwindow_type { + KGSL_CMDWINDOW_MIN = 0x00000000, + KGSL_CMDWINDOW_2D = 0x00000000, + KGSL_CMDWINDOW_3D = 0x00000001, + KGSL_CMDWINDOW_MMU = 0x00000002, + KGSL_CMDWINDOW_ARBITER = 0x000000FF, + KGSL_CMDWINDOW_MAX = 0x000000FF, +}; + +struct kgsl_cmdwindow_write { + unsigned int device_id; + enum kgsl_cmdwindow_type target; + unsigned int addr; + unsigned int data; +}; + +#define IOCTL_KGSL_CMDWINDOW_WRITE _IOW(KGSL_IOC_TYPE, 0x2e, struct kgsl_cmdwindow_write) + #endif |