diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/fb_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/fb_gv11b.c | 61 |
1 files changed, 24 insertions, 37 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c index b7a0a3cf..e9093224 100644 --- a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c | |||
@@ -760,46 +760,34 @@ static void gv11b_fb_print_fault_info(struct gk20a *g, | |||
760 | mmfault->fault_addr_aperture, | 760 | mmfault->fault_addr_aperture, |
761 | mmfault->fault_type_desc, | 761 | mmfault->fault_type_desc, |
762 | fault_access_type_descs_gv11b[mmfault->access_type]); | 762 | fault_access_type_descs_gv11b[mmfault->access_type]); |
763 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " | 763 | nvgpu_err(g, "[MMU FAULT] " |
764 | "mmu engine id: %d, " | 764 | "protected mode: %d, " |
765 | "faulted act eng id if any: 0x%x, " | ||
766 | "faulted veid if any: 0x%x, " | ||
767 | "faulted pbdma id if any: 0x%x, " | ||
768 | "fault addr: 0x%llx, ", | ||
769 | mmfault->mmu_engine_id, | ||
770 | mmfault->faulted_engine, | ||
771 | mmfault->faulted_subid, | ||
772 | mmfault->faulted_pbdma, | ||
773 | mmfault->fault_addr); | ||
774 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " | ||
775 | "fault addr aperture: %d, " | ||
776 | "fault type: %s, " | ||
777 | "access type: %s, " | ||
778 | "inst ptr: 0x%llx, " | ||
779 | "inst ptr aperture: %d, ", | ||
780 | mmfault->fault_addr_aperture, | ||
781 | mmfault->fault_type_desc, | ||
782 | fault_access_type_descs_gv11b[mmfault->access_type], | ||
783 | mmfault->inst_ptr, | ||
784 | mmfault->inst_aperture); | ||
785 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " | ||
786 | "ch id: %d, " | ||
787 | "timestamp hi:lo 0x%08x:0x%08x, " | ||
788 | "client type: %s, " | 765 | "client type: %s, " |
789 | "client id: %s, " | 766 | "client id: %s, " |
790 | "gpc id if client type is gpc: %d, ", | 767 | "gpc id if client type is gpc: %d, ", |
791 | mmfault->chid, | 768 | mmfault->protected_mode, |
792 | mmfault->timestamp_hi, mmfault->timestamp_lo, | ||
793 | mmfault->client_type_desc, | 769 | mmfault->client_type_desc, |
794 | mmfault->client_id_desc, | 770 | mmfault->client_id_desc, |
795 | mmfault->gpc_id); | 771 | mmfault->gpc_id); |
772 | |||
796 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " | 773 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " |
797 | "protected mode: %d, " | 774 | "faulted act eng id if any: 0x%x, " |
775 | "faulted veid if any: 0x%x, " | ||
776 | "faulted pbdma id if any: 0x%x, ", | ||
777 | mmfault->faulted_engine, | ||
778 | mmfault->faulted_subid, | ||
779 | mmfault->faulted_pbdma); | ||
780 | nvgpu_log(g, gpu_dbg_intr, "[MMU FAULT] " | ||
781 | "inst ptr: 0x%llx, " | ||
782 | "inst ptr aperture: %d, " | ||
798 | "replayable fault: %d, " | 783 | "replayable fault: %d, " |
799 | "replayable fault en: %d ", | 784 | "replayable fault en: %d " |
800 | mmfault->protected_mode, | 785 | "timestamp hi:lo 0x%08x:0x%08x, ", |
786 | mmfault->inst_ptr, | ||
787 | mmfault->inst_aperture, | ||
801 | mmfault->replayable_fault, | 788 | mmfault->replayable_fault, |
802 | mmfault->replay_fault_en); | 789 | mmfault->replay_fault_en, |
790 | mmfault->timestamp_hi, mmfault->timestamp_lo); | ||
803 | } | 791 | } |
804 | } | 792 | } |
805 | 793 | ||
@@ -969,7 +957,6 @@ static void gv11b_fb_handle_mmu_fault_common(struct gk20a *g, | |||
969 | * single context so we need to reset the entire runlist | 957 | * single context so we need to reset the entire runlist |
970 | */ | 958 | */ |
971 | id_type = ID_TYPE_UNKNOWN; | 959 | id_type = ID_TYPE_UNKNOWN; |
972 | nvgpu_log(g, gpu_dbg_intr, "UNBOUND INST BLOCK MMU FAULT"); | ||
973 | 960 | ||
974 | } else if (mmfault->refch) { | 961 | } else if (mmfault->refch) { |
975 | if (gk20a_is_channel_marked_as_tsg(mmfault->refch)) { | 962 | if (gk20a_is_channel_marked_as_tsg(mmfault->refch)) { |
@@ -1047,7 +1034,7 @@ static void gv11b_fb_handle_mmu_nonreplay_replay_fault(struct gk20a *g, | |||
1047 | "SPURIOUS mmu fault: reg index:%d", index); | 1034 | "SPURIOUS mmu fault: reg index:%d", index); |
1048 | return; | 1035 | return; |
1049 | } | 1036 | } |
1050 | nvgpu_info(g, "%s MMU FAULT" , | 1037 | nvgpu_log(g, gpu_dbg_intr, "%s MMU FAULT" , |
1051 | index == REPLAY_REG_INDEX ? "REPLAY" : "NON-REPLAY"); | 1038 | index == REPLAY_REG_INDEX ? "REPLAY" : "NON-REPLAY"); |
1052 | 1039 | ||
1053 | nvgpu_log(g, gpu_dbg_intr, "get ptr = %d", get_indx); | 1040 | nvgpu_log(g, gpu_dbg_intr, "get ptr = %d", get_indx); |
@@ -1091,10 +1078,9 @@ static void gv11b_fb_handle_mmu_nonreplay_replay_fault(struct gk20a *g, | |||
1091 | prev_fault_addr = next_fault_addr; | 1078 | prev_fault_addr = next_fault_addr; |
1092 | next_fault_addr = mmfault->fault_addr; | 1079 | next_fault_addr = mmfault->fault_addr; |
1093 | if (prev_fault_addr == next_fault_addr) { | 1080 | if (prev_fault_addr == next_fault_addr) { |
1094 | nvgpu_log(g, gpu_dbg_intr, "pte is fixed"); | 1081 | nvgpu_log(g, gpu_dbg_intr, "pte already scanned"); |
1095 | if (mmfault->refch) | 1082 | if (mmfault->refch) |
1096 | gk20a_channel_put(mmfault->refch); | 1083 | gk20a_channel_put(mmfault->refch); |
1097 | /* pte already fixed for this addr */ | ||
1098 | continue; | 1084 | continue; |
1099 | } | 1085 | } |
1100 | } | 1086 | } |
@@ -1398,7 +1384,8 @@ void gv11b_fb_hub_isr(struct gk20a *g) | |||
1398 | 1384 | ||
1399 | niso_intr = gk20a_readl(g, fb_niso_intr_r()); | 1385 | niso_intr = gk20a_readl(g, fb_niso_intr_r()); |
1400 | 1386 | ||
1401 | nvgpu_info(g, "enter hub isr, niso_intr = 0x%08x", niso_intr); | 1387 | nvgpu_log(g, gpu_dbg_intr, "enter hub isr, niso_intr = 0x%08x", |
1388 | niso_intr); | ||
1402 | 1389 | ||
1403 | if (niso_intr & | 1390 | if (niso_intr & |
1404 | (fb_niso_intr_hub_access_counter_notify_m() | | 1391 | (fb_niso_intr_hub_access_counter_notify_m() | |
@@ -1439,7 +1426,7 @@ void gv11b_fb_hub_isr(struct gk20a *g) | |||
1439 | fb_niso_intr_mmu_nonreplayable_fault_notify_m() | | 1426 | fb_niso_intr_mmu_nonreplayable_fault_notify_m() | |
1440 | fb_niso_intr_mmu_nonreplayable_fault_overflow_m())) { | 1427 | fb_niso_intr_mmu_nonreplayable_fault_overflow_m())) { |
1441 | 1428 | ||
1442 | nvgpu_info(g, "MMU Fault"); | 1429 | nvgpu_log(g, gpu_dbg_intr, "MMU Fault"); |
1443 | gv11b_fb_handle_mmu_fault(g, niso_intr); | 1430 | gv11b_fb_handle_mmu_fault(g, niso_intr); |
1444 | } | 1431 | } |
1445 | 1432 | ||