blob: 3c47208a10229104e74a7e5992a0fd13036fff95 [file] [log] [blame]
Varun Wadekarecd6a5a2018-04-09 17:48:58 -07001/*
2 * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <arch.h>
8#include <asm_macros.S>
9
10 .globl nvg_set_request_data
11 .globl nvg_set_request
12 .globl nvg_get_result
Steven Kao238d6d22017-08-16 20:12:00 +080013 .globl nvg_cache_clean
14 .globl nvg_cache_clean_inval
15 .globl nvg_cache_inval_all
Varun Wadekarecd6a5a2018-04-09 17:48:58 -070016
17/* void nvg_set_request_data(uint64_t req, uint64_t data) */
18func nvg_set_request_data
19 msr s3_0_c15_c1_2, x0
20 msr s3_0_c15_c1_3, x1
21 ret
22endfunc nvg_set_request_data
23
24/* void nvg_set_request(uint64_t req) */
25func nvg_set_request
26 msr s3_0_c15_c1_2, x0
27 ret
28endfunc nvg_set_request
29
30/* uint64_t nvg_get_result(void) */
31func nvg_get_result
32 mrs x0, s3_0_c15_c1_3
33 ret
34endfunc nvg_get_result
Steven Kao238d6d22017-08-16 20:12:00 +080035
36/* uint64_t nvg_cache_clean(void) */
37func nvg_cache_clean
38 mrs x0, s3_0_c15_c3_5
39 ret
40endfunc nvg_cache_clean
41
42/* uint64_t nvg_cache_clean_inval(void) */
43func nvg_cache_clean_inval
44 mrs x0, s3_0_c15_c3_6
45 ret
46endfunc nvg_cache_clean_inval
47
48/* uint64_t nvg_cache_inval_all(void) */
49func nvg_cache_inval_all
50 mrs x0, s3_0_c15_c3_7
51 ret
52endfunc nvg_cache_inval_all