diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/channel.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/ioctl_channel.c | 10 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/nvhost.c | 8 |
3 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/channel.c b/drivers/gpu/nvgpu/common/linux/channel.c index a725cd6b..8bfa4cfc 100644 --- a/drivers/gpu/nvgpu/common/linux/channel.c +++ b/drivers/gpu/nvgpu/common/linux/channel.c | |||
@@ -444,7 +444,7 @@ static int gk20a_submit_prepare_syncs(struct channel_gk20a *c, | |||
444 | if (g->aggressive_sync_destroy_thresh) { | 444 | if (g->aggressive_sync_destroy_thresh) { |
445 | nvgpu_mutex_acquire(&c->sync_lock); | 445 | nvgpu_mutex_acquire(&c->sync_lock); |
446 | if (!c->sync) { | 446 | if (!c->sync) { |
447 | c->sync = gk20a_channel_sync_create(c); | 447 | c->sync = gk20a_channel_sync_create(c, false); |
448 | if (!c->sync) { | 448 | if (!c->sync) { |
449 | err = -ENOMEM; | 449 | err = -ENOMEM; |
450 | nvgpu_mutex_release(&c->sync_lock); | 450 | nvgpu_mutex_release(&c->sync_lock); |
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c index ab6ac9b9..0acaa61d 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_channel.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_channel.c | |||
@@ -972,11 +972,11 @@ static int nvgpu_ioctl_channel_get_user_syncpoint(struct channel_gk20a *ch, | |||
972 | } | 972 | } |
973 | 973 | ||
974 | nvgpu_mutex_acquire(&ch->sync_lock); | 974 | nvgpu_mutex_acquire(&ch->sync_lock); |
975 | if (ch->sync) { | 975 | if (ch->user_sync) { |
976 | nvgpu_mutex_release(&ch->sync_lock); | 976 | nvgpu_mutex_release(&ch->sync_lock); |
977 | } else { | 977 | } else { |
978 | ch->sync = gk20a_channel_sync_create(ch); | 978 | ch->user_sync = gk20a_channel_sync_create(ch, true); |
979 | if (!ch->sync) { | 979 | if (!ch->user_sync) { |
980 | nvgpu_mutex_release(&ch->sync_lock); | 980 | nvgpu_mutex_release(&ch->sync_lock); |
981 | return -ENOMEM; | 981 | return -ENOMEM; |
982 | } | 982 | } |
@@ -989,11 +989,11 @@ static int nvgpu_ioctl_channel_get_user_syncpoint(struct channel_gk20a *ch, | |||
989 | } | 989 | } |
990 | } | 990 | } |
991 | 991 | ||
992 | args->syncpoint_id = ch->sync->syncpt_id(ch->sync); | 992 | args->syncpoint_id = ch->user_sync->syncpt_id(ch->user_sync); |
993 | args->syncpoint_max = nvgpu_nvhost_syncpt_read_maxval(g->nvhost_dev, | 993 | args->syncpoint_max = nvgpu_nvhost_syncpt_read_maxval(g->nvhost_dev, |
994 | args->syncpoint_id); | 994 | args->syncpoint_id); |
995 | if (nvgpu_is_enabled(g, NVGPU_SUPPORT_SYNCPOINT_ADDRESS)) | 995 | if (nvgpu_is_enabled(g, NVGPU_SUPPORT_SYNCPOINT_ADDRESS)) |
996 | args->gpu_va = ch->sync->syncpt_address(ch->sync); | 996 | args->gpu_va = ch->user_sync->syncpt_address(ch->user_sync); |
997 | else | 997 | else |
998 | args->gpu_va = 0; | 998 | args->gpu_va = 0; |
999 | 999 | ||
diff --git a/drivers/gpu/nvgpu/common/linux/nvhost.c b/drivers/gpu/nvgpu/common/linux/nvhost.c index 94bbfd70..a76953e3 100644 --- a/drivers/gpu/nvgpu/common/linux/nvhost.c +++ b/drivers/gpu/nvgpu/common/linux/nvhost.c | |||
@@ -138,6 +138,14 @@ u32 nvgpu_nvhost_get_syncpt_host_managed( | |||
138 | param, syncpt_name); | 138 | param, syncpt_name); |
139 | } | 139 | } |
140 | 140 | ||
141 | u32 nvgpu_nvhost_get_syncpt_client_managed( | ||
142 | struct nvgpu_nvhost_dev *nvhost_dev, | ||
143 | const char *syncpt_name) | ||
144 | { | ||
145 | return nvhost_get_syncpt_client_managed(nvhost_dev->host1x_pdev, | ||
146 | syncpt_name); | ||
147 | } | ||
148 | |||
141 | int nvgpu_nvhost_syncpt_wait_timeout_ext( | 149 | int nvgpu_nvhost_syncpt_wait_timeout_ext( |
142 | struct nvgpu_nvhost_dev *nvhost_dev, u32 id, | 150 | struct nvgpu_nvhost_dev *nvhost_dev, u32 id, |
143 | u32 thresh, u32 timeout, u32 *value, struct timespec *ts) | 151 | u32 thresh, u32 timeout, u32 *value, struct timespec *ts) |