diff options
author | Lakshmanan M <lm@nvidia.com> | 2017-05-19 06:10:41 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-05-19 12:44:25 -0400 |
commit | 45ca7cb8c5774cfc15015973b1883faa1d93b9e6 (patch) | |
tree | 0be9fbe523935b1f07be019f28b72f991fbf216e /drivers/gpu/nvgpu/include | |
parent | 5a08eafbe076fba98de62883636ee6b0751cf7e9 (diff) |
gpu: nvgpu: gv11b: Add GCC L1.5 parity support
Add handling of GCC L1.5 parity exception.
JIRA GPUT19X-86
Change-Id: Ie83fc306d3dff79b0ddaf2616dcf0ff71fccd4ca
Signed-off-by: Lakshmanan M <lm@nvidia.com>
Reviewed-on: http://git-master/r/1485834
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | 64 |
1 files changed, 64 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 4ce69743..6f38cf5b 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 | |||
@@ -3370,6 +3370,10 @@ static inline u32 gr_gpcs_gpccs_gpc_exception_en_r(void) | |||
3370 | { | 3370 | { |
3371 | return 0x0041ac94; | 3371 | return 0x0041ac94; |
3372 | } | 3372 | } |
3373 | static inline u32 gr_gpcs_gpccs_gpc_exception_en_gcc_f(u32 v) | ||
3374 | { | ||
3375 | return (v & 0x1) << 2; | ||
3376 | } | ||
3373 | static inline u32 gr_gpcs_gpccs_gpc_exception_en_tpc_f(u32 v) | 3377 | static inline u32 gr_gpcs_gpccs_gpc_exception_en_tpc_f(u32 v) |
3374 | { | 3378 | { |
3375 | return (v & 0xff) << 16; | 3379 | return (v & 0xff) << 16; |
@@ -3378,6 +3382,10 @@ static inline u32 gr_gpc0_gpccs_gpc_exception_r(void) | |||
3378 | { | 3382 | { |
3379 | return 0x00502c90; | 3383 | return 0x00502c90; |
3380 | } | 3384 | } |
3385 | static inline u32 gr_gpc0_gpccs_gpc_exception_gcc_v(u32 r) | ||
3386 | { | ||
3387 | return (r >> 2) & 0x1; | ||
3388 | } | ||
3381 | static inline u32 gr_gpc0_gpccs_gpc_exception_tpc_v(u32 r) | 3389 | static inline u32 gr_gpc0_gpccs_gpc_exception_tpc_v(u32 r) |
3382 | { | 3390 | { |
3383 | return (r >> 16) & 0xff; | 3391 | return (r >> 16) & 0xff; |
@@ -3386,6 +3394,62 @@ static inline u32 gr_gpc0_gpccs_gpc_exception_tpc_0_pending_v(void) | |||
3386 | { | 3394 | { |
3387 | return 0x00000001; | 3395 | return 0x00000001; |
3388 | } | 3396 | } |
3397 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_r(void) | ||
3398 | { | ||
3399 | return 0x00501048; | ||
3400 | } | ||
3401 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_corrected_err_bank0_m(void) | ||
3402 | { | ||
3403 | return 0x1 << 0; | ||
3404 | } | ||
3405 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_corrected_err_bank1_m(void) | ||
3406 | { | ||
3407 | return 0x1 << 1; | ||
3408 | } | ||
3409 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_uncorrected_err_bank0_m(void) | ||
3410 | { | ||
3411 | return 0x1 << 4; | ||
3412 | } | ||
3413 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_uncorrected_err_bank1_m(void) | ||
3414 | { | ||
3415 | return 0x1 << 5; | ||
3416 | } | ||
3417 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_corrected_err_total_counter_overflow_v(u32 r) | ||
3418 | { | ||
3419 | return (r >> 8) & 0x1; | ||
3420 | } | ||
3421 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_uncorrected_err_total_counter_overflow_v(u32 r) | ||
3422 | { | ||
3423 | return (r >> 10) & 0x1; | ||
3424 | } | ||
3425 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_status_reset_task_f(void) | ||
3426 | { | ||
3427 | return 0x40000000; | ||
3428 | } | ||
3429 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_corrected_err_count_r(void) | ||
3430 | { | ||
3431 | return 0x0050104c; | ||
3432 | } | ||
3433 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_corrected_err_count_total_s(void) | ||
3434 | { | ||
3435 | return 16; | ||
3436 | } | ||
3437 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_corrected_err_count_total_v(u32 r) | ||
3438 | { | ||
3439 | return (r >> 0) & 0xffff; | ||
3440 | } | ||
3441 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_uncorrected_err_count_r(void) | ||
3442 | { | ||
3443 | return 0x00501054; | ||
3444 | } | ||
3445 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_uncorrected_err_count_total_s(void) | ||
3446 | { | ||
3447 | return 16; | ||
3448 | } | ||
3449 | static inline u32 gr_pri_gpc0_gcc_l15_ecc_uncorrected_err_count_total_v(u32 r) | ||
3450 | { | ||
3451 | return (r >> 0) & 0xffff; | ||
3452 | } | ||
3389 | static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_r(void) | 3453 | static inline u32 gr_gpc0_tpc0_tpccs_tpc_exception_r(void) |
3390 | { | 3454 | { |
3391 | return 0x00504508; | 3455 | return 0x00504508; |