diff options
author | Peter Boonstoppel <pboonstoppel@nvidia.com> | 2017-01-10 13:22:54 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-02-14 17:54:46 -0500 |
commit | 907adfd785e3a3582b2649c48bf4c32f41745e3f (patch) | |
tree | 5ffa4118738135d4b33e9b6d1de035b87ef8b351 /include | |
parent | 4fb3161ba3bb1c8481b1ca426a44aa4ee3ad744e (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.h | 11 |
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 | ||
1540 | struct 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 | /* |