From: Dalit Ben Zoor Date: Thu, 30 May 2019 08:46:02 +0000 (+0000) Subject: habanalabs: clear sobs and monitors in context switch X-Git-Tag: v5.3-rc1~127^2~3^2~15 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9c46f7b10fff02f7d7f042b6628d0b48b7a1b66d;p=users%2Fjedix%2Flinux-maple.git 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 Reviewed-by: Oded Gabbay Signed-off-by: Oded Gabbay --- diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c index e0fc511acaec..87859c55b4b8 100644 --- a/drivers/misc/habanalabs/goya/goya.c +++ b/drivers/misc/habanalabs/goya/goya.c @@ -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; }