diff options
author | Sidath Senanayake <sidaths@google.com> | 2019-06-27 14:37:54 +0200 |
---|---|---|
committer | Sidath Senanayake <sidaths@google.com> | 2019-06-27 14:37:54 +0200 |
commit | 228451ed83f4840e863beff27b33ca9a460f820b (patch) | |
tree | dd7cbcae7ac302e9d381d95251ad5a0298bec5ae /mali_kbase/mali_kbase.h | |
parent | ac90f0dd5fbae0b94e9720203a8bb2e81fd4b679 (diff) | |
download | gpu-228451ed83f4840e863beff27b33ca9a460f820b.tar.gz |
Mali Valhall DDK r19p0 KMD
Provenance:
95928c7e8 (collaborate/EAC/v_r19p0)
VX504X08X-BU-00000-r19p0-01rel0 - Android DDK
NOTE: This is identical to the Bifrost r19p0 KMD as the
only differences between b_r19p0 and v_r19p0 are outside
of the KMD. So as far as the KMD goes, 95928c7e8 and
d441d721a in Collaborate are identical.
Signed-off-by: Sidath Senanayake <sidaths@google.com>
Change-Id: I261cba9d04daaf8c5ca55e4cb319cf47402dc5f4
Diffstat (limited to 'mali_kbase/mali_kbase.h')
-rw-r--r-- | mali_kbase/mali_kbase.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/mali_kbase/mali_kbase.h b/mali_kbase/mali_kbase.h index a5cdd2a..e3f209c 100644 --- a/mali_kbase/mali_kbase.h +++ b/mali_kbase/mali_kbase.h @@ -82,6 +82,11 @@ #define u64_to_user_ptr(x) ((void __user *)(uintptr_t)x) #endif + +/* Physical memory group ID for a special page which can alias several regions. + */ +#define KBASE_MEM_GROUP_SINK BASE_MEM_GROUP_DEFAULT + /* * Kernel-side Base (KBase) APIs */ @@ -109,7 +114,6 @@ int kbase_device_has_feature(struct kbase_device *kbdev, u32 feature); struct kbase_device *kbase_find_device(int minor); void kbase_release_device(struct kbase_device *kbdev); - /** * kbase_context_get_unmapped_area() - get an address range which is currently * unmapped. @@ -201,6 +205,16 @@ bool jd_submit_atom(struct kbase_context *kctx, struct kbase_jd_atom *katom); void kbase_jd_dep_clear_locked(struct kbase_jd_atom *katom); +/** + * kbase_job_done - Process completed jobs from job interrupt + * @kbdev: Pointer to the kbase device. + * @done: Bitmask of done or failed jobs, from JOB_IRQ_STAT register + * + * This function processes the completed, or failed, jobs from the GPU job + * slots, for the bits set in the @done bitmask. + * + * The hwaccess_lock must be held when calling this function. + */ void kbase_job_done(struct kbase_device *kbdev, u32 done); /** @@ -314,8 +328,6 @@ int kbase_soft_event_update(struct kbase_context *kctx, u64 event, unsigned char new_status); -bool kbase_replay_process(struct kbase_jd_atom *katom); - void kbasep_soft_job_timeout_worker(struct timer_list *timer); void kbasep_complete_triggered_soft_events(struct kbase_context *kctx, u64 evt); @@ -405,9 +417,8 @@ static inline struct kbase_jd_atom *kbase_jd_atom_from_id( * the counter during disjoint events we also increment the counter when jobs may be affected * by what the GPU is currently doing. To facilitate this we have the concept of disjoint state. * - * Disjoint state is entered during GPU reset and for the entire time that an atom is replaying - * (as part of the replay workaround). Increasing the disjoint state also increases the count of - * disjoint events. + * Disjoint state is entered during GPU reset. Increasing the disjoint state also increases + * the count of disjoint events. * * The disjoint state is then used to increase the count of disjoint events during job submission * and job completion. Any atom submitted or completed while the disjoint state is greater than |