diff options
author | Kevin Park <Youngeun.Park@arm.com> | 2023-12-08 17:01:50 +0000 |
---|---|---|
committer | Renato Grottesi <otaner@google.com> | 2023-12-11 12:57:25 +0000 |
commit | 2226bae46b7a606e97a9ced0e91d7209cd04758c (patch) | |
tree | c5d287e0fd9699c37b4c42a40ece494c848f5b5a /mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c | |
parent | cab5dbbee97ee9e3baa41d00372363a2f53196e0 (diff) | |
download | gpu-2226bae46b7a606e97a9ced0e91d7209cd04758c.tar.gz |
Fix deadlock BTW user thread and page fault worker
MIDCET-4882,GPUCORE-40989 Break deadlock BTW user thread and page fault worker
This commit adds a RW semaphore 1> to prevent MMU operations during
P.Mode entrance and 2> to break the deadlock on 'kctx reg_lock'
between user thread and page-fault worker thread.
Bug: 301064831
Signed-off-by: Renato Grottesi <otaner@google.com>
Test: manual run of the use case from the ticket
Provenance: https://code.ipdelivery.arm.com/c/GPU/mali-ddk/+/6221
Change-Id: I692f8fafc558a6a45b5ca4210aa3f66c2617553f
Diffstat (limited to 'mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c')
-rw-r--r-- | mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c b/mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c index 764c18d..93d7c36 100644 --- a/mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c +++ b/mali_kbase/csf/mali_kbase_csf_firmware_no_mali.c @@ -1179,6 +1179,7 @@ int kbase_csf_firmware_early_init(struct kbase_device *kbdev) kbase_csf_firmware_reload_worker); INIT_WORK(&kbdev->csf.fw_error_work, firmware_error_worker); + init_rwsem(&kbdev->csf.pmode_sync_sem); mutex_init(&kbdev->csf.reg_lock); kbase_csf_pending_gpuq_kicks_init(kbdev); |