1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/nouveau
Linus Torvalds e70703890b drm nouveau GSP support for 6.7-rc1
This is an optional pull request to add the initial
 support for the NVIDIA GSP firmware to nouveau.
 
 This firmware is a new direction for Turing+ GPUs,
 and is only enabled by default on Ada generation.
 Other generations need to use nouveau.config=NvGspRm=1
 
 The GSP firmware takes nearly all the GPU init and
 power management tasks onto a risc-v CPU on the GPU.
 
 This patch series is mostly the work from Ben Skeggs,
 and Dave added some patches to rebase it to the latest
 firmware release which is where we will stay for as
 long as possible as the firmwares have no ABI stability.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmVEZO0ACgkQDHTzWXnE
 hr4TKhAAgtdQy7v79ztjUkZfdiv//okTAUwPu9bKwEwV41H5dHGlvM0F+jFt6du5
 1CNtpmlZUf51ejLziTBtiA60LRRa7L79bQZZ1waArowR234XW5f4IxdxysSByI8t
 PzAIjSe4wUmdvATndHTwKe716U86i/r99ggYCHM2IXYuKHTolF4fI/BI2clJPZTY
 YJgf6kHBwnzoqhN7fIstUnKs037Ipg89hMumB1LDwDRvxo31vSENxMHfFmQfCJrm
 NQiO4JtLd/mQmNA3oM/Hpc49KHujGKrQxpqKtgOVKhV24VosdhPKexB05jGxG06w
 6nkOYFFhYfukjhLMIYKnpMeLzzoaMzjvEQ994InN9RWV+oIx9AJd78kBtHiY+lJb
 Dk/Lg/CvpIa5BPHcnxJly9oDRJ9zLCwlYf6YIT12GT4H8a9A0QzwiUMIZbWMNEbW
 BLfepl+DQI/CAMX41o88CPoiaZpy+UrGVgHJ+yETNTPrmyM59F21m7fnK3NVadIZ
 Z3VK/4sdonBzdNktdlg5/mbZJyUKFgMRmD8H4+ibWDr4l1cXYJla6BXmf42h8FA3
 iX6huAUFaXV3Trm7DSpu3Q0QosByrmrCEc+E/Bq7aGyBYJc78u8Hog4JuyQtlMNr
 tH6hdFMNZNfhu0V0wwYCN2LEl159Hm2qprFGxFRVwebmz3c+9yk=
 =zW3+
 -----END PGP SIGNATURE-----

Merge tag 'topic/nvidia-gsp-2023-11-03' of git://anongit.freedesktop.org/drm/drm

Pull drm nouveau GSP support from Dave Airlie:
 "This adds the initial support for the NVIDIA GSP firmware to nouveau.

  This firmware is a new direction for Turing+ GPUs, and is only enabled
  by default on Ada generation. Other generations need to use
  nouveau.config=NvGspRm=1

  The GSP firmware takes nearly all the GPU init and power management
  tasks onto a risc-v CPU on the GPU.

  This series is mostly the work from Ben Skeggs, and Dave added some
  patches to rebase it to the latest firmware release which is where we
  will stay for as long as possible as the firmwares have no ABI
  stability"

* tag 'topic/nvidia-gsp-2023-11-03' of git://anongit.freedesktop.org/drm/drm: (49 commits)
  nouveau/gsp: add some basic registry entries.
  nouveau/gsp: fix message signature.
  nouveau/gsp: move to 535.113.01
  nouveau/disp: fix post-gsp build on 32-bit arm.
  nouveau: fix r535 build on 32-bit arm.
  drm/nouveau/ofa/r535: initial support
  drm/nouveau/nvjpg/r535: initial support
  drm/nouveau/nvenc/r535: initial support
  drm/nouveau/nvdec/r535: initial support
  drm/nouveau/gr/r535: initial support
  drm/nouveau/ce/r535: initial support
  drm/nouveau/fifo/r535: initial support
  drm/nouveau/disp/r535: initial support
  drm/nouveau/mmu/r535: initial support
  drm/nouveau/gsp/r535: add interrupt handling
  drm/nouveau/gsp/r535: add support for rm alloc
  drm/nouveau/gsp/r535: add support for rm control
  drm/nouveau/gsp/r535: add support for booting GSP-RM
  drm/nouveau/nvkm: support loading fws into sg_table
  drm/nouveau/kms/tu102-: disable vbios parsing when running on RM
  ...
2023-11-04 10:42:07 -10:00
..
dispnv04 Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
dispnv50 nouveau/disp: fix post-gsp build on 32-bit arm. 2023-10-31 15:11:32 +10:00
include nouveau/gsp: move to 535.113.01 2023-11-03 12:57:14 +10:00
nvif drm/nouveau/disp/r535: initial support 2023-10-31 15:08:16 +10:00
nvkm nouveau/gsp: add some basic registry entries. 2023-11-03 12:57:23 +10:00
Kbuild drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
Kconfig drm/gpuvm: allow building as module 2023-09-26 01:58:28 +02:00
nouveau_abi16.c drm/nouveau: exec: report max pushs through getparam 2023-10-04 00:10:18 +02:00
nouveau_abi16.h drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_acpi.c drm/nouveau: Use pci_get_base_class() to reduce duplicated code 2023-09-28 16:54:54 -05:00
nouveau_acpi.h drm/nouveau: Register ACPI video backlight when nv_backlight registration fails (v2) 2022-09-03 12:17:26 +02:00
nouveau_backlight.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
nouveau_bios.c drm/nouveau/kms/tu102-: disable vbios parsing when running on RM 2023-10-31 15:08:15 +10:00
nouveau_bios.h
nouveau_bo.c drm/nouveau: fence: fix undefined fence state after emit 2023-08-31 00:46:23 +02:00
nouveau_bo.h drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_bo0039.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_bo74c1.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_bo85b5.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_bo90b5.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_bo5039.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_bo9039.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_boa0b5.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
nouveau_chan.c drm/nouveau: exec: report max pushs through getparam 2023-10-04 00:10:18 +02:00
nouveau_chan.h drm/nouveau: chan: provide nouveau_channel_kill() 2023-08-04 20:34:38 +02:00
nouveau_connector.c Merge tag 'drm-misc-next-2023-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-09-29 08:27:15 +10:00
nouveau_connector.h drm/nouveau/kms/nv50-: create connectors based on nvkm info 2023-09-19 18:22:27 -04:00
nouveau_crtc.h drm/nouveau/disp: expose head event class 2022-11-09 10:44:27 +10:00
nouveau_debugfs.c drm/nouveau: uvmm: rename 'umgr' to 'base' 2023-09-26 01:58:29 +02:00
nouveau_debugfs.h drm: convert .debugfs_init() hook to return void. 2020-03-18 17:53:28 +01:00
nouveau_display.c drm/nouveau/kms/nv50-: disable dcb parsing 2023-09-19 18:22:30 -04:00
nouveau_display.h drm/nouveau: Use drm_gem_ttm_dumb_map_offset() 2021-04-11 20:15:13 +02:00
nouveau_dma.c drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly 2023-08-24 02:57:50 +02:00
nouveau_dma.h drm/nouveau: exec: report max pushs through getparam 2023-10-04 00:10:18 +02:00
nouveau_dmem.c drm/nouveau: fence: fix undefined fence state after emit 2023-08-31 00:46:23 +02:00
nouveau_dmem.h drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
nouveau_dp.c drm/nouveau/disp: move link training out of supervisor 2023-09-19 18:22:19 -04:00
nouveau_drm.c drm: Update file owner during use 2023-09-20 15:27:44 +02:00
nouveau_drv.h nouveau/u_memcpya: fix NULL vs error pointer bug 2023-09-20 00:20:08 +02:00
nouveau_encoder.h drm/nouveau/disp: add dp train method 2023-09-19 18:22:18 -04:00
nouveau_exec.c Linux 6.6-rc7 2023-10-23 18:20:06 +10:00
nouveau_exec.h drm/nouveau: exec: report max pushs through getparam 2023-10-04 00:10:18 +02:00
nouveau_fence.c drm/nouveau: fence: fix type cast warning in nouveau_fence_emit() 2023-09-20 00:15:50 +02:00
nouveau_fence.h drm/nouveau: fence: fix undefined fence state after emit 2023-08-31 00:46:23 +02:00
nouveau_gem.c drm/nouveau: fence: fix undefined fence state after emit 2023-08-31 00:46:23 +02:00
nouveau_gem.h drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_hwmon.c drm/nouveau: constify pointers to hwmon_channel_info 2023-05-22 16:39:04 +02:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h drm/nouveau/led: explicitly include linux/leds.h 2023-02-15 18:05:57 -05:00
nouveau_mem.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
nouveau_mem.h drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_nvif.c drm/nouveau/nvkm: rip out old notify 2022-11-09 10:44:27 +10:00
nouveau_platform.c drm/nouveau/gr/gk20a: move MODULE_FIRMWARE firmware definitions 2020-05-22 11:13:49 +10:00
nouveau_platform.h
nouveau_prime.c drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_reg.h
nouveau_sched.c Merge tag 'drm-misc-next-2023-10-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next 2023-10-31 10:47:50 +10:00
nouveau_sched.h drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
nouveau_sgdma.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
nouveau_svm.c nouveau/svm: Split assignment from if conditional 2023-09-29 11:19:43 -07:00
nouveau_svm.h nouveau/svm: use the new migration invalidation 2020-07-28 16:20:33 -03:00
nouveau_ttm.c drm/nouveau: stop using is_swiotlb_active 2023-06-07 15:11:26 +02:00
nouveau_ttm.h drm/nouveau: Implement mmap as GEM object function 2021-05-26 20:56:33 +02:00
nouveau_usif.c drm/nouveau/nvkm: rip out old notify 2022-11-09 10:44:27 +10:00
nouveau_usif.h
nouveau_uvmm.c drm/nouveau: uvmm: rename 'umgr' to 'base' 2023-09-26 01:58:29 +02:00
nouveau_uvmm.h drm/nouveau: uvmm: rename 'umgr' to 'base' 2023-09-26 01:58:29 +02:00
nouveau_vga.c drm/nouveau: Remove unnecessary include statements for drm_crtc_helper.h 2023-01-18 09:25:31 +01:00
nouveau_vga.h
nouveau_vmm.c drm/nouveau: nvkm/vmm: implement raw ops to manage uvmm 2023-08-04 20:34:39 +02:00
nouveau_vmm.h
nv04_fence.c drm/nouveau/fence: convert emit() to new push macros 2020-07-24 18:50:58 +10:00
nv10_fence.c drm/nouveau/fence: use NVIDIA's headers for read() 2020-07-24 18:51:04 +10:00
nv10_fence.h
nv17_fence.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nv50_display.h drm/nouveau: dispnv50: fix missing-prototypes warning 2023-05-22 16:39:04 +02:00
nv50_fence.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nv84_fence.c drm/nouveau/fifo/ga100-: initial support 2022-11-09 10:44:50 +10:00
nvc0_fence.c drm/nouveau/fence: use NVIDIA's headers for sync() 2020-07-24 18:51:04 +10:00