summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_defs.h
diff options
context:
space:
mode:
authorAnkit Goyal <layog@google.com>2022-02-04 11:19:07 -0800
committerAnkit Goyal <layog@google.com>2022-02-04 11:25:47 -0800
commit2f5da18856d5a2958bbdac0b253ea386396c707f (patch)
treed2777548214686712fcc6949021b3e5724126b7a /mali_kbase/mali_kbase_defs.h
parent1c7550832b3d4526725e383532468c852b3bf185 (diff)
parent5f4f61f8a249880c9ab5a1475daf342353c1f91a (diff)
downloadgpu-2f5da18856d5a2958bbdac0b253ea386396c707f.tar.gz
Merge r35p0 update from gs101 branch to gs201 branch
Change-Id: I161b11a47ce8773d9c7d618c7140d0d66f41a294
Diffstat (limited to 'mali_kbase/mali_kbase_defs.h')
-rw-r--r--mali_kbase/mali_kbase_defs.h37
1 files changed, 25 insertions, 12 deletions
diff --git a/mali_kbase/mali_kbase_defs.h b/mali_kbase/mali_kbase_defs.h
index 0bbfbb1..1e58910 100644
--- a/mali_kbase/mali_kbase_defs.h
+++ b/mali_kbase/mali_kbase_defs.h
@@ -776,6 +776,7 @@ struct kbase_process {
* @hwcnt.addr: HW counter address
* @hwcnt.addr_bytes: HW counter size in bytes
* @hwcnt.backend: Kbase instrumentation backend
+ * @hwcnt_watchdog_timer: Hardware counter watchdog interface.
* @hwcnt_gpu_iface: Backend interface for GPU hardware counter access.
* @hwcnt_gpu_ctx: Context for GPU hardware counter access.
* @hwaccess_lock must be held when calling
@@ -804,8 +805,8 @@ struct kbase_process {
* @cache_clean_in_progress: Set when a cache clean has been started, and
* cleared when it has finished. This prevents multiple
* cache cleans being done simultaneously.
- * @cache_clean_queued: Set if a cache clean is invoked while another is in
- * progress. If this happens, another cache clean needs
+ * @cache_clean_queued: Pended cache clean operations invoked while another is
+ * in progress. If this is not 0, another cache clean needs
* to be triggered immediately after completion of the
* current one.
* @cache_clean_wait: Signalled when a cache clean has finished.
@@ -1034,6 +1035,15 @@ struct kbase_device {
char devname[DEVNAME_SIZE];
u32 id;
+#if IS_ENABLED(CONFIG_MALI_NO_MALI)
+ void *model;
+ struct kmem_cache *irq_slab;
+ struct workqueue_struct *irq_workq;
+ atomic_t serving_job_irq;
+ atomic_t serving_gpu_irq;
+ atomic_t serving_mmu_irq;
+ spinlock_t reg_op_lock;
+#endif /* CONFIG_MALI_NO_MALI */
struct kbase_pm_device_data pm;
struct kbase_mem_pool_group mem_pools;
@@ -1063,6 +1073,7 @@ struct kbase_device {
#if MALI_USE_CSF
struct kbase_hwcnt_backend_csf_if hwcnt_backend_csf_if_fw;
+ struct kbase_hwcnt_watchdog_interface hwcnt_watchdog_timer;
#else
struct kbase_hwcnt {
spinlock_t lock;
@@ -1092,7 +1103,7 @@ struct kbase_device {
u64 lowest_gpu_freq_khz;
bool cache_clean_in_progress;
- bool cache_clean_queued;
+ u32 cache_clean_queued;
wait_queue_head_t cache_clean_wait;
void *platform_context;
@@ -1637,6 +1648,12 @@ struct kbase_sub_alloc {
* pages used for GPU allocations, done for the context,
* to the memory consumed by the process.
* @gpu_va_end: End address of the GPU va space (in 4KB page units)
+ * @running_total_tiler_heap_nr_chunks: Running total of number of chunks in all
+ * tiler heaps of the kbase context.
+ * @running_total_tiler_heap_memory: Running total of the tiler heap memory in the
+ * kbase context.
+ * @peak_total_tiler_heap_memory: Peak value of the total tiler heap memory in the
+ * kbase context.
* @jit_va: Indicates if a JIT_VA zone has been created.
* @mem_profile_data: Buffer containing the profiling information provided by
* Userspace, can be read through the mem_profile debugfs file.
@@ -1663,11 +1680,6 @@ struct kbase_sub_alloc {
* @slots_pullable: Bitmask of slots, indicating the slots for which the
* context has pullable atoms in the runnable tree.
* @work: Work structure used for deferred ASID assignment.
- * @legacy_hwcnt_cli: Pointer to the legacy userspace hardware counters
- * client, there can be only such client per kbase
- * context.
- * @legacy_hwcnt_lock: Lock used to prevent concurrent access to
- * @legacy_hwcnt_cli.
* @completed_jobs: List containing completed atoms for which base_jd_event is
* to be posted.
* @work_count: Number of work items, corresponding to atoms, currently
@@ -1850,6 +1862,11 @@ struct kbase_context {
spinlock_t mm_update_lock;
struct mm_struct __rcu *process_mm;
u64 gpu_va_end;
+#if MALI_USE_CSF
+ u32 running_total_tiler_heap_nr_chunks;
+ u64 running_total_tiler_heap_memory;
+ u64 peak_total_tiler_heap_memory;
+#endif
bool jit_va;
#if IS_ENABLED(CONFIG_DEBUG_FS)
@@ -1863,10 +1880,6 @@ struct kbase_context {
struct list_head job_fault_resume_event_list;
#endif /* CONFIG_DEBUG_FS */
-
- struct kbase_hwcnt_legacy_client *legacy_hwcnt_cli;
- struct mutex legacy_hwcnt_lock;
-
struct kbase_va_region *jit_alloc[1 + BASE_JIT_ALLOC_COUNT];
u8 jit_max_allocations;
u8 jit_current_allocations;