summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c
index 4a6b8162..e965a329 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c
@@ -294,6 +294,13 @@ static int gk20a_channel_syncpt_id(struct gk20a_channel_sync *s)
294 return sp->id; 294 return sp->id;
295} 295}
296 296
297static u64 gk20a_channel_syncpt_address(struct gk20a_channel_sync *s)
298{
299 struct gk20a_channel_syncpt *sp =
300 container_of(s, struct gk20a_channel_syncpt, ops);
301 return sp->syncpt_buf.gpu_va;
302}
303
297static void gk20a_channel_syncpt_destroy(struct gk20a_channel_sync *s) 304static void gk20a_channel_syncpt_destroy(struct gk20a_channel_sync *s)
298{ 305{
299 struct gk20a_channel_syncpt *sp = 306 struct gk20a_channel_syncpt *sp =
@@ -345,6 +352,7 @@ gk20a_channel_syncpt_create(struct channel_gk20a *c)
345 sp->ops.set_min_eq_max = gk20a_channel_syncpt_set_min_eq_max; 352 sp->ops.set_min_eq_max = gk20a_channel_syncpt_set_min_eq_max;
346 sp->ops.signal_timeline = gk20a_channel_syncpt_signal_timeline; 353 sp->ops.signal_timeline = gk20a_channel_syncpt_signal_timeline;
347 sp->ops.syncpt_id = gk20a_channel_syncpt_id; 354 sp->ops.syncpt_id = gk20a_channel_syncpt_id;
355 sp->ops.syncpt_address = gk20a_channel_syncpt_address;
348 sp->ops.destroy = gk20a_channel_syncpt_destroy; 356 sp->ops.destroy = gk20a_channel_syncpt_destroy;
349 357
350 return &sp->ops; 358 return &sp->ops;
@@ -865,6 +873,11 @@ static int gk20a_channel_semaphore_syncpt_id(struct gk20a_channel_sync *s)
865 return -EINVAL; 873 return -EINVAL;
866} 874}
867 875
876static u64 gk20a_channel_semaphore_syncpt_address(struct gk20a_channel_sync *s)
877{
878 return 0;
879}
880
868static void gk20a_channel_semaphore_destroy(struct gk20a_channel_sync *s) 881static void gk20a_channel_semaphore_destroy(struct gk20a_channel_sync *s)
869{ 882{
870 struct gk20a_channel_semaphore *sema = 883 struct gk20a_channel_semaphore *sema =
@@ -916,6 +929,7 @@ gk20a_channel_semaphore_create(struct channel_gk20a *c)
916 sema->ops.set_min_eq_max = gk20a_channel_semaphore_set_min_eq_max; 929 sema->ops.set_min_eq_max = gk20a_channel_semaphore_set_min_eq_max;
917 sema->ops.signal_timeline = gk20a_channel_semaphore_signal_timeline; 930 sema->ops.signal_timeline = gk20a_channel_semaphore_signal_timeline;
918 sema->ops.syncpt_id = gk20a_channel_semaphore_syncpt_id; 931 sema->ops.syncpt_id = gk20a_channel_semaphore_syncpt_id;
932 sema->ops.syncpt_address = gk20a_channel_semaphore_syncpt_address;
919 sema->ops.destroy = gk20a_channel_semaphore_destroy; 933 sema->ops.destroy = gk20a_channel_semaphore_destroy;
920 934
921 return &sema->ops; 935 return &sema->ops;