diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h b/drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h index 65d91de6..1ca80d29 100644 --- a/drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/hw_perf_gk20a.h | |||
@@ -50,6 +50,38 @@ | |||
50 | #ifndef _hw_perf_gk20a_h_ | 50 | #ifndef _hw_perf_gk20a_h_ |
51 | #define _hw_perf_gk20a_h_ | 51 | #define _hw_perf_gk20a_h_ |
52 | 52 | ||
53 | static inline u32 perf_pmasys_control_r(void) | ||
54 | { | ||
55 | return 0x001b4000; | ||
56 | } | ||
57 | static inline u32 perf_pmasys_control_membuf_status_v(u32 r) | ||
58 | { | ||
59 | return (r >> 4) & 0x1; | ||
60 | } | ||
61 | static inline u32 perf_pmasys_control_membuf_status_overflowed_v(void) | ||
62 | { | ||
63 | return 0x00000001; | ||
64 | } | ||
65 | static inline u32 perf_pmasys_control_membuf_status_overflowed_f(void) | ||
66 | { | ||
67 | return 0x10; | ||
68 | } | ||
69 | static inline u32 perf_pmasys_control_membuf_clear_status_f(u32 v) | ||
70 | { | ||
71 | return (v & 0x1) << 5; | ||
72 | } | ||
73 | static inline u32 perf_pmasys_control_membuf_clear_status_v(u32 r) | ||
74 | { | ||
75 | return (r >> 5) & 0x1; | ||
76 | } | ||
77 | static inline u32 perf_pmasys_control_membuf_clear_status_doit_v(void) | ||
78 | { | ||
79 | return 0x00000001; | ||
80 | } | ||
81 | static inline u32 perf_pmasys_control_membuf_clear_status_doit_f(void) | ||
82 | { | ||
83 | return 0x20; | ||
84 | } | ||
53 | static inline u32 perf_pmasys_mem_block_r(void) | 85 | static inline u32 perf_pmasys_mem_block_r(void) |
54 | { | 86 | { |
55 | return 0x001b4070; | 87 | return 0x001b4070; |
@@ -74,6 +106,22 @@ static inline u32 perf_pmasys_mem_block_target_lfb_f(void) | |||
74 | { | 106 | { |
75 | return 0x0; | 107 | return 0x0; |
76 | } | 108 | } |
109 | static inline u32 perf_pmasys_mem_block_target_sys_coh_v(void) | ||
110 | { | ||
111 | return 0x00000002; | ||
112 | } | ||
113 | static inline u32 perf_pmasys_mem_block_target_sys_coh_f(void) | ||
114 | { | ||
115 | return 0x20000000; | ||
116 | } | ||
117 | static inline u32 perf_pmasys_mem_block_target_sys_ncoh_v(void) | ||
118 | { | ||
119 | return 0x00000003; | ||
120 | } | ||
121 | static inline u32 perf_pmasys_mem_block_target_sys_ncoh_f(void) | ||
122 | { | ||
123 | return 0x30000000; | ||
124 | } | ||
77 | static inline u32 perf_pmasys_mem_block_valid_f(u32 v) | 125 | static inline u32 perf_pmasys_mem_block_valid_f(u32 v) |
78 | { | 126 | { |
79 | return (v & 0x1) << 31; | 127 | return (v & 0x1) << 31; |
@@ -102,6 +150,10 @@ static inline u32 perf_pmasys_outbase_r(void) | |||
102 | { | 150 | { |
103 | return 0x001b4074; | 151 | return 0x001b4074; |
104 | } | 152 | } |
153 | static inline u32 perf_pmasys_outbase_ptr_f(u32 v) | ||
154 | { | ||
155 | return (v & 0x7ffffff) << 5; | ||
156 | } | ||
105 | static inline u32 perf_pmasys_outbaseupper_r(void) | 157 | static inline u32 perf_pmasys_outbaseupper_r(void) |
106 | { | 158 | { |
107 | return 0x001b4078; | 159 | return 0x001b4078; |
@@ -114,4 +166,40 @@ static inline u32 perf_pmasys_outsize_r(void) | |||
114 | { | 166 | { |
115 | return 0x001b407c; | 167 | return 0x001b407c; |
116 | } | 168 | } |
169 | static inline u32 perf_pmasys_outsize_numbytes_f(u32 v) | ||
170 | { | ||
171 | return (v & 0x7ffffff) << 5; | ||
172 | } | ||
173 | static inline u32 perf_pmasys_mem_bytes_r(void) | ||
174 | { | ||
175 | return 0x001b4084; | ||
176 | } | ||
177 | static inline u32 perf_pmasys_mem_bytes_numbytes_f(u32 v) | ||
178 | { | ||
179 | return (v & 0xfffffff) << 4; | ||
180 | } | ||
181 | static inline u32 perf_pmasys_mem_bump_r(void) | ||
182 | { | ||
183 | return 0x001b4088; | ||
184 | } | ||
185 | static inline u32 perf_pmasys_mem_bump_numbytes_f(u32 v) | ||
186 | { | ||
187 | return (v & 0xfffffff) << 4; | ||
188 | } | ||
189 | static inline u32 perf_pmasys_enginestatus_r(void) | ||
190 | { | ||
191 | return 0x001b40a4; | ||
192 | } | ||
193 | static inline u32 perf_pmasys_enginestatus_rbufempty_f(u32 v) | ||
194 | { | ||
195 | return (v & 0x1) << 4; | ||
196 | } | ||
197 | static inline u32 perf_pmasys_enginestatus_rbufempty_empty_v(void) | ||
198 | { | ||
199 | return 0x00000001; | ||
200 | } | ||
201 | static inline u32 perf_pmasys_enginestatus_rbufempty_empty_f(void) | ||
202 | { | ||
203 | return 0x10; | ||
204 | } | ||
117 | #endif | 205 | #endif |