Loading drivers/gpu/msm/kgsl.c +7 −9 Original line number Diff line number Diff line Loading @@ -1526,10 +1526,10 @@ void kgsl_dump_syncpoints(struct kgsl_device *device, break; } case KGSL_CMD_SYNCPOINT_TYPE_FENCE: if (event->handle && event->handle->fence) if (event->handle) dev_err(device->dev, " fence: [%p] %s\n", event->handle->fence, event->handle->fence->name); event->handle->name); else dev_err(device->dev, " fence: invalid\n"); break; Loading Loading @@ -1790,12 +1790,9 @@ EXPORT_SYMBOL(kgsl_cmdbatch_destroy); static void kgsl_cmdbatch_sync_fence_func(void *priv) { struct kgsl_cmdbatch_sync_event *event = priv; char *name = "unknown"; if (event->handle && event->handle->fence) name = event->handle->fence->name; trace_syncpoint_fence_expire(event->cmdbatch, name); trace_syncpoint_fence_expire(event->cmdbatch, event->handle ? event->handle->name : "unknown"); kgsl_cmdbatch_sync_expire(event->device, event); /* Put events that have signaled */ Loading Loading @@ -1856,10 +1853,11 @@ static int kgsl_cmdbatch_add_sync_fence(struct kgsl_device *device, event->handle = kgsl_sync_fence_async_wait(sync->fd, kgsl_cmdbatch_sync_fence_func, event); if (IS_ERR_OR_NULL(event->handle)) { int ret = PTR_ERR(event->handle); event->handle = NULL; /* Failed to add the event to the async callback */ kgsl_cmdbatch_sync_event_put(event); Loading @@ -1882,7 +1880,7 @@ static int kgsl_cmdbatch_add_sync_fence(struct kgsl_device *device, return ret; } trace_syncpoint_fence(cmdbatch, event->handle->fence->name); trace_syncpoint_fence(cmdbatch, event->handle->name); /* * Event was successfully added to the synclist, the async Loading drivers/gpu/msm/kgsl_sync.c +4 −0 Original line number Diff line number Diff line Loading @@ -403,9 +403,13 @@ struct kgsl_sync_fence_waiter *kgsl_sync_fence_async_wait(int fd, sync_fence_put(fence); return ERR_PTR(-ENOMEM); } kwaiter->fence = fence; kwaiter->priv = priv; kwaiter->func = func; strlcpy(kwaiter->name, fence->name, sizeof(kwaiter->name)); sync_fence_waiter_init((struct sync_fence_waiter *) kwaiter, kgsl_sync_callback); Loading drivers/gpu/msm/kgsl_sync.h +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ struct kgsl_sync_pt { struct kgsl_sync_fence_waiter { struct sync_fence_waiter waiter; struct sync_fence *fence; char name[32]; void (*func)(void *priv); void *priv; }; Loading Loading
drivers/gpu/msm/kgsl.c +7 −9 Original line number Diff line number Diff line Loading @@ -1526,10 +1526,10 @@ void kgsl_dump_syncpoints(struct kgsl_device *device, break; } case KGSL_CMD_SYNCPOINT_TYPE_FENCE: if (event->handle && event->handle->fence) if (event->handle) dev_err(device->dev, " fence: [%p] %s\n", event->handle->fence, event->handle->fence->name); event->handle->name); else dev_err(device->dev, " fence: invalid\n"); break; Loading Loading @@ -1790,12 +1790,9 @@ EXPORT_SYMBOL(kgsl_cmdbatch_destroy); static void kgsl_cmdbatch_sync_fence_func(void *priv) { struct kgsl_cmdbatch_sync_event *event = priv; char *name = "unknown"; if (event->handle && event->handle->fence) name = event->handle->fence->name; trace_syncpoint_fence_expire(event->cmdbatch, name); trace_syncpoint_fence_expire(event->cmdbatch, event->handle ? event->handle->name : "unknown"); kgsl_cmdbatch_sync_expire(event->device, event); /* Put events that have signaled */ Loading Loading @@ -1856,10 +1853,11 @@ static int kgsl_cmdbatch_add_sync_fence(struct kgsl_device *device, event->handle = kgsl_sync_fence_async_wait(sync->fd, kgsl_cmdbatch_sync_fence_func, event); if (IS_ERR_OR_NULL(event->handle)) { int ret = PTR_ERR(event->handle); event->handle = NULL; /* Failed to add the event to the async callback */ kgsl_cmdbatch_sync_event_put(event); Loading @@ -1882,7 +1880,7 @@ static int kgsl_cmdbatch_add_sync_fence(struct kgsl_device *device, return ret; } trace_syncpoint_fence(cmdbatch, event->handle->fence->name); trace_syncpoint_fence(cmdbatch, event->handle->name); /* * Event was successfully added to the synclist, the async Loading
drivers/gpu/msm/kgsl_sync.c +4 −0 Original line number Diff line number Diff line Loading @@ -403,9 +403,13 @@ struct kgsl_sync_fence_waiter *kgsl_sync_fence_async_wait(int fd, sync_fence_put(fence); return ERR_PTR(-ENOMEM); } kwaiter->fence = fence; kwaiter->priv = priv; kwaiter->func = func; strlcpy(kwaiter->name, fence->name, sizeof(kwaiter->name)); sync_fence_waiter_init((struct sync_fence_waiter *) kwaiter, kgsl_sync_callback); Loading
drivers/gpu/msm/kgsl_sync.h +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ struct kgsl_sync_pt { struct kgsl_sync_fence_waiter { struct sync_fence_waiter waiter; struct sync_fence *fence; char name[32]; void (*func)(void *priv); void *priv; }; Loading