summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-09-26 18:08:34 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-08 07:07:12 -0500
commitec189e454d8fa3defdef1252e149577ce3b6e5b7 (patch)
tree5c5192b37ce6fd9adfe8950ff9defa4ad2d1d426 /drivers/gpu/nvgpu/include
parent58dd20f86b3b9faef89b24f2b4ec6b62a183fe9d (diff)
gpu: nvgpu: spew err for pbus interrupt
Spew err message for pri_squash, fecserr and pri_timeout pbus interrupts. If FECS_TGT is set in timeout_save_0, addr, write fields are not reliable. Also timeout_save_1 is unreliable. For both squash and timeout should have correct data most of the time. Even for FECS_TGT, a timeout for a read should indicate the correct transaction as Host only supports one read at a time. It's mostly just writes to FECS that have potentially incorrect information. Bug 200246808 Bug 200350539 Change-Id: I8a992d924ff6c740a8dacecaaaf4ef257756d01d Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1568860 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_timer_gk20a.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_timer_gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_timer_gk20a.h
index 853227fe..f0dbfc30 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_timer_gk20a.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gk20a/hw_timer_gk20a.h
@@ -96,6 +96,18 @@ static inline u32 timer_pri_timeout_save_0_r(void)
96{ 96{
97 return 0x00009084U; 97 return 0x00009084U;
98} 98}
99static inline u32 timer_pri_timeout_save_0_fecs_tgt_v(u32 r)
100{
101 return (r >> 31) & 0x1;
102}
103static inline u32 timer_pri_timeout_save_0_addr_v(u32 r)
104{
105 return (r >> 2) & 0x3fffff;
106}
107static inline u32 timer_pri_timeout_save_0_write_v(u32 r)
108{
109 return (r >> 1) & 0x1;
110}
99static inline u32 timer_pri_timeout_save_1_r(void) 111static inline u32 timer_pri_timeout_save_1_r(void)
100{ 112{
101 return 0x00009088U; 113 return 0x00009088U;