diff options
Diffstat (limited to 'arch/arm/mach-tegra/include/mach/nvhost.h')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/nvhost.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/include/mach/nvhost.h b/arch/arm/mach-tegra/include/mach/nvhost.h index fc0336a42b50..fc18f2e6292e 100644 --- a/arch/arm/mach-tegra/include/mach/nvhost.h +++ b/arch/arm/mach-tegra/include/mach/nvhost.h @@ -76,6 +76,7 @@ int nvhost_bus_register(struct nvhost_master *host); #define NVHOST_NO_TIMEOUT (-1) #define NVHOST_IOCTL_MAGIC 'H' +/* version 0 header */ struct nvhost_submit_hdr { __u32 syncpt_id; __u32 syncpt_incrs; @@ -83,6 +84,22 @@ struct nvhost_submit_hdr { __u32 num_relocs; }; +#define NVHOST_SUBMIT_VERSION_V0 0x0 +#define NVHOST_SUBMIT_VERSION_V1 0x1 +#define NVHOST_SUBMIT_VERSION_MAX_SUPPORTED NVHOST_SUBMIT_VERSION_V1 + +/* version 1 header (same as version 0, w/ addt'l fields) */ +struct nvhost_submit_hdr_ext { + __u32 syncpt_id; /* version 0 fields */ + __u32 syncpt_incrs; + __u32 num_cmdbufs; + __u32 num_relocs; + __u32 submit_version; /* version 1 fields */ + __u32 num_waitchks; + __u32 waitchk_mask; + __u32 pad[5]; /* future expansion */ +}; + struct nvhost_cmdbuf { __u32 mem; __u32 offset; @@ -96,6 +113,13 @@ struct nvhost_reloc { __u32 target_offset; }; +struct nvhost_waitchk { + __u32 mem; + __u32 offset; + __u32 syncpt_id; + __u32 thresh; +}; + struct nvhost_get_param_args { __u32 value; }; @@ -116,9 +140,11 @@ struct nvhost_set_nvmap_fd_args { _IOW(NVHOST_IOCTL_MAGIC, 5, struct nvhost_set_nvmap_fd_args) #define NVHOST_IOCTL_CHANNEL_NULL_KICKOFF \ _IOR(NVHOST_IOCTL_MAGIC, 6, struct nvhost_get_param_args) +#define NVHOST_IOCTL_CHANNEL_SUBMIT_EXT \ + _IOW(NVHOST_IOCTL_MAGIC, 7, struct nvhost_submit_hdr_ext) #define NVHOST_IOCTL_CHANNEL_LAST \ - _IOC_NR(NVHOST_IOCTL_CHANNEL_NULL_KICKOFF) -#define NVHOST_IOCTL_CHANNEL_MAX_ARG_SIZE sizeof(struct nvhost_get_param_args) + _IOC_NR(NVHOST_IOCTL_CHANNEL_SUBMIT_EXT) +#define NVHOST_IOCTL_CHANNEL_MAX_ARG_SIZE sizeof(struct nvhost_submit_hdr_ext) struct nvhost_ctrl_syncpt_read_args { __u32 id; |