]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
habanalabs: clear sobs and monitors in context switch
authorDalit Ben Zoor <dbenzoor@habana.ai>
Thu, 30 May 2019 08:46:02 +0000 (08:46 +0000)
committerOded Gabbay <oded.gabbay@gmail.com>
Thu, 30 May 2019 08:46:02 +0000 (08:46 +0000)
On context switch we need to ensure that each user is not be affected by
other user, so we need to clear sync objects and monitors in context
switch instead of in restore_phase_topology function.

Signed-off-by: Dalit Ben Zoor <dbenzoor@habana.ai>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/misc/habanalabs/goya/goya.c

index e0fc511acaec3f48ea575d6c877416ed8f94911e..87859c55b4b889b1017c80e357724593c8b29dd6 100644 (file)
@@ -3919,6 +3919,11 @@ void goya_update_eq_ci(struct hl_device *hdev, u32 val)
 }
 
 void goya_restore_phase_topology(struct hl_device *hdev)
+{
+
+}
+
+static void goya_clear_sm_regs(struct hl_device *hdev)
 {
        int i, num_of_sob_in_longs, num_of_mon_in_longs;
 
@@ -4569,6 +4574,8 @@ int goya_context_switch(struct hl_device *hdev, u32 asid)
        WREG32(mmTPC_PLL_CLK_RLX_0, 0x200020);
        goya_mmu_prepare(hdev, asid);
 
+       goya_clear_sm_regs(hdev);
+
        return 0;
 }