diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2018-09-03 08:50:09 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-05 23:40:58 -0400 |
commit | 7405cd9a6dcd22d04f48be07be4839c735994ada (patch) | |
tree | e9b6bfb7a4a74e9a0f83b9d160fb2caf61ee90ae /drivers/gpu | |
parent | 34d552957dd0e3e3363067fc9b9af64281d29396 (diff) |
gpu: nvgpu: move usermode buffer alloc to os_channel
Allocation of usermode submit buffers is not chip specific but is
operating system specific; the API belongs to the os_channel layer, not
in the fifo ops HAL.
Bug 200145225
Change-Id: I90adb47103ab4b2e888c3db191d78ceda35e777d
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1812287
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/fifo/channel.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/common/fifo/channel.c b/drivers/gpu/nvgpu/common/fifo/channel.c index 58b62ce7..45f5b736 100644 --- a/drivers/gpu/nvgpu/common/fifo/channel.c +++ b/drivers/gpu/nvgpu/common/fifo/channel.c | |||
@@ -1145,8 +1145,8 @@ int gk20a_channel_alloc_gpfifo(struct channel_gk20a *c, | |||
1145 | } | 1145 | } |
1146 | 1146 | ||
1147 | if (gpfifo_args->flags & NVGPU_GPFIFO_FLAGS_USERMODE_SUPPORT) { | 1147 | if (gpfifo_args->flags & NVGPU_GPFIFO_FLAGS_USERMODE_SUPPORT) { |
1148 | if (g->ops.fifo.alloc_usermode_buffers) { | 1148 | if (g->os_channel.alloc_usermode_buffers) { |
1149 | err = g->ops.fifo.alloc_usermode_buffers(c, | 1149 | err = g->os_channel.alloc_usermode_buffers(c, |
1150 | gpfifo_args); | 1150 | gpfifo_args); |
1151 | if (err) { | 1151 | if (err) { |
1152 | nvgpu_err(g, "Usermode buffer alloc failed"); | 1152 | nvgpu_err(g, "Usermode buffer alloc failed"); |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 34d08b65..fac7c5df 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -722,8 +722,6 @@ struct gpu_ops { | |||
722 | int (*channel_suspend)(struct gk20a *g); | 722 | int (*channel_suspend)(struct gk20a *g); |
723 | int (*channel_resume)(struct gk20a *g); | 723 | int (*channel_resume)(struct gk20a *g); |
724 | void (*set_error_notifier)(struct channel_gk20a *ch, u32 error); | 724 | void (*set_error_notifier)(struct channel_gk20a *ch, u32 error); |
725 | int (*alloc_usermode_buffers)(struct channel_gk20a *c, | ||
726 | struct nvgpu_gpfifo_args *gpfifo_args); | ||
727 | #ifdef CONFIG_TEGRA_GK20A_NVHOST | 725 | #ifdef CONFIG_TEGRA_GK20A_NVHOST |
728 | int (*alloc_syncpt_buf)(struct channel_gk20a *c, | 726 | int (*alloc_syncpt_buf)(struct channel_gk20a *c, |
729 | u32 syncpt_id, struct nvgpu_mem *syncpt_buf); | 727 | u32 syncpt_id, struct nvgpu_mem *syncpt_buf); |
@@ -1569,6 +1567,8 @@ struct gk20a { | |||
1569 | int (*copy_user_gpfifo)(struct nvgpu_gpfifo_entry *dest, | 1567 | int (*copy_user_gpfifo)(struct nvgpu_gpfifo_entry *dest, |
1570 | struct nvgpu_gpfifo_userdata userdata, | 1568 | struct nvgpu_gpfifo_userdata userdata, |
1571 | u32 start, u32 length); | 1569 | u32 start, u32 length); |
1570 | int (*alloc_usermode_buffers)(struct channel_gk20a *c, | ||
1571 | struct nvgpu_gpfifo_args *gpfifo_args); | ||
1572 | } os_channel; | 1572 | } os_channel; |
1573 | 1573 | ||
1574 | struct gk20a_scale_profile *scale_profile; | 1574 | struct gk20a_scale_profile *scale_profile; |