From 192bd796c27ac6eb9443af4b7e027294316f7c5b Mon Sep 17 00:00:00 2001 From: Sidath Senanayake Date: Wed, 9 Nov 2016 14:14:45 +0100 Subject: Mali Bifrost DDK r1p0 KMD Provenance: 9f8289b33 (collaborate/EAC/b_r1p0) BX304L01B-BU-00000-r1p0-01rel0 BX304L06A-BU-00000-r1p0-01rel0 BX304X07X-BU-00000-r1p0-01bet0 Signed-off-by: Sidath Senanayake Change-Id: I1559e84ef1f3853e66978a6c12307e766b31e30f --- mali_kbase/mali_kbase_hwaccess_jm.h | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'mali_kbase/mali_kbase_hwaccess_jm.h') diff --git a/mali_kbase/mali_kbase_hwaccess_jm.h b/mali_kbase/mali_kbase_hwaccess_jm.h index 2efa293..abe6607 100644 --- a/mali_kbase/mali_kbase_hwaccess_jm.h +++ b/mali_kbase/mali_kbase_hwaccess_jm.h @@ -1,6 +1,6 @@ /* * - * (C) COPYRIGHT 2014-2015 ARM Limited. All rights reserved. + * (C) COPYRIGHT 2014-2016 ARM Limited. All rights reserved. * * This program is free software and is provided to you under the terms of the * GNU General Public License version 2 as published by the Free Software @@ -71,9 +71,7 @@ void kbase_backend_release_free_address_space(struct kbase_device *kbdev, * * kbase_gpu_next_job() will pull atoms from the active context. * - * Return: true if successful, false if ASID not assigned. If kctx->as_pending - * is true then ASID assignment will complete at some point in the - * future and will re-start scheduling, otherwise no ASIDs are available + * Return: true if successful, false if ASID not assigned. */ bool kbase_backend_use_ctx(struct kbase_device *kbdev, struct kbase_context *kctx, @@ -213,6 +211,15 @@ int kbase_backend_nr_atoms_submitted(struct kbase_device *kbdev, int js); */ void kbase_backend_ctx_count_changed(struct kbase_device *kbdev); +/** + * kbase_backend_timeouts_changed() - Job Scheduler timeouts have changed. + * @kbdev: Device pointer + * + * Perform any required backend-specific actions (eg updating timeouts of + * currently running atoms). + */ +void kbase_backend_timeouts_changed(struct kbase_device *kbdev); + /** * kbase_backend_slot_free() - Return the number of jobs that can be currently * submitted to slot @js. @@ -319,6 +326,28 @@ bool kbase_prepare_to_reset_gpu_locked(struct kbase_device *kbdev); * signalled to know when the reset has completed. */ void kbase_reset_gpu_locked(struct kbase_device *kbdev); + +/** + * kbase_reset_gpu_silent - Reset the GPU silently + * @kbdev: Device pointer + * + * Reset the GPU without trying to cancel jobs and don't emit messages into + * the kernel log while doing the reset. + * + * This function should be used in cases where we are doing a controlled reset + * of the GPU as part of normal processing (e.g. exiting protected mode) where + * the driver will have ensured the scheduler has been idled and all other + * users of the GPU (e.g. instrumentation) have been suspended. + */ +void kbase_reset_gpu_silent(struct kbase_device *kbdev); + +/** + * kbase_reset_gpu_active - Reports if the GPU is being reset + * @kbdev: Device pointer + * + * Return: True if the GPU is in the process of being reset. + */ +bool kbase_reset_gpu_active(struct kbase_device *kbdev); #endif /** -- cgit v1.2.3