static void nvhost_syncpt_deinit_timeline(struct nvhost_syncpt *sp) { #if CONFIG_TEGRA_GRHOST_SYNC int i; for (i = 0; i < nvhost_syncpt_nb_pts(sp); i++) { if (sp->timeline && sp->timeline[i]) { sync_timeline_destroy( (struct sync_timeline *)sp->timeline[i]); } } kfree(sp->timeline); sp->timeline = NULL; if (sp->timeline_invalid) sync_timeline_destroy((struct sync_timeline *)sp->timeline_invalid); #endif }
static int sw_sync_release(struct inode *inode, struct file *file) { struct sw_sync_timeline *obj = file->private_data; sync_timeline_destroy(&obj->obj); return 0; }
void i915_sync_timeline_destroy(struct intel_ring_buffer *ring) { if (ring->timeline) { sync_timeline_destroy(&ring->timeline->obj); ring->timeline = NULL; } }
static int mali_stream_close(struct inode * inode, struct file * file) { struct sync_timeline * tl; tl = (struct sync_timeline*)file->private_data; BUG_ON(!tl); sync_timeline_destroy(tl); return 0; }
void sde_fence_deinit(struct sde_fence *fence) { if (!fence) { SDE_ERROR("invalid fence\n"); return; } mutex_destroy(&fence->fence_lock); if (fence->timeline) sync_timeline_destroy(fence->timeline); }
void k3fb_buf_sync_unregister(struct platform_device *pdev) { struct k3_fb_data_type *k3fd = NULL; BUG_ON(pdev == NULL); k3fd = platform_get_drvdata(pdev); BUG_ON(k3fd == NULL); K3_FB_DEBUG("fb%d, +.\n", k3fd->index); if (k3fd->buf_sync_ctrl.timeline) { sync_timeline_destroy((struct sync_timeline *)k3fd->buf_sync_ctrl.timeline); k3fd->buf_sync_ctrl.timeline = NULL; } K3_FB_DEBUG("fb%d, -.\n", k3fd->index); }
int sprd_destroy_timeline(struct sync_timeline_data *parent) { struct sprd_sync_timeline *obj = NULL; if (parent->timeline == NULL) { printk(KERN_ERR "sprd_fence timeline has been released\n"); return 0; } mutex_lock(&(parent->sync_mutex)); obj = parent->timeline; sync_timeline_destroy(&obj->obj); mutex_unlock(&(parent->sync_mutex)); return 0; }
mali_error kbase_stream_create(const char *name, int *const out_fd) { struct sync_timeline *tl; BUG_ON(!out_fd); tl = kbase_sync_timeline_alloc(name); if (!tl) return MALI_ERROR_FUNCTION_FAILED; *out_fd = anon_inode_getfd(name, &stream_fops, tl, O_RDONLY | O_CLOEXEC); if (*out_fd < 0) { sync_timeline_destroy(tl); return MALI_ERROR_FUNCTION_FAILED; } else { return MALI_ERROR_NONE; } }
int kbase_stream_create(const char *name, int *const out_fd) { struct sync_timeline *tl; BUG_ON(!out_fd); tl = kbase_sync_timeline_alloc(name); if (!tl) return -EINVAL; *out_fd = anon_inode_getfd(name, &stream_fops, tl, O_RDONLY | O_CLOEXEC); if (*out_fd < 0) { sync_timeline_destroy(tl); return -EINVAL; } return 0; }
_mali_osk_errcode_t mali_stream_create(const char * name, int *out_fd) { struct sync_timeline * tl; BUG_ON(!out_fd); tl = mali_sync_timeline_alloc(name); if (!tl) { return _MALI_OSK_ERR_FAULT; } *out_fd = anon_inode_getfd(name, &stream_fops, tl, O_RDONLY | O_CLOEXEC); if (*out_fd < 0) { sync_timeline_destroy(tl); return _MALI_OSK_ERR_FAULT; } else { return _MALI_OSK_ERR_OK; } }
void kgsl_sync_timeline_destroy(struct kgsl_context *context) { sync_timeline_destroy(context->timeline); }
void timeline_destroy(struct sw_sync_timeline *obj) { sync_timeline_destroy(&obj->obj); }