Example #1
0
void mali_pp_job_delete(struct mali_pp_job *job)
{
#ifdef CONFIG_SYNC
	/* It is safe to delete the work without flushing. */
	if (NULL != job->sync_work) _mali_osk_wq_delete_work_nonflush(job->sync_work);
	if (NULL != job->pre_fence) sync_fence_put(job->pre_fence);
	if (NULL != job->sync_point) sync_fence_put(job->sync_point->fence);
#endif
	if (NULL != job->finished_notification)
	{
		_mali_osk_notification_delete(job->finished_notification);
	}

	_mali_osk_free(job->memory_cookies);

#if defined(CONFIG_DMA_SHARED_BUFFER) && !defined(CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH)
	/* Unmap buffers attached to job */
	if (0 < job->num_dma_bufs)
	{
		mali_dma_buf_unmap_job(job);
	}

	_mali_osk_free(job->dma_bufs);
#endif /* CONFIG_DMA_SHARED_BUFFER */

	_mali_osk_free(job);
}
Example #2
0
void mali_pp_job_delete(struct mali_pp_job *job)
{
#ifdef MTK_CONFIG_SYNC
	/* It is safe to delete the work without flushing. */
	if (NULL != job->sync_work) _mali_osk_wq_delete_work_nonflush(job->sync_work);
	if (NULL != job->pre_fence) sync_fence_put(job->pre_fence);
	if (NULL != job->sync_point) sync_fence_put(job->sync_point->fence);
#endif
	if (NULL != job->finished_notification)
	{
		_mali_osk_notification_delete(job->finished_notification);
	}
	_mali_osk_free(job);
}