summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPeter Boonstoppel <pboonstoppel@nvidia.com>2017-01-10 13:22:54 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-02-14 17:54:46 -0500
commit907adfd785e3a3582b2649c48bf4c32f41745e3f (patch)
tree5ffa4118738135d4b33e9b6d1de035b87ef8b351 /include
parent4fb3161ba3bb1c8481b1ca426a44aa4ee3ad744e (diff)
gpu: nvgpu: Add NVGPU_IOCTL_CHANNEL_SET_BOOSTED_CTX
This ioctl can be used on gp10b to set a flag in the context header indicating this context should be run at elevated clock frequency. FECS ctxsw ucode will read this flag as part of the context switch and will request higher GPU clock frequencies from BPMP for the duration of the context execution. Bug 1819874 Change-Id: I84bf580923d95585095716d49cea24e58c9440ed Signed-off-by: Peter Boonstoppel <pboonstoppel@nvidia.com> Reviewed-on: http://git-master/r/1292746 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/nvgpu.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index 5a9a1d25..1853f667 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -1537,6 +1537,13 @@ struct nvgpu_preemption_mode_args {
1537 __u32 compute_preempt_mode; /* in */ 1537 __u32 compute_preempt_mode; /* in */
1538}; 1538};
1539 1539
1540struct nvgpu_boosted_ctx_args {
1541#define NVGPU_BOOSTED_CTX_MODE_NORMAL (0U)
1542#define NVGPU_BOOSTED_CTX_MODE_BOOSTED_EXECUTION (1U)
1543 __u32 boost;
1544 __u32 padding;
1545};
1546
1540#define NVGPU_IOCTL_CHANNEL_SET_NVMAP_FD \ 1547#define NVGPU_IOCTL_CHANNEL_SET_NVMAP_FD \
1541 _IOW(NVGPU_IOCTL_MAGIC, 5, struct nvgpu_set_nvmap_fd_args) 1548 _IOW(NVGPU_IOCTL_MAGIC, 5, struct nvgpu_set_nvmap_fd_args)
1542#define NVGPU_IOCTL_CHANNEL_SET_TIMEOUT \ 1549#define NVGPU_IOCTL_CHANNEL_SET_TIMEOUT \
@@ -1585,9 +1592,11 @@ struct nvgpu_preemption_mode_args {
1585 _IOW(NVGPU_IOCTL_MAGIC, 122, struct nvgpu_preemption_mode_args) 1592 _IOW(NVGPU_IOCTL_MAGIC, 122, struct nvgpu_preemption_mode_args)
1586#define NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO_EX \ 1593#define NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO_EX \
1587 _IOW(NVGPU_IOCTL_MAGIC, 123, struct nvgpu_alloc_gpfifo_ex_args) 1594 _IOW(NVGPU_IOCTL_MAGIC, 123, struct nvgpu_alloc_gpfifo_ex_args)
1595#define NVGPU_IOCTL_CHANNEL_SET_BOOSTED_CTX \
1596 _IOW(NVGPU_IOCTL_MAGIC, 124, struct nvgpu_boosted_ctx_args)
1588 1597
1589#define NVGPU_IOCTL_CHANNEL_LAST \ 1598#define NVGPU_IOCTL_CHANNEL_LAST \
1590 _IOC_NR(NVGPU_IOCTL_CHANNEL_ALLOC_GPFIFO_EX) 1599 _IOC_NR(NVGPU_IOCTL_CHANNEL_SET_BOOSTED_CTX)
1591#define NVGPU_IOCTL_CHANNEL_MAX_ARG_SIZE sizeof(struct nvgpu_alloc_gpfifo_ex_args) 1600#define NVGPU_IOCTL_CHANNEL_MAX_ARG_SIZE sizeof(struct nvgpu_alloc_gpfifo_ex_args)
1592 1601
1593/* 1602/*