diff options
| -rw-r--r-- | nvdebug.h | 29 |
1 files changed, 29 insertions, 0 deletions
| @@ -9,6 +9,8 @@ | |||
| 9 | #include <linux/version.h> // For KERNEL_VERSION and LINUX_VERSION_CODE | 9 | #include <linux/version.h> // For KERNEL_VERSION and LINUX_VERSION_CODE |
| 10 | #include <asm/io.h> | 10 | #include <asm/io.h> |
| 11 | 11 | ||
| 12 | #define NV_BUILD_FOR_AMPERE | ||
| 13 | |||
| 12 | /* Runlist Channel | 14 | /* Runlist Channel |
| 13 | A timeslice group (TSG) is composed of channels. Each channel is a FIFO queue | 15 | A timeslice group (TSG) is composed of channels. Each channel is a FIFO queue |
| 14 | of GPU commands. These commands are typically queued from userspace. | 16 | of GPU commands. These commands are typically queued from userspace. |
| @@ -551,6 +553,32 @@ static const char* const ENGINE_TYPES_NAMES[ENGINE_TYPES_LEN] = { | |||
| 551 | Support: Kepler, Maxwell, Pascal, Volta, Ampere | 553 | Support: Kepler, Maxwell, Pascal, Volta, Ampere |
| 552 | See dev_top.ref.txt of NVIDIA's open-gpu-doc for more info. | 554 | See dev_top.ref.txt of NVIDIA's open-gpu-doc for more info. |
| 553 | */ | 555 | */ |
| 556 | |||
| 557 | #ifdef NV_BUILD_FOR_AMPERE | ||
| 558 | #define NV_PTOP_DEVICE_INFO(i) (0x00022800+(i)*4) | ||
| 559 | #define NV_PTOP_DEVICE_INFO__SIZE_1 64 | ||
| 560 | typedef union { | ||
| 561 | struct { | ||
| 562 | uint32_t fault_id:7; | ||
| 563 | uint32_t padding0:9; | ||
| 564 | uint32_t inst_id:4; | ||
| 565 | uint32_t padding1:4; | ||
| 566 | enum ENGINE_TYPES engine_type:7; | ||
| 567 | bool has_next_entry:1; | ||
| 568 | } __attribute__((packed)); | ||
| 569 | struct { | ||
| 570 | uint32_t reset_enum:5; | ||
| 571 | uint32_t padding2:7; | ||
| 572 | uint32_t pri_base:12; | ||
| 573 | } __attribute__((packed)); | ||
| 574 | struct { | ||
| 575 | uint32_t engine_enum:2; | ||
| 576 | uint32_t padding3:4; | ||
| 577 | uint32_t runlist_enum:14; | ||
| 578 | } __attribute__((packed)); | ||
| 579 | uint32_t raw; | ||
| 580 | } ptop_device_info_t; | ||
| 581 | #else | ||
| 554 | #define NV_PTOP_DEVICE_INFO(i) (0x00022700+(i)*4) | 582 | #define NV_PTOP_DEVICE_INFO(i) (0x00022700+(i)*4) |
| 555 | #define NV_PTOP_DEVICE_INFO__SIZE_1 64 | 583 | #define NV_PTOP_DEVICE_INFO__SIZE_1 64 |
| 556 | typedef union { | 584 | typedef union { |
| @@ -591,6 +619,7 @@ typedef union { | |||
| 591 | } __attribute__((packed)); | 619 | } __attribute__((packed)); |
| 592 | uint32_t raw; | 620 | uint32_t raw; |
| 593 | } ptop_device_info_t; | 621 | } ptop_device_info_t; |
| 622 | #endif | ||
| 594 | 623 | ||
| 595 | #define NV_PTOP_SCAL_NUM_GPCS 0x00022430 | 624 | #define NV_PTOP_SCAL_NUM_GPCS 0x00022430 |
| 596 | #define NV_PTOP_SCAL_NUM_TPC_PER_GPC 0x00022434 | 625 | #define NV_PTOP_SCAL_NUM_TPC_PER_GPC 0x00022434 |
