diff options
author | Richard Zhao <rizhao@nvidia.com> | 2016-01-14 20:40:48 -0500 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-01-25 18:22:22 -0500 |
commit | 8fb33d92b03b9ee2db421c69252822d09477cce5 (patch) | |
tree | ca3708bc20bb13a743a50a0a5660f42e487dea9f /drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |
parent | 42b0f49d42eeadffc221bd4d9990010dfebd4a10 (diff) |
gpu: nvgpu: vgpu: add channel_set_priority support
- add gops.fifo.channel_set_priority and move current code
as native callback.
- implement the callback for vgpu
Bug 1701079
Change-Id: If1cd13ea4478d11d578da2f682598e0c4522bcaf
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: http://git-master/r/932829
Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 45501d4f..5e5bbcb0 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -2539,8 +2539,7 @@ unsigned int gk20a_channel_poll(struct file *filep, poll_table *wait) | |||
2539 | return mask; | 2539 | return mask; |
2540 | } | 2540 | } |
2541 | 2541 | ||
2542 | static int gk20a_channel_set_priority(struct channel_gk20a *ch, | 2542 | int gk20a_channel_set_priority(struct channel_gk20a *ch, u32 priority) |
2543 | u32 priority) | ||
2544 | { | 2543 | { |
2545 | u32 timeslice_timeout; | 2544 | u32 timeslice_timeout; |
2546 | bool interleave = false; | 2545 | bool interleave = false; |
@@ -2723,6 +2722,7 @@ void gk20a_init_channel(struct gpu_ops *gops) | |||
2723 | gops->fifo.alloc_inst = channel_gk20a_alloc_inst; | 2722 | gops->fifo.alloc_inst = channel_gk20a_alloc_inst; |
2724 | gops->fifo.free_inst = channel_gk20a_free_inst; | 2723 | gops->fifo.free_inst = channel_gk20a_free_inst; |
2725 | gops->fifo.setup_ramfc = channel_gk20a_setup_ramfc; | 2724 | gops->fifo.setup_ramfc = channel_gk20a_setup_ramfc; |
2725 | gops->fifo.channel_set_priority = gk20a_channel_set_priority; | ||
2726 | } | 2726 | } |
2727 | 2727 | ||
2728 | long gk20a_channel_ioctl(struct file *filp, | 2728 | long gk20a_channel_ioctl(struct file *filp, |
@@ -2897,7 +2897,7 @@ long gk20a_channel_ioctl(struct file *filp, | |||
2897 | __func__, cmd); | 2897 | __func__, cmd); |
2898 | break; | 2898 | break; |
2899 | } | 2899 | } |
2900 | err = gk20a_channel_set_priority(ch, | 2900 | err = ch->g->ops.fifo.channel_set_priority(ch, |
2901 | ((struct nvgpu_set_priority_args *)buf)->priority); | 2901 | ((struct nvgpu_set_priority_args *)buf)->priority); |
2902 | gk20a_idle(dev); | 2902 | gk20a_idle(dev); |
2903 | break; | 2903 | break; |