habanalabs: clear sobs and monitors in context switch

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>
This commit is contained in:
Dalit Ben Zoor 2019-05-30 08:46:02 +00:00 committed by Oded Gabbay
parent a513f9a7ec
commit 9c46f7b10f

View 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) 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; 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); WREG32(mmTPC_PLL_CLK_RLX_0, 0x200020);
goya_mmu_prepare(hdev, asid); goya_mmu_prepare(hdev, asid);
goya_clear_sm_regs(hdev);
return 0; return 0;
} }