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 <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/410121
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
Deepak Nibade
2014-05-15 13:26:03 +05:30
committed by Dan Willemsen
parent 48239f5f8c
commit dadaa5af56

View File

@@ -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;