| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/backend/gpu/ |
| H A D | mali_kbase_jm_as.c | 53 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in assign_and_activate_kctx_addr_space() local 56 lockdep_assert_held(&js_devdata->runpool_mutex); in assign_and_activate_kctx_addr_space() 65 kbasep_js_set_submit_allowed(js_devdata, kctx); in assign_and_activate_kctx_addr_space() 122 struct kbasep_js_device_data *js_devdata; in kbase_backend_find_and_release_free_address_space() local 127 js_devdata = &kbdev->js_data; in kbase_backend_find_and_release_free_address_space() 131 mutex_lock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 155 mutex_unlock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 161 kbasep_js_clear_submit_allowed(js_devdata, as_kctx); in kbase_backend_find_and_release_free_address_space() 168 mutex_unlock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 174 mutex_lock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() [all …]
|
| H A D | mali_kbase_js_backend.c | 92 struct kbasep_js_device_data *js_devdata; in timer_callback() local 102 js_devdata = &kbdev->js_data; in timer_callback() 126 js_devdata->soft_stop_ticks_cl; in timer_callback() 128 js_devdata->hard_stop_ticks_cl; in timer_callback() 130 js_devdata->gpu_reset_ticks_cl; in timer_callback() 133 js_devdata->soft_stop_ticks; in timer_callback() 139 js_devdata->hard_stop_ticks_ss; in timer_callback() 141 js_devdata->gpu_reset_ticks_ss; in timer_callback() 186 if (js_devdata->nr_user_contexts_running in timer_callback() 202 js_devdata->scheduling_period_ns in timer_callback() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/backend/gpu/ |
| H A D | mali_kbase_jm_as.c | 50 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in assign_and_activate_kctx_addr_space() local 53 lockdep_assert_held(&js_devdata->runpool_mutex); in assign_and_activate_kctx_addr_space() 60 kbasep_js_set_submit_allowed(js_devdata, kctx); in assign_and_activate_kctx_addr_space() 117 struct kbasep_js_device_data *js_devdata; in kbase_backend_find_and_release_free_address_space() local 122 js_devdata = &kbdev->js_data; in kbase_backend_find_and_release_free_address_space() 126 mutex_lock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 151 mutex_unlock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 157 kbasep_js_clear_submit_allowed(js_devdata, as_kctx); in kbase_backend_find_and_release_free_address_space() 164 mutex_unlock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() 170 mutex_lock(&js_devdata->runpool_mutex); in kbase_backend_find_and_release_free_address_space() [all …]
|
| H A D | mali_kbase_js_backend.c | 94 struct kbasep_js_device_data *js_devdata; in timer_callback() local 104 js_devdata = &kbdev->js_data; in timer_callback() 127 js_devdata->soft_stop_ticks_cl; in timer_callback() 129 js_devdata->hard_stop_ticks_cl; in timer_callback() 131 js_devdata->gpu_reset_ticks_cl; in timer_callback() 134 js_devdata->soft_stop_ticks; in timer_callback() 136 js_devdata->hard_stop_ticks_ss; in timer_callback() 138 js_devdata->gpu_reset_ticks_ss; in timer_callback() 179 if (js_devdata->nr_user_contexts_running in timer_callback() 195 js_devdata->scheduling_period_ns in timer_callback() [all …]
|
| H A D | mali_kbase_js_affinity.c | 216 struct kbasep_js_device_data *js_devdata; in kbase_js_affinity_would_violate() local 221 js_devdata = &kbdev->js_data; in kbase_js_affinity_would_violate() 223 memcpy(new_affinities, js_devdata->runpool_irq.slot_affinities, in kbase_js_affinity_would_violate() 224 sizeof(js_devdata->runpool_irq.slot_affinities)); in kbase_js_affinity_would_violate() 234 struct kbasep_js_device_data *js_devdata; in kbase_js_affinity_retain_slot_cores() local 239 js_devdata = &kbdev->js_data; in kbase_js_affinity_retain_slot_cores() 251 ++(js_devdata->runpool_irq.slot_affinity_refcount[js][bitnum]); in kbase_js_affinity_retain_slot_cores() 254 js_devdata->runpool_irq.slot_affinities[js] |= bit; in kbase_js_affinity_retain_slot_cores() 263 struct kbasep_js_device_data *js_devdata; in kbase_js_affinity_release_slot_cores() local 268 js_devdata = &kbdev->js_data; in kbase_js_affinity_release_slot_cores() [all …]
|
| H A D | mali_kbase_pm_backend.c | 179 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_pm_gpu_poweroff_wait_wq() local 192 mutex_lock(&js_devdata->runpool_mutex); in kbase_pm_gpu_poweroff_wait_wq() 229 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_gpu_poweroff_wait_wq() 231 mutex_lock(&js_devdata->runpool_mutex); in kbase_pm_gpu_poweroff_wait_wq() 255 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_gpu_poweroff_wait_wq() 313 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_hwaccess_pm_powerup() local 319 mutex_lock(&js_devdata->runpool_mutex); in kbase_hwaccess_pm_powerup() 330 mutex_unlock(&js_devdata->runpool_mutex); in kbase_hwaccess_pm_powerup() 365 mutex_unlock(&js_devdata->runpool_mutex); in kbase_hwaccess_pm_powerup() 449 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_hwaccess_pm_suspend() local [all …]
|
| H A D | mali_kbase_jm_hw.c | 238 struct kbasep_js_device_data *js_devdata; in kbase_job_done() local 241 js_devdata = &kbdev->js_data; in kbase_job_done() 699 struct kbasep_js_device_data *js_devdata; in kbase_backend_jm_kill_jobs_from_kctx() local 705 js_devdata = &kbdev->js_data; in kbase_backend_jm_kill_jobs_from_kctx() 1160 struct kbasep_js_device_data *js_devdata; in kbasep_reset_timeout_worker() local 1171 js_devdata = &kbdev->js_data; in kbasep_reset_timeout_worker() 1266 mutex_lock(&js_devdata->runpool_mutex); in kbasep_reset_timeout_worker() 1285 if (js_devdata->nr_contexts_pullable > 0 && !kbdev->poweroff_pending) in kbasep_reset_timeout_worker() 1288 mutex_unlock(&js_devdata->runpool_mutex); in kbasep_reset_timeout_worker() 1382 struct kbasep_js_device_data *js_devdata; in kbasep_try_reset_gpu_early() local [all …]
|
| H A D | mali_kbase_pm_policy.c | 594 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_pm_set_policy() local 608 mutex_lock(&js_devdata->runpool_mutex); in kbase_pm_set_policy() 638 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_set_policy()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/ |
| H A D | mali_kbase_js.h | 608 static inline bool kbasep_js_is_submit_allowed(struct kbasep_js_device_data *js_devdata, struct kba… in kbasep_js_is_submit_allowed() argument 618 return (bool) (js_devdata->runpool_irq.submit_allowed & test_bit); in kbasep_js_is_submit_allowed() 629 static inline void kbasep_js_set_submit_allowed(struct kbasep_js_device_data *js_devdata, struct kb… in kbasep_js_set_submit_allowed() argument 641 js_devdata->runpool_irq.submit_allowed |= set_bit; in kbasep_js_set_submit_allowed() 652 static inline void kbasep_js_clear_submit_allowed(struct kbasep_js_device_data *js_devdata, struct … in kbasep_js_clear_submit_allowed() argument 666 js_devdata->runpool_irq.submit_allowed &= clear_mask; in kbasep_js_clear_submit_allowed() 802 struct kbasep_js_device_data *js_devdata; in kbase_js_runpool_inc_context_count() local 808 js_devdata = &kbdev->js_data; in kbase_js_runpool_inc_context_count() 812 lockdep_assert_held(&js_devdata->runpool_mutex); in kbase_js_runpool_inc_context_count() 815 KBASE_DEBUG_ASSERT(js_devdata->nr_all_contexts_running < S8_MAX); in kbase_js_runpool_inc_context_count() [all …]
|
| H A D | mali_kbase_js.c | 142 struct kbasep_js_device_data *js_devdata; in kbasep_js_runpool_retain_ctx_nolock() local 148 js_devdata = &kbdev->js_data; in kbasep_js_runpool_retain_ctx_nolock() 540 struct kbasep_js_device_data *js_devdata; in kbasep_js_devdata_term() local 545 js_devdata = &kbdev->js_data; in kbasep_js_devdata_term() 549 KBASE_DEBUG_ASSERT(js_devdata->nr_all_contexts_running == 0); in kbasep_js_devdata_term() 551 js_devdata->runpool_irq.ctx_attr_ref_count, in kbasep_js_devdata_term() 903 struct kbasep_js_device_data *js_devdata; in kbase_js_ctx_pullable() local 908 js_devdata = &kctx->kbdev->js_data; in kbase_js_ctx_pullable() 911 if (!kbasep_js_is_submit_allowed(js_devdata, kctx)) in kbase_js_ctx_pullable() 1070 struct kbasep_js_device_data *js_devdata; in kbasep_js_add_job() local [all …]
|
| H A D | mali_kbase_js_ctx_attr.c | 43 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_runpool_retain_attr() local 50 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_runpool_retain_attr() 59 KBASE_DEBUG_ASSERT(js_devdata->runpool_irq.ctx_attr_ref_count[attribute] < S8_MAX); in kbasep_js_ctx_attr_runpool_retain_attr() 60 ++(js_devdata->runpool_irq.ctx_attr_ref_count[attribute]); in kbasep_js_ctx_attr_runpool_retain_attr() 62 if (js_devdata->runpool_irq.ctx_attr_ref_count[attribute] == 1) { in kbasep_js_ctx_attr_runpool_retain_attr() 89 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_runpool_release_attr() local 96 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_runpool_release_attr() 104 KBASE_DEBUG_ASSERT(js_devdata->runpool_irq.ctx_attr_ref_count[attribute] > 0); in kbasep_js_ctx_attr_runpool_release_attr() 105 --(js_devdata->runpool_irq.ctx_attr_ref_count[attribute]); in kbasep_js_ctx_attr_runpool_release_attr() 107 if (js_devdata->runpool_irq.ctx_attr_ref_count[attribute] == 0) { in kbasep_js_ctx_attr_runpool_release_attr()
|
| H A D | mali_kbase_pm.c | 48 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_pm_context_active_handle_suspend() local 62 mutex_lock(&js_devdata->runpool_mutex); in kbase_pm_context_active_handle_suspend() 72 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_context_active_handle_suspend() 98 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_context_active_handle_suspend() 107 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_pm_context_idle() local 121 mutex_lock(&js_devdata->runpool_mutex); in kbase_pm_context_idle() 145 mutex_unlock(&js_devdata->runpool_mutex); in kbase_pm_context_idle()
|
| H A D | mali_kbase_jm.c | 80 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_jm_try_kick() local 84 if (!down_trylock(&js_devdata->schedule_sem)) { in kbase_jm_try_kick() 86 up(&js_devdata->schedule_sem); in kbase_jm_try_kick() 92 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_jm_try_kick_all() local 96 if (!down_trylock(&js_devdata->schedule_sem)) { in kbase_jm_try_kick_all() 98 up(&js_devdata->schedule_sem); in kbase_jm_try_kick_all()
|
| H A D | mali_kbase_js_ctx_attr.h | 119 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_count_on_runpool() local 123 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_count_on_runpool() 125 return js_devdata->runpool_irq.ctx_attr_ref_count[attribute]; in kbasep_js_ctx_attr_count_on_runpool()
|
| H A D | mali_kbase_softjobs.c | 149 struct kbasep_js_device_data *js_devdata = &kctx->kbdev->js_data; in kbase_dump_cpu_gpu_time() local 155 mutex_lock(&js_devdata->runpool_mutex); in kbase_dump_cpu_gpu_time() 156 list_add_tail(&katom->dep_item[1], &js_devdata->suspended_soft_jobs_list); in kbase_dump_cpu_gpu_time() 157 mutex_unlock(&js_devdata->runpool_mutex); in kbase_dump_cpu_gpu_time() 1507 struct kbasep_js_device_data *js_devdata; in kbase_resume_suspended_soft_jobs() local 1512 js_devdata = &kbdev->js_data; in kbase_resume_suspended_soft_jobs() 1515 mutex_lock(&js_devdata->runpool_mutex); in kbase_resume_suspended_soft_jobs() 1516 list_splice_init(&js_devdata->suspended_soft_jobs_list, in kbase_resume_suspended_soft_jobs() 1518 mutex_unlock(&js_devdata->runpool_mutex); in kbase_resume_suspended_soft_jobs()
|
| H A D | mali_kbase_jd.c | 1462 struct kbasep_js_device_data *js_devdata; in kbase_jd_done_worker() local 1477 js_devdata = &kbdev->js_data; in kbase_jd_done_worker() 1488 mutex_lock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1502 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1533 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1544 mutex_lock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1583 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker()
|
| H A D | mali_kbase_mmu.c | 1742 struct kbasep_js_device_data *js_devdata; in kbase_mmu_report_fault_and_kill() local 1750 js_devdata = &kbdev->js_data; in kbase_mmu_report_fault_and_kill() 1794 kbasep_js_clear_submit_allowed(js_devdata, kctx); in kbase_mmu_report_fault_and_kill() 1991 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_mmu_interrupt_process() local 2050 kbasep_js_clear_submit_allowed(js_devdata, kctx); in kbase_mmu_interrupt_process()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/jm/ |
| H A D | mali_kbase_jm_js.h | 690 struct kbasep_js_device_data *js_devdata, in kbasep_js_is_submit_allowed() argument 704 is_allowed = (bool) (js_devdata->runpool_irq.submit_allowed & test_bit); in kbasep_js_is_submit_allowed() 721 struct kbasep_js_device_data *js_devdata, in kbasep_js_set_submit_allowed() argument 737 js_devdata->runpool_irq.submit_allowed |= set_bit; in kbasep_js_set_submit_allowed() 752 struct kbasep_js_device_data *js_devdata, in kbasep_js_clear_submit_allowed() argument 770 js_devdata->runpool_irq.submit_allowed &= clear_mask; in kbasep_js_clear_submit_allowed() 867 struct kbasep_js_device_data *js_devdata; in kbase_js_runpool_inc_context_count() local 870 js_devdata = &kbdev->js_data; in kbase_js_runpool_inc_context_count() 874 lockdep_assert_held(&js_devdata->runpool_mutex); in kbase_js_runpool_inc_context_count() 877 WARN_ON_ONCE(js_devdata->nr_all_contexts_running >= JS_MAX_RUNNING_JOBS); in kbase_js_runpool_inc_context_count() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/ |
| H A D | mali_kbase_js.c | 615 struct kbasep_js_device_data *js_devdata; in kbasep_js_devdata_term() local 617 CSTD_UNUSED(js_devdata); in kbasep_js_devdata_term() 621 js_devdata = &kbdev->js_data; in kbasep_js_devdata_term() 625 KBASE_DEBUG_ASSERT(js_devdata->nr_all_contexts_running == 0); in kbasep_js_devdata_term() 627 js_devdata->runpool_irq.ctx_attr_ref_count, in kbasep_js_devdata_term() 1129 struct kbasep_js_device_data *js_devdata; in kbase_js_ctx_pullable() local 1135 js_devdata = &kbdev->js_data; in kbase_js_ctx_pullable() 1138 if (!kbasep_js_is_submit_allowed(js_devdata, kctx)) { in kbase_js_ctx_pullable() 1503 struct kbasep_js_device_data *js_devdata; in kbasep_js_add_job() local 1514 js_devdata = &kbdev->js_data; in kbasep_js_add_job() [all …]
|
| H A D | mali_kbase_js_ctx_attr.c | 50 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_runpool_retain_attr() local 57 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_runpool_retain_attr() 66 KBASE_DEBUG_ASSERT(js_devdata->runpool_irq.ctx_attr_ref_count[attribute] < S8_MAX); in kbasep_js_ctx_attr_runpool_retain_attr() 67 ++(js_devdata->runpool_irq.ctx_attr_ref_count[attribute]); in kbasep_js_ctx_attr_runpool_retain_attr() 69 if (js_devdata->runpool_irq.ctx_attr_ref_count[attribute] == 1) { in kbasep_js_ctx_attr_runpool_retain_attr() 100 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_runpool_release_attr() local 107 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_runpool_release_attr() 115 KBASE_DEBUG_ASSERT(js_devdata->runpool_irq.ctx_attr_ref_count[attribute] > 0); in kbasep_js_ctx_attr_runpool_release_attr() 116 --(js_devdata->runpool_irq.ctx_attr_ref_count[attribute]); in kbasep_js_ctx_attr_runpool_release_attr() 118 if (js_devdata->runpool_irq.ctx_attr_ref_count[attribute] == 0) { in kbasep_js_ctx_attr_runpool_release_attr()
|
| H A D | mali_kbase_jm.c | 88 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_jm_try_kick() local 92 if (!down_trylock(&js_devdata->schedule_sem)) { in kbase_jm_try_kick() 94 up(&js_devdata->schedule_sem); in kbase_jm_try_kick() 100 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_jm_try_kick_all() local 104 if (!down_trylock(&js_devdata->schedule_sem)) { in kbase_jm_try_kick_all() 106 up(&js_devdata->schedule_sem); in kbase_jm_try_kick_all()
|
| H A D | mali_kbase_js_ctx_attr.h | 112 struct kbasep_js_device_data *js_devdata; in kbasep_js_ctx_attr_count_on_runpool() local 116 js_devdata = &kbdev->js_data; in kbasep_js_ctx_attr_count_on_runpool() 118 return js_devdata->runpool_irq.ctx_attr_ref_count[attribute]; in kbasep_js_ctx_attr_count_on_runpool()
|
| H A D | mali_kbase_softjobs.c | 155 struct kbasep_js_device_data *js_devdata = &kctx->kbdev->js_data; in kbase_dump_cpu_gpu_time() local 161 mutex_lock(&js_devdata->runpool_mutex); in kbase_dump_cpu_gpu_time() 162 list_add_tail(&katom->dep_item[1], &js_devdata->suspended_soft_jobs_list); in kbase_dump_cpu_gpu_time() 163 mutex_unlock(&js_devdata->runpool_mutex); in kbase_dump_cpu_gpu_time() 1729 struct kbasep_js_device_data *js_devdata; in kbase_resume_suspended_soft_jobs() local 1734 js_devdata = &kbdev->js_data; in kbase_resume_suspended_soft_jobs() 1737 mutex_lock(&js_devdata->runpool_mutex); in kbase_resume_suspended_soft_jobs() 1738 list_splice_init(&js_devdata->suspended_soft_jobs_list, in kbase_resume_suspended_soft_jobs() 1740 mutex_unlock(&js_devdata->runpool_mutex); in kbase_resume_suspended_soft_jobs()
|
| H A D | mali_kbase_jd.c | 1241 struct kbasep_js_device_data *js_devdata; in kbase_jd_done_worker() local 1254 js_devdata = &kbdev->js_data; in kbase_jd_done_worker() 1268 mutex_lock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1283 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1316 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1326 mutex_lock(&js_devdata->queue_mutex); in kbase_jd_done_worker() 1366 mutex_unlock(&js_devdata->queue_mutex); in kbase_jd_done_worker()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/mmu/backend/ |
| H A D | mali_kbase_mmu_jm.c | 115 struct kbasep_js_device_data *js_devdata; in kbase_mmu_report_fault_and_kill() local 119 js_devdata = &kbdev->js_data; in kbase_mmu_report_fault_and_kill() 163 kbasep_js_clear_submit_allowed(js_devdata, kctx); in kbase_mmu_report_fault_and_kill() 240 struct kbasep_js_device_data *js_devdata = &kbdev->js_data; in kbase_mmu_interrupt_process() local 259 kbasep_js_clear_submit_allowed(js_devdata, kctx); in kbase_mmu_interrupt_process()
|