summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-01-14 20:40:48 -0500
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-01-25 18:22:22 -0500
commit8fb33d92b03b9ee2db421c69252822d09477cce5 (patch)
treeca3708bc20bb13a743a50a0a5660f42e487dea9f /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parent42b0f49d42eeadffc221bd4d9990010dfebd4a10 (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.c6
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
2542static int gk20a_channel_set_priority(struct channel_gk20a *ch, 2542int 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
2728long gk20a_channel_ioctl(struct file *filp, 2728long 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;