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); }
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); }