2 * Copyright (c) 2016, NVIDIA CORPORATION.
4 * SPDX-License-Identifier: GPL-2.0
8 #include <linux/linkage.h>
10 #define SMC_SIP_INVOKE_MCE 0x82FFFF00
11 #define MCE_SMC_ROC_FLUSH_CACHE (SMC_SIP_INVOKE_MCE | 11)
12 #define MCE_SMC_ROC_FLUSH_CACHE_ONLY (SMC_SIP_INVOKE_MCE | 14)
13 #define MCE_SMC_ROC_CLEAN_CACHE_ONLY (SMC_SIP_INVOKE_MCE | 15)
15 ENTRY(__asm_tegra_cache_smc)
25 ENDPROC(__asm_invalidate_l3_dcache)
27 ENTRY(__asm_invalidate_l3_dcache)
28 mov x0, #(MCE_SMC_ROC_FLUSH_CACHE_ONLY & 0xffff)
29 movk x0, #(MCE_SMC_ROC_FLUSH_CACHE_ONLY >> 16), lsl #16
30 b __asm_tegra_cache_smc
31 ENDPROC(__asm_invalidate_l3_dcache)
33 ENTRY(__asm_flush_l3_dcache)
34 mov x0, #(MCE_SMC_ROC_CLEAN_CACHE_ONLY & 0xffff)
35 movk x0, #(MCE_SMC_ROC_CLEAN_CACHE_ONLY >> 16), lsl #16
36 b __asm_tegra_cache_smc
37 ENDPROC(__asm_flush_l3_dcache)
39 ENTRY(__asm_invalidate_l3_icache)
40 mov x0, #(MCE_SMC_ROC_FLUSH_CACHE & 0xffff)
41 movk x0, #(MCE_SMC_ROC_FLUSH_CACHE >> 16), lsl #16
42 b __asm_tegra_cache_smc
43 ENDPROC(__asm_invalidate_l3_icache)