habanalabs/gaudi: move mmu_prepare to context init
authorOfir Bitton <obitton@habana.ai>
Wed, 30 Sep 2020 12:51:10 +0000 (15:51 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Mon, 30 Nov 2020 08:47:27 +0000 (10:47 +0200)
Currently mmu_prepare is located at context switch.
Since we support a single context, no reason to reconfigure
the MMU registers every context switch.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/gaudi/gaudi.c

index 7ea6b43..ac0b4e0 100644 (file)
@@ -4500,8 +4500,6 @@ static int gaudi_context_switch(struct hl_device *hdev, u32 asid)
                return rc;
        }
 
-       gaudi_mmu_prepare(hdev, asid);
-
        gaudi_restore_user_registers(hdev);
 
        return 0;
@@ -6353,6 +6351,8 @@ static enum hl_device_hw_state gaudi_get_hw_state(struct hl_device *hdev)
 
 static int gaudi_ctx_init(struct hl_ctx *ctx)
 {
+       gaudi_mmu_prepare(ctx->hdev, ctx->asid);
+
        return 0;
 }