diff options
author | Seema Khowala <seemaj@nvidia.com> | 2018-01-23 15:16:40 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-31 16:23:30 -0500 |
commit | 791ce6bd5480a8393c12be55e8afa459cb4dd1ff (patch) | |
tree | c34ed1f076bec31bfc5b87a7fa490eb28a2789d6 /drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | |
parent | 9beefc45516097db2eabf2887ff66d3334ff9fde (diff) |
gpu: nvgpu: gv11b: enable more gr exceptions
-pd, scc, ds, ssync, mme and sked exceptions are
enabled. This will be useful for debugging
-Handle enabled interrupts
-Add gr ops to handle ssync hww. For legacy
chips, ssync hww_esr register is gpcs_ppcs_ssync_hww_esr.
Since ssync hww is not enabled on legacy chips, added
ssync hww exception handling for volta only.
Change-Id: I63ba2eb51fa82e74832df26ee4cf3546458e5669
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1644751
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h index a4bcce42..d34dcf33 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | |||
@@ -184,6 +184,22 @@ static inline u32 gr_exception_sked_m(void) | |||
184 | { | 184 | { |
185 | return 0x1U << 8U; | 185 | return 0x1U << 8U; |
186 | } | 186 | } |
187 | static inline u32 gr_exception_pd_m(void) | ||
188 | { | ||
189 | return 0x1U << 2U; | ||
190 | } | ||
191 | static inline u32 gr_exception_scc_m(void) | ||
192 | { | ||
193 | return 0x1U << 3U; | ||
194 | } | ||
195 | static inline u32 gr_exception_ssync_m(void) | ||
196 | { | ||
197 | return 0x1U << 5U; | ||
198 | } | ||
199 | static inline u32 gr_exception_mme_m(void) | ||
200 | { | ||
201 | return 0x1U << 7U; | ||
202 | } | ||
187 | static inline u32 gr_exception1_r(void) | 203 | static inline u32 gr_exception1_r(void) |
188 | { | 204 | { |
189 | return 0x00400118U; | 205 | return 0x00400118U; |
@@ -232,6 +248,46 @@ static inline u32 gr_exception_en_ds_enabled_f(void) | |||
232 | { | 248 | { |
233 | return 0x10U; | 249 | return 0x10U; |
234 | } | 250 | } |
251 | static inline u32 gr_exception_en_pd_m(void) | ||
252 | { | ||
253 | return 0x1U << 2U; | ||
254 | } | ||
255 | static inline u32 gr_exception_en_pd_enabled_f(void) | ||
256 | { | ||
257 | return 0x4U; | ||
258 | } | ||
259 | static inline u32 gr_exception_en_scc_m(void) | ||
260 | { | ||
261 | return 0x1U << 3U; | ||
262 | } | ||
263 | static inline u32 gr_exception_en_scc_enabled_f(void) | ||
264 | { | ||
265 | return 0x8U; | ||
266 | } | ||
267 | static inline u32 gr_exception_en_ssync_m(void) | ||
268 | { | ||
269 | return 0x1U << 5U; | ||
270 | } | ||
271 | static inline u32 gr_exception_en_ssync_enabled_f(void) | ||
272 | { | ||
273 | return 0x20U; | ||
274 | } | ||
275 | static inline u32 gr_exception_en_mme_m(void) | ||
276 | { | ||
277 | return 0x1U << 7U; | ||
278 | } | ||
279 | static inline u32 gr_exception_en_mme_enabled_f(void) | ||
280 | { | ||
281 | return 0x80U; | ||
282 | } | ||
283 | static inline u32 gr_exception_en_sked_m(void) | ||
284 | { | ||
285 | return 0x1U << 8U; | ||
286 | } | ||
287 | static inline u32 gr_exception_en_sked_enabled_f(void) | ||
288 | { | ||
289 | return 0x100U; | ||
290 | } | ||
235 | static inline u32 gr_exception1_en_r(void) | 291 | static inline u32 gr_exception1_en_r(void) |
236 | { | 292 | { |
237 | return 0x00400130U; | 293 | return 0x00400130U; |
@@ -1408,6 +1464,10 @@ static inline u32 gr_fe_hww_esr_en_enable_f(void) | |||
1408 | { | 1464 | { |
1409 | return 0x80000000U; | 1465 | return 0x80000000U; |
1410 | } | 1466 | } |
1467 | static inline u32 gr_fe_hww_esr_info_r(void) | ||
1468 | { | ||
1469 | return 0x004041b0U; | ||
1470 | } | ||
1411 | static inline u32 gr_gpcs_tpcs_sms_hww_global_esr_report_mask_r(void) | 1471 | static inline u32 gr_gpcs_tpcs_sms_hww_global_esr_report_mask_r(void) |
1412 | { | 1472 | { |
1413 | return 0x00419eacU; | 1473 | return 0x00419eacU; |
@@ -1536,6 +1596,10 @@ static inline u32 gr_mme_hww_esr_en_enable_f(void) | |||
1536 | { | 1596 | { |
1537 | return 0x80000000U; | 1597 | return 0x80000000U; |
1538 | } | 1598 | } |
1599 | static inline u32 gr_mme_hww_esr_info_r(void) | ||
1600 | { | ||
1601 | return 0x00404494U; | ||
1602 | } | ||
1539 | static inline u32 gr_memfmt_hww_esr_r(void) | 1603 | static inline u32 gr_memfmt_hww_esr_r(void) |
1540 | { | 1604 | { |
1541 | return 0x00404600U; | 1605 | return 0x00404600U; |
@@ -2980,6 +3044,18 @@ static inline u32 gr_scc_hww_esr_en_enable_f(void) | |||
2980 | { | 3044 | { |
2981 | return 0x80000000U; | 3045 | return 0x80000000U; |
2982 | } | 3046 | } |
3047 | static inline u32 gr_ssync_hww_esr_r(void) | ||
3048 | { | ||
3049 | return 0x00405a14U; | ||
3050 | } | ||
3051 | static inline u32 gr_ssync_hww_esr_reset_active_f(void) | ||
3052 | { | ||
3053 | return 0x40000000U; | ||
3054 | } | ||
3055 | static inline u32 gr_ssync_hww_esr_en_enable_f(void) | ||
3056 | { | ||
3057 | return 0x80000000U; | ||
3058 | } | ||
2983 | static inline u32 gr_sked_hww_esr_r(void) | 3059 | static inline u32 gr_sked_hww_esr_r(void) |
2984 | { | 3060 | { |
2985 | return 0x00407020U; | 3061 | return 0x00407020U; |