diff options
author | Seema Khowala <seemaj@nvidia.com> | 2016-12-29 16:25:28 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-01-12 16:14:16 -0500 |
commit | 209f4eadde89f8678221ab187763ac03b23543e7 (patch) | |
tree | 143a9f4a4cb6b735a024f691ba7876cfe1d67b35 /drivers/gpu | |
parent | ea1330f2ede5302301af95ff4af7ff49f87fd3e5 (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/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hw_ccsr_gv11b.h | 16 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hw_fb_gv11b.h | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hw_fifo_gv11b.h | 12 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hw_gmmu_gv11b.h | 200 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hw_ram_gv11b.h | 6 |
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 | } |
113 | static inline u32 ccsr_channel_pbdma_faulted_f(u32 v) | ||
114 | { | ||
115 | return (v & 0x1) << 22; | ||
116 | } | ||
117 | static inline u32 ccsr_channel_pbdma_faulted_reset_f(void) | ||
118 | { | ||
119 | return 0x400000; | ||
120 | } | ||
121 | static inline u32 ccsr_channel_eng_faulted_f(u32 v) | ||
122 | { | ||
123 | return (v & 0x1) << 23; | ||
124 | } | ||
125 | static inline u32 ccsr_channel_eng_faulted_reset_f(void) | ||
126 | { | ||
127 | return 0x800000; | ||
128 | } | ||
113 | static inline u32 ccsr_channel_busy_v(u32 r) | 129 | static 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 | } |
1065 | static inline u32 fb_mmu_fault_inst_lo_addr_f(u32 v) | ||
1066 | { | ||
1067 | return (v & 0xfffff) << 12; | ||
1068 | } | ||
1065 | static inline u32 fb_mmu_fault_inst_lo_addr_v(u32 r) | 1069 | static 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 | } |
505 | static inline u32 fifo_cfg0_r(void) | ||
506 | { | ||
507 | return 0x00002004; | ||
508 | } | ||
509 | static inline u32 fifo_cfg0_num_pbdma_v(u32 r) | ||
510 | { | ||
511 | return (r >> 0) & 0xff; | ||
512 | } | ||
513 | static 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 | } |
1277 | static inline u32 gmmu_fault_buf_size_v(void) | ||
1278 | { | ||
1279 | return 0x00000020; | ||
1280 | } | ||
1281 | static inline u32 gmmu_fault_buf_entry_inst_aperture_v(u32 r) | ||
1282 | { | ||
1283 | return (r >> 8) & 0x3; | ||
1284 | } | ||
1285 | static inline u32 gmmu_fault_buf_entry_inst_aperture_w(void) | ||
1286 | { | ||
1287 | return 0; | ||
1288 | } | ||
1289 | static inline u32 gmmu_fault_buf_entry_inst_aperture_vid_mem_v(void) | ||
1290 | { | ||
1291 | return 0x00000000; | ||
1292 | } | ||
1293 | static inline u32 gmmu_fault_buf_entry_inst_aperture_sys_coh_v(void) | ||
1294 | { | ||
1295 | return 0x00000002; | ||
1296 | } | ||
1297 | static inline u32 gmmu_fault_buf_entry_inst_aperture_sys_nocoh_v(void) | ||
1298 | { | ||
1299 | return 0x00000003; | ||
1300 | } | ||
1301 | static inline u32 gmmu_fault_buf_entry_inst_lo_f(u32 v) | ||
1302 | { | ||
1303 | return (v & 0xfffff) << 12; | ||
1304 | } | ||
1305 | static inline u32 gmmu_fault_buf_entry_inst_lo_v(u32 r) | ||
1306 | { | ||
1307 | return (r >> 12) & 0xfffff; | ||
1308 | } | ||
1309 | static inline u32 gmmu_fault_buf_entry_inst_lo_w(void) | ||
1310 | { | ||
1311 | return 0; | ||
1312 | } | ||
1313 | static inline u32 gmmu_fault_buf_entry_inst_hi_v(u32 r) | ||
1314 | { | ||
1315 | return (r >> 0) & 0xffffffff; | ||
1316 | } | ||
1317 | static inline u32 gmmu_fault_buf_entry_inst_hi_w(void) | ||
1318 | { | ||
1319 | return 1; | ||
1320 | } | ||
1321 | static inline u32 gmmu_fault_buf_entry_addr_phys_aperture_v(u32 r) | ||
1322 | { | ||
1323 | return (r >> 0) & 0x3; | ||
1324 | } | ||
1325 | static inline u32 gmmu_fault_buf_entry_addr_phys_aperture_w(void) | ||
1326 | { | ||
1327 | return 2; | ||
1328 | } | ||
1329 | static inline u32 gmmu_fault_buf_entry_addr_lo_f(u32 v) | ||
1330 | { | ||
1331 | return (v & 0xfffff) << 12; | ||
1332 | } | ||
1333 | static inline u32 gmmu_fault_buf_entry_addr_lo_v(u32 r) | ||
1334 | { | ||
1335 | return (r >> 12) & 0xfffff; | ||
1336 | } | ||
1337 | static inline u32 gmmu_fault_buf_entry_addr_lo_w(void) | ||
1338 | { | ||
1339 | return 2; | ||
1340 | } | ||
1341 | static inline u32 gmmu_fault_buf_entry_addr_hi_v(u32 r) | ||
1342 | { | ||
1343 | return (r >> 0) & 0xffffffff; | ||
1344 | } | ||
1345 | static inline u32 gmmu_fault_buf_entry_addr_hi_w(void) | ||
1346 | { | ||
1347 | return 3; | ||
1348 | } | ||
1349 | static inline u32 gmmu_fault_buf_entry_timestamp_lo_v(u32 r) | ||
1350 | { | ||
1351 | return (r >> 0) & 0xffffffff; | ||
1352 | } | ||
1353 | static inline u32 gmmu_fault_buf_entry_timestamp_lo_w(void) | ||
1354 | { | ||
1355 | return 4; | ||
1356 | } | ||
1357 | static inline u32 gmmu_fault_buf_entry_timestamp_hi_v(u32 r) | ||
1358 | { | ||
1359 | return (r >> 0) & 0xffffffff; | ||
1360 | } | ||
1361 | static inline u32 gmmu_fault_buf_entry_timestamp_hi_w(void) | ||
1362 | { | ||
1363 | return 5; | ||
1364 | } | ||
1365 | static inline u32 gmmu_fault_buf_entry_engine_id_v(u32 r) | ||
1366 | { | ||
1367 | return (r >> 0) & 0x1ff; | ||
1368 | } | ||
1369 | static inline u32 gmmu_fault_buf_entry_engine_id_w(void) | ||
1370 | { | ||
1371 | return 6; | ||
1372 | } | ||
1373 | static inline u32 gmmu_fault_buf_entry_fault_type_v(u32 r) | ||
1374 | { | ||
1375 | return (r >> 0) & 0x1f; | ||
1376 | } | ||
1377 | static inline u32 gmmu_fault_buf_entry_fault_type_w(void) | ||
1378 | { | ||
1379 | return 7; | ||
1380 | } | ||
1381 | static inline u32 gmmu_fault_buf_entry_replayable_fault_v(u32 r) | ||
1382 | { | ||
1383 | return (r >> 7) & 0x1; | ||
1384 | } | ||
1385 | static inline u32 gmmu_fault_buf_entry_replayable_fault_w(void) | ||
1386 | { | ||
1387 | return 7; | ||
1388 | } | ||
1389 | static inline u32 gmmu_fault_buf_entry_replayable_fault_true_v(void) | ||
1390 | { | ||
1391 | return 0x00000001; | ||
1392 | } | ||
1393 | static inline u32 gmmu_fault_buf_entry_replayable_fault_true_f(void) | ||
1394 | { | ||
1395 | return 0x80; | ||
1396 | } | ||
1397 | static inline u32 gmmu_fault_buf_entry_client_v(u32 r) | ||
1398 | { | ||
1399 | return (r >> 8) & 0x7f; | ||
1400 | } | ||
1401 | static inline u32 gmmu_fault_buf_entry_client_w(void) | ||
1402 | { | ||
1403 | return 7; | ||
1404 | } | ||
1405 | static inline u32 gmmu_fault_buf_entry_access_type_v(u32 r) | ||
1406 | { | ||
1407 | return (r >> 16) & 0xf; | ||
1408 | } | ||
1409 | static inline u32 gmmu_fault_buf_entry_access_type_w(void) | ||
1410 | { | ||
1411 | return 7; | ||
1412 | } | ||
1413 | static inline u32 gmmu_fault_buf_entry_mmu_client_type_v(u32 r) | ||
1414 | { | ||
1415 | return (r >> 20) & 0x1; | ||
1416 | } | ||
1417 | static inline u32 gmmu_fault_buf_entry_mmu_client_type_w(void) | ||
1418 | { | ||
1419 | return 7; | ||
1420 | } | ||
1421 | static inline u32 gmmu_fault_buf_entry_gpc_id_v(u32 r) | ||
1422 | { | ||
1423 | return (r >> 24) & 0x1f; | ||
1424 | } | ||
1425 | static inline u32 gmmu_fault_buf_entry_gpc_id_w(void) | ||
1426 | { | ||
1427 | return 7; | ||
1428 | } | ||
1429 | static inline u32 gmmu_fault_buf_entry_protected_mode_v(u32 r) | ||
1430 | { | ||
1431 | return (r >> 29) & 0x1; | ||
1432 | } | ||
1433 | static inline u32 gmmu_fault_buf_entry_protected_mode_w(void) | ||
1434 | { | ||
1435 | return 7; | ||
1436 | } | ||
1437 | static inline u32 gmmu_fault_buf_entry_protected_mode_true_v(void) | ||
1438 | { | ||
1439 | return 0x00000001; | ||
1440 | } | ||
1441 | static inline u32 gmmu_fault_buf_entry_protected_mode_true_f(void) | ||
1442 | { | ||
1443 | return 0x20000000; | ||
1444 | } | ||
1445 | static inline u32 gmmu_fault_buf_entry_replayable_fault_en_v(u32 r) | ||
1446 | { | ||
1447 | return (r >> 30) & 0x1; | ||
1448 | } | ||
1449 | static inline u32 gmmu_fault_buf_entry_replayable_fault_en_w(void) | ||
1450 | { | ||
1451 | return 7; | ||
1452 | } | ||
1453 | static inline u32 gmmu_fault_buf_entry_replayable_fault_en_true_v(void) | ||
1454 | { | ||
1455 | return 0x00000001; | ||
1456 | } | ||
1457 | static inline u32 gmmu_fault_buf_entry_replayable_fault_en_true_f(void) | ||
1458 | { | ||
1459 | return 0x40000000; | ||
1460 | } | ||
1461 | static inline u32 gmmu_fault_buf_entry_valid_v(u32 r) | ||
1462 | { | ||
1463 | return (r >> 31) & 0x1; | ||
1464 | } | ||
1465 | static inline u32 gmmu_fault_buf_entry_valid_w(void) | ||
1466 | { | ||
1467 | return 7; | ||
1468 | } | ||
1469 | static inline u32 gmmu_fault_buf_entry_valid_true_v(void) | ||
1470 | { | ||
1471 | return 0x00000001; | ||
1472 | } | ||
1473 | static 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 | } |
713 | static inline u32 ram_rl_entry_tsg_vmid_f(u32 v) | ||
714 | { | ||
715 | return (v & 0xff) << 4; | ||
716 | } | ||
717 | static inline u32 ram_rl_entry_tsg_timeslice_scale_f(u32 v) | 713 | static inline u32 ram_rl_entry_tsg_timeslice_scale_f(u32 v) |
718 | { | 714 | { |
719 | return (v & 0xf) << 16; | 715 | return (v & 0xf) << 16; |