From dadaa5af564e9c5da56931c8f48882f985d5c5d1 Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Thu, 15 May 2014 13:26:03 +0530 Subject: gpu: nvgpu: gk20a: fix syncpt names for gk20a nvhost_get_syncpt_host_managed() creates syncpt name based on platform_device pointer passed to it Passing host1x's pointer to this API results in setting gk20a syncpt names as "host1x_0" which is conflicting Hence to restore this pass gk20a's device pointer which gives syncpt names as "gk20a.0_0" Also, add a syncpt check for sycnpt received. Bug 1305024 Change-Id: I4ff96c7c9ebff2dca385c5787a85b4a9451b9514 Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/410121 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Arto Merilainen Reviewed-by: Terje Bergstrom Tested-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c index 55ee5181..10a1001e 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c @@ -344,7 +344,12 @@ gk20a_channel_syncpt_create(struct channel_gk20a *c) sp->c = c; sp->host1x_pdev = c->g->host1x_dev; - sp->id = nvhost_get_syncpt_host_managed(sp->host1x_pdev, c->hw_chid); + sp->id = nvhost_get_syncpt_host_managed(c->g->dev, c->hw_chid); + if (!sp->id) { + kfree(sp); + gk20a_err(&c->g->dev->dev, "failed to get free syncpt"); + return NULL; + } sp->ops.wait_cpu = gk20a_channel_syncpt_wait_cpu; sp->ops.is_expired = gk20a_channel_syncpt_is_expired; -- cgit v1.2.2