summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2016-12-29 16:25:28 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-01-12 16:14:16 -0500
commit209f4eadde89f8678221ab187763ac03b23543e7 (patch)
tree143a9f4a4cb6b735a024f691ba7876cfe1d67b35 /drivers
parentea1330f2ede5302301af95ff4af7ff49f87fd3e5 (diff)
gpu: nvgpu: gv11b: hw header for CL 37750038 and mmu fault
JIRA GV11B-7 Change-Id: I32428e6b91050ad3f697eb80e2aabda2cc1bfda4 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1249339 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h16
-rw-r--r--drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h4
-rw-r--r--drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h12
-rw-r--r--drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h200
-rw-r--r--drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h6
5 files changed, 233 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h
index ed1e657c..618c4806 100644
--- a/drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h
@@ -110,6 +110,22 @@ static inline u32 ccsr_channel_status_v(u32 r)
110{ 110{
111 return (r >> 24) & 0xf; 111 return (r >> 24) & 0xf;
112} 112}
113static inline u32 ccsr_channel_pbdma_faulted_f(u32 v)
114{
115 return (v & 0x1) << 22;
116}
117static inline u32 ccsr_channel_pbdma_faulted_reset_f(void)
118{
119 return 0x400000;
120}
121static inline u32 ccsr_channel_eng_faulted_f(u32 v)
122{
123 return (v & 0x1) << 23;
124}
125static inline u32 ccsr_channel_eng_faulted_reset_f(void)
126{
127 return 0x800000;
128}
113static inline u32 ccsr_channel_busy_v(u32 r) 129static inline u32 ccsr_channel_busy_v(u32 r)
114{ 130{
115 return (r >> 28) & 0x1; 131 return (r >> 28) & 0x1;
diff --git a/drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h
index 0dc52fa0..d2f22afa 100644
--- a/drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h
@@ -1062,6 +1062,10 @@ static inline u32 fb_mmu_fault_inst_lo_aperture_sys_nocoh_v(void)
1062{ 1062{
1063 return 0x00000003; 1063 return 0x00000003;
1064} 1064}
1065static inline u32 fb_mmu_fault_inst_lo_addr_f(u32 v)
1066{
1067 return (v & 0xfffff) << 12;
1068}
1065static inline u32 fb_mmu_fault_inst_lo_addr_v(u32 r) 1069static inline u32 fb_mmu_fault_inst_lo_addr_v(u32 r)
1066{ 1070{
1067 return (r >> 12) & 0xfffff; 1071 return (r >> 12) & 0xfffff;
diff --git a/drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h
index d3e82e55..d68c823a 100644
--- a/drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h
@@ -502,4 +502,16 @@ static inline u32 fifo_pbdma_status_chsw_in_progress_v(void)
502{ 502{
503 return 0x00000001; 503 return 0x00000001;
504} 504}
505static inline u32 fifo_cfg0_r(void)
506{
507 return 0x00002004;
508}
509static inline u32 fifo_cfg0_num_pbdma_v(u32 r)
510{
511 return (r >> 0) & 0xff;
512}
513static inline u32 fifo_cfg0_pbdma_fault_id_v(u32 r)
514{
515 return (r >> 16) & 0xff;
516}
505#endif 517#endif
diff --git a/drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h
index f5e146c4..1c523f87 100644
--- a/drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h
@@ -1274,4 +1274,204 @@ static inline u32 gmmu_pte_kind_s8_2s_v(void)
1274{ 1274{
1275 return 0x0000002b; 1275 return 0x0000002b;
1276} 1276}
1277static inline u32 gmmu_fault_buf_size_v(void)
1278{
1279 return 0x00000020;
1280}
1281static inline u32 gmmu_fault_buf_entry_inst_aperture_v(u32 r)
1282{
1283 return (r >> 8) & 0x3;
1284}
1285static inline u32 gmmu_fault_buf_entry_inst_aperture_w(void)
1286{
1287 return 0;
1288}
1289static inline u32 gmmu_fault_buf_entry_inst_aperture_vid_mem_v(void)
1290{
1291 return 0x00000000;
1292}
1293static inline u32 gmmu_fault_buf_entry_inst_aperture_sys_coh_v(void)
1294{
1295 return 0x00000002;
1296}
1297static inline u32 gmmu_fault_buf_entry_inst_aperture_sys_nocoh_v(void)
1298{
1299 return 0x00000003;
1300}
1301static inline u32 gmmu_fault_buf_entry_inst_lo_f(u32 v)
1302{
1303 return (v & 0xfffff) << 12;
1304}
1305static inline u32 gmmu_fault_buf_entry_inst_lo_v(u32 r)
1306{
1307 return (r >> 12) & 0xfffff;
1308}
1309static inline u32 gmmu_fault_buf_entry_inst_lo_w(void)
1310{
1311 return 0;
1312}
1313static inline u32 gmmu_fault_buf_entry_inst_hi_v(u32 r)
1314{
1315 return (r >> 0) & 0xffffffff;
1316}
1317static inline u32 gmmu_fault_buf_entry_inst_hi_w(void)
1318{
1319 return 1;
1320}
1321static inline u32 gmmu_fault_buf_entry_addr_phys_aperture_v(u32 r)
1322{
1323 return (r >> 0) & 0x3;
1324}
1325static inline u32 gmmu_fault_buf_entry_addr_phys_aperture_w(void)
1326{
1327 return 2;
1328}
1329static inline u32 gmmu_fault_buf_entry_addr_lo_f(u32 v)
1330{
1331 return (v & 0xfffff) << 12;
1332}
1333static inline u32 gmmu_fault_buf_entry_addr_lo_v(u32 r)
1334{
1335 return (r >> 12) & 0xfffff;
1336}
1337static inline u32 gmmu_fault_buf_entry_addr_lo_w(void)
1338{
1339 return 2;
1340}
1341static inline u32 gmmu_fault_buf_entry_addr_hi_v(u32 r)
1342{
1343 return (r >> 0) & 0xffffffff;
1344}
1345static inline u32 gmmu_fault_buf_entry_addr_hi_w(void)
1346{
1347 return 3;
1348}
1349static inline u32 gmmu_fault_buf_entry_timestamp_lo_v(u32 r)
1350{
1351 return (r >> 0) & 0xffffffff;
1352}
1353static inline u32 gmmu_fault_buf_entry_timestamp_lo_w(void)
1354{
1355 return 4;
1356}
1357static inline u32 gmmu_fault_buf_entry_timestamp_hi_v(u32 r)
1358{
1359 return (r >> 0) & 0xffffffff;
1360}
1361static inline u32 gmmu_fault_buf_entry_timestamp_hi_w(void)
1362{
1363 return 5;
1364}
1365static inline u32 gmmu_fault_buf_entry_engine_id_v(u32 r)
1366{
1367 return (r >> 0) & 0x1ff;
1368}
1369static inline u32 gmmu_fault_buf_entry_engine_id_w(void)
1370{
1371 return 6;
1372}
1373static inline u32 gmmu_fault_buf_entry_fault_type_v(u32 r)
1374{
1375 return (r >> 0) & 0x1f;
1376}
1377static inline u32 gmmu_fault_buf_entry_fault_type_w(void)
1378{
1379 return 7;
1380}
1381static inline u32 gmmu_fault_buf_entry_replayable_fault_v(u32 r)
1382{
1383 return (r >> 7) & 0x1;
1384}
1385static inline u32 gmmu_fault_buf_entry_replayable_fault_w(void)
1386{
1387 return 7;
1388}
1389static inline u32 gmmu_fault_buf_entry_replayable_fault_true_v(void)
1390{
1391 return 0x00000001;
1392}
1393static inline u32 gmmu_fault_buf_entry_replayable_fault_true_f(void)
1394{
1395 return 0x80;
1396}
1397static inline u32 gmmu_fault_buf_entry_client_v(u32 r)
1398{
1399 return (r >> 8) & 0x7f;
1400}
1401static inline u32 gmmu_fault_buf_entry_client_w(void)
1402{
1403 return 7;
1404}
1405static inline u32 gmmu_fault_buf_entry_access_type_v(u32 r)
1406{
1407 return (r >> 16) & 0xf;
1408}
1409static inline u32 gmmu_fault_buf_entry_access_type_w(void)
1410{
1411 return 7;
1412}
1413static inline u32 gmmu_fault_buf_entry_mmu_client_type_v(u32 r)
1414{
1415 return (r >> 20) & 0x1;
1416}
1417static inline u32 gmmu_fault_buf_entry_mmu_client_type_w(void)
1418{
1419 return 7;
1420}
1421static inline u32 gmmu_fault_buf_entry_gpc_id_v(u32 r)
1422{
1423 return (r >> 24) & 0x1f;
1424}
1425static inline u32 gmmu_fault_buf_entry_gpc_id_w(void)
1426{
1427 return 7;
1428}
1429static inline u32 gmmu_fault_buf_entry_protected_mode_v(u32 r)
1430{
1431 return (r >> 29) & 0x1;
1432}
1433static inline u32 gmmu_fault_buf_entry_protected_mode_w(void)
1434{
1435 return 7;
1436}
1437static inline u32 gmmu_fault_buf_entry_protected_mode_true_v(void)
1438{
1439 return 0x00000001;
1440}
1441static inline u32 gmmu_fault_buf_entry_protected_mode_true_f(void)
1442{
1443 return 0x20000000;
1444}
1445static inline u32 gmmu_fault_buf_entry_replayable_fault_en_v(u32 r)
1446{
1447 return (r >> 30) & 0x1;
1448}
1449static inline u32 gmmu_fault_buf_entry_replayable_fault_en_w(void)
1450{
1451 return 7;
1452}
1453static inline u32 gmmu_fault_buf_entry_replayable_fault_en_true_v(void)
1454{
1455 return 0x00000001;
1456}
1457static inline u32 gmmu_fault_buf_entry_replayable_fault_en_true_f(void)
1458{
1459 return 0x40000000;
1460}
1461static inline u32 gmmu_fault_buf_entry_valid_v(u32 r)
1462{
1463 return (r >> 31) & 0x1;
1464}
1465static inline u32 gmmu_fault_buf_entry_valid_w(void)
1466{
1467 return 7;
1468}
1469static inline u32 gmmu_fault_buf_entry_valid_true_v(void)
1470{
1471 return 0x00000001;
1472}
1473static inline u32 gmmu_fault_buf_entry_valid_true_f(void)
1474{
1475 return 0x80000000;
1476}
1277#endif 1477#endif
diff --git a/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h b/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h
index 11874209..bcbb7b81 100644
--- a/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify it 4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License, 5 * under the terms and conditions of the GNU General Public License,
@@ -710,10 +710,6 @@ static inline u32 ram_rl_entry_chan_inst_ptr_hi_f(u32 v)
710{ 710{
711 return (v & 0xffffffff) << 0; 711 return (v & 0xffffffff) << 0;
712} 712}
713static inline u32 ram_rl_entry_tsg_vmid_f(u32 v)
714{
715 return (v & 0xff) << 4;
716}
717static inline u32 ram_rl_entry_tsg_timeslice_scale_f(u32 v) 713static inline u32 ram_rl_entry_tsg_timeslice_scale_f(u32 v)
718{ 714{
719 return (v & 0xf) << 16; 715 return (v & 0xf) << 16;