summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fence_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fence_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fence_gk20a.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c
index 54a288cd..ae19d36f 100644
--- a/drivers/gpu/nvgpu/gk20a/fence_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fence_gk20a.c
@@ -194,7 +194,8 @@ static const struct gk20a_fence_ops gk20a_syncpt_fence_ops = {
194}; 194};
195 195
196struct gk20a_fence *gk20a_fence_from_syncpt(struct platform_device *host1x_pdev, 196struct gk20a_fence *gk20a_fence_from_syncpt(struct platform_device *host1x_pdev,
197 u32 id, u32 value, bool wfi) 197 u32 id, u32 value, bool wfi,
198 bool need_sync_fence)
198{ 199{
199 struct gk20a_fence *f; 200 struct gk20a_fence *f;
200 struct sync_fence *sync_fence = NULL; 201 struct sync_fence *sync_fence = NULL;
@@ -205,10 +206,12 @@ struct gk20a_fence *gk20a_fence_from_syncpt(struct platform_device *host1x_pdev,
205 .thresh = value 206 .thresh = value
206 }; 207 };
207 208
208 sync_fence = nvhost_sync_create_fence(host1x_pdev, &pt, 1, 209 if (need_sync_fence) {
209 "fence"); 210 sync_fence = nvhost_sync_create_fence(host1x_pdev, &pt, 1,
210 if (IS_ERR(sync_fence)) 211 "fence");
211 return NULL; 212 if (IS_ERR(sync_fence))
213 return NULL;
214 }
212#endif 215#endif
213 216
214 f = alloc_fence(&gk20a_syncpt_fence_ops, sync_fence, wfi); 217 f = alloc_fence(&gk20a_syncpt_fence_ops, sync_fence, wfi);