Skip to content

Commit 44f93b2

Browse files
Ben Skeggsairlied
authored andcommitted
drm/nouveau: add support for GH100
This commit enables basic support for Hopper GPUs, and is intended primarily as a base supporting Blackwell GPUs, which reuse most of the code added here. Advanced features such as Confidential Compute are not supported. Beyond a few miscellaneous register moves and HW class ID plumbing, the bulk of the changes implemented here are to support the GSP-RM boot sequence used on Hopper/Blackwell GPUs, as well as a new page table layout. There should be no changes here that impact prior GPUs. Signed-off-by: Ben Skeggs <[email protected]> Co-developed-by: Timur Tabi <[email protected]> Signed-off-by: Timur Tabi <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Timur Tabi <[email protected]> Tested-by: Timur Tabi <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
1 parent 76b8f81 commit 44f93b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1680
-9
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/* SPDX-License-Identifier: MIT
2+
*
3+
* Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
4+
*/
5+
#ifndef __gh100_dev_falcon_v4_h__
6+
#define __gh100_dev_falcon_v4_h__
7+
8+
#define NV_PFALCON_FALCON_MAILBOX0 0x00000040 /* RW-4R */
9+
#define NV_PFALCON_FALCON_MAILBOX0_DATA 31:0 /* RWIVF */
10+
#define NV_PFALCON_FALCON_MAILBOX0_DATA_INIT 0x00000000 /* RWI-V */
11+
#define NV_PFALCON_FALCON_MAILBOX1 0x00000044 /* RW-4R */
12+
#define NV_PFALCON_FALCON_MAILBOX1_DATA 31:0 /* RWIVF */
13+
#define NV_PFALCON_FALCON_MAILBOX1_DATA_INIT 0x00000000 /* RWI-V */
14+
15+
#define NV_PFALCON_FALCON_HWCFG2 0x000000f4 /* R--4R */
16+
#define NV_PFALCON_FALCON_HWCFG2_RISCV_BR_PRIV_LOCKDOWN 13:13 /* R--VF */
17+
#define NV_PFALCON_FALCON_HWCFG2_RISCV_BR_PRIV_LOCKDOWN_LOCK 0x00000001 /* R---V */
18+
#define NV_PFALCON_FALCON_HWCFG2_RISCV_BR_PRIV_LOCKDOWN_UNLOCK 0x00000000 /* R---V */
19+
20+
#endif // __gh100_dev_falcon_v4_h__
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/* SPDX-License-Identifier: MIT
2+
*
3+
* Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
4+
*/
5+
#ifndef __gh100_dev_fb_h_
6+
#define __gh100_dev_fb_h_
7+
8+
#define NV_PFB_NISO_FLUSH_SYSMEM_ADDR_SHIFT 8 /* */
9+
#define NV_PFB_FBHUB_PCIE_FLUSH_SYSMEM_ADDR_LO 0x00100A34 /* RW-4R */
10+
#define NV_PFB_FBHUB_PCIE_FLUSH_SYSMEM_ADDR_LO_ADR 31:0 /* RWIVF */
11+
#define NV_PFB_FBHUB_PCIE_FLUSH_SYSMEM_ADDR_HI 0x00100A38 /* RW-4R */
12+
#define NV_PFB_FBHUB_PCIE_FLUSH_SYSMEM_ADDR_HI_ADR 31:0 /* RWIVF */
13+
#define NV_PFB_FBHUB_PCIE_FLUSH_SYSMEM_ADDR_HI_ADR_MASK 0x000FFFFF /* ----V */
14+
15+
#endif // __gh100_dev_fb_h_
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/* SPDX-License-Identifier: MIT
2+
*
3+
* Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
4+
*/
5+
#ifndef __gh100_dev_fsp_pri_h__
6+
#define __gh100_dev_fsp_pri_h__
7+
8+
#define NV_PFSP 0x8F3FFF:0x8F0000 /* RW--D */
9+
10+
#define NV_PFSP_MSGQ_HEAD(i) (0x008F2c80+(i)*8) /* RW-4A */
11+
#define NV_PFSP_MSGQ_HEAD__SIZE_1 8 /* */
12+
#define NV_PFSP_MSGQ_HEAD_VAL 31:0 /* RWIUF */
13+
#define NV_PFSP_MSGQ_HEAD_VAL_INIT 0x00000000 /* RWI-V */
14+
#define NV_PFSP_MSGQ_TAIL(i) (0x008F2c84+(i)*8) /* RW-4A */
15+
#define NV_PFSP_MSGQ_TAIL__SIZE_1 8 /* */
16+
#define NV_PFSP_MSGQ_TAIL_VAL 31:0 /* RWIUF */
17+
#define NV_PFSP_MSGQ_TAIL_VAL_INIT 0x00000000 /* RWI-V */
18+
19+
#define NV_PFSP_QUEUE_HEAD(i) (0x008F2c00+(i)*8) /* RW-4A */
20+
#define NV_PFSP_QUEUE_HEAD__SIZE_1 8 /* */
21+
#define NV_PFSP_QUEUE_HEAD_ADDRESS 31:0 /* RWIVF */
22+
#define NV_PFSP_QUEUE_HEAD_ADDRESS_INIT 0x00000000 /* RWI-V */
23+
#define NV_PFSP_QUEUE_TAIL(i) (0x008F2c04+(i)*8) /* RW-4A */
24+
#define NV_PFSP_QUEUE_TAIL__SIZE_1 8 /* */
25+
#define NV_PFSP_QUEUE_TAIL_ADDRESS 31:0 /* RWIVF */
26+
#define NV_PFSP_QUEUE_TAIL_ADDRESS_INIT 0x00000000 /* RWI-V */
27+
28+
#endif // __gh100_dev_fsp_pri_h__

0 commit comments

Comments
 (0)