* [GIT PULL] Nova changes for v6.16
@ 2025-05-20 8:42 Danilo Krummrich
0 siblings, 0 replies; only message in thread
From: Danilo Krummrich @ 2025-05-20 8:42 UTC (permalink / raw)
To: Dave Airlie, Simona Vetter
Cc: Miguel Ojeda, Greg Kroah-Hartman, nouveau, dri-devel
Hi Dave and Sima,
Please pull the following nova changes and other dependencies.
There are two minor and trivial conflicts with Linus' tree [1] and the CONFIGFS
tree [2].
There is also a minor, but slightly less trivial conflict with the Rust Xarray
tree with a resolution in [3].
[1] https://lore.kernel.org/all/20250428123825.4acf2499@canb.auug.org.au/
[2] https://lore.kernel.org/all/20250513135521.44a26953@canb.auug.org.au/
[3] https://lore.kernel.org/all/877c344gmp.fsf@kernel.org/
The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:
Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)
are available in the Git repository at:
https://gitlab.freedesktop.org/drm/nova.git tags/nova-next-v6.16-2025-05-20
for you to fetch changes up to 276c53c66e032c8e7cc0da63555f2742eb1afd69:
gpu: drm: nova: select AUXILIARY_BUS instead of depending on it (2025-05-15 20:59:32 +0200)
----------------------------------------------------------------
Nova changes for v6.16
auxiliary:
- bus abstractions
- implementation for driver registration
- add sample driver
drm:
- implement __drm_dev_alloc()
- DRM core infrastructure Rust abstractions
- device, driver and registration
- DRM IOCTL
- DRM File
- GEM object
- IntoGEMObject rework
- generically implement AlwaysRefCounted through IntoGEMObject
- refactor unsound from_gem_obj() into as_ref()
- refactor into_gem_obj() into as_raw()
driver-core:
- merge topic/device-context-2025-04-17 from driver-core tree
- implement Devres::access()
- fix: doctest build under `!CONFIG_PCI`
- accessor for Device::parent()
- fix: conditionally expect `dead_code` for `parent()`
- impl TryFrom<&Device> bus devices (PCI, platform)
nova-core:
- remove completed Vec extentions from task list
- register auxiliary device for nova-drm
- derive useful traits for Chipset
- add missing GA100 chipset
- take &Device<Bound> in Gpu::new()
- infrastructure to generate register definitions
- fix register layout of NV_PMC_BOOT_0
- move Firmware into own (Rust) module
- fix: select AUXILIARY_BUS
nova-drm:
- initial driver skeleton (depends on drm and auxiliary bus
abstractions)
- fix: select AUXILIARY_BUS
Rust (dependencies):
- implement Opaque::zeroed()
- implement Revocable::try_access_with()
- implement Revocable::access()
----------------------------------------------------------------
Alexandre Courbot (11):
rust/revocable: add try_access_with() convenience method
samples: rust: convert PCI rust sample driver to use try_access_with()
gpu: nova-core: derive useful traits for Chipset
gpu: nova-core: add missing GA100 definition
gpu: nova-core: take bound device in Gpu::new
gpu: nova-core: define registers layout using helper macro
gpu: nova-core: fix layout of NV_PMC_BOOT_0
gpu: nova-core: move Firmware to firmware module
samples: rust: select AUXILIARY_BUS instead of depending on it
gpu: nova-core: select AUXILIARY_BUS instead of depending on it
gpu: drm: nova: select AUXILIARY_BUS instead of depending on it
Andrew Ballance (1):
gpu: nova-core: remove completed Vec extentions from task list
Asahi Lina (6):
rust: drm: ioctl: Add DRM ioctl abstraction
rust: drm: add driver abstractions
rust: drm: add device abstraction
rust: drm: add DRM driver registration
rust: drm: file: Add File abstraction
rust: drm: gem: Add GEM object abstraction
Danilo Krummrich (24):
rust: device: implement impl_device_context_deref!
rust: device: implement impl_device_context_into_aref!
rust: device: implement device context for Device
rust: platform: preserve device context in AsRef
rust: pci: preserve device context in AsRef
rust: device: implement Bound device context
rust: pci: move iomap_region() to impl Device<Bound>
rust: devres: require a bound device
rust: dma: require a bound device
Merge tag 'topic/device-context-2025-04-17' into nova-next
rust: pci: impl TryFrom<&Device> for &pci::Device
rust: platform: impl TryFrom<&Device> for &platform::Device
rust: types: add `Opaque::zeroed`
rust: device: implement Device::parent()
rust: auxiliary: add auxiliary device / driver abstractions
rust: auxiliary: add auxiliary registration
samples: rust: add Rust auxiliary driver sample
drm: drv: implement __drm_dev_alloc()
MAINTAINERS: add DRM Rust source files to DRM DRIVERS
rust: revocable: implement Revocable::access()
rust: devres: implement Devres::access()
samples: rust: pci: take advantage of Devres::access()
gpu: nova-core: register auxiliary device for nova-drm
drm: nova-drm: add initial driver skeleton
Lyude Paul (4):
rust: drm: gem: Use NonNull for Object::dev
rust: drm: gem: Refactor IntoGEMObject::from_gem_obj() to as_ref()
rust: drm: gem: s/into_gem_obj()/as_raw()/
rust: drm: gem: Implement AlwaysRefCounted for all gem objects automatically
Miguel Ojeda (2):
rust: device: conditionally expect `dead_code` for `parent()`
rust: devres: fix doctest build under `!CONFIG_PCI`
Documentation/gpu/nova/core/todo.rst | 16 ++---
MAINTAINERS | 17 ++++++
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_drv.c | 58 +++++++++++++-----
drivers/gpu/drm/nova/Kconfig | 14 +++++
drivers/gpu/drm/nova/Makefile | 3 +
drivers/gpu/drm/nova/driver.rs | 69 +++++++++++++++++++++
drivers/gpu/drm/nova/file.rs | 74 +++++++++++++++++++++++
drivers/gpu/drm/nova/gem.rs | 49 +++++++++++++++
drivers/gpu/drm/nova/nova.rs | 18 ++++++
drivers/gpu/drm/nova/uapi.rs | 61 +++++++++++++++++++
drivers/gpu/nova-core/Kconfig | 1 +
drivers/gpu/nova-core/driver.rs | 9 ++-
drivers/gpu/nova-core/firmware.rs | 44 ++++++++++++--
drivers/gpu/nova-core/gpu.rs | 86 ++++++++++++--------------
drivers/gpu/nova-core/nova_core.rs | 2 +
drivers/gpu/nova-core/regs.rs | 82 ++++++++++---------------
drivers/gpu/nova-core/regs/macros.rs | 380 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
include/drm/drm_drv.h | 5 ++
include/uapi/drm/nova_drm.h | 101 +++++++++++++++++++++++++++++++
rust/bindings/bindings_helper.h | 7 +++
rust/helpers/auxiliary.c | 23 +++++++
rust/helpers/drm.c | 23 +++++++
rust/helpers/helpers.c | 2 +
rust/helpers/pci.c | 5 ++
rust/helpers/platform.c | 5 ++
rust/kernel/auxiliary.rs | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
rust/kernel/device.rs | 109 ++++++++++++++++++++++++++++++++-
rust/kernel/devres.rs | 56 ++++++++++++++---
rust/kernel/dma.rs | 14 ++---
rust/kernel/drm/device.rs | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
rust/kernel/drm/driver.rs | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++
rust/kernel/drm/file.rs | 99 ++++++++++++++++++++++++++++++
rust/kernel/drm/gem/mod.rs | 328 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
rust/kernel/drm/ioctl.rs | 162 +++++++++++++++++++++++++++++++++++++++++++++++++
rust/kernel/drm/mod.rs | 19 ++++++
rust/kernel/lib.rs | 4 ++
rust/kernel/pci.rs | 55 ++++++++++-------
rust/kernel/platform.rs | 54 +++++++++--------
rust/kernel/revocable.rs | 28 +++++++++
rust/kernel/types.rs | 8 +++
rust/uapi/uapi_helper.h | 2 +
samples/rust/Kconfig | 12 ++++
samples/rust/Makefile | 1 +
samples/rust/rust_driver_auxiliary.rs | 120 ++++++++++++++++++++++++++++++++++++
samples/rust/rust_driver_pci.rs | 5 +-
47 files changed, 2762 insertions(+), 197 deletions(-)
create mode 100644 drivers/gpu/drm/nova/Kconfig
create mode 100644 drivers/gpu/drm/nova/Makefile
create mode 100644 drivers/gpu/drm/nova/driver.rs
create mode 100644 drivers/gpu/drm/nova/file.rs
create mode 100644 drivers/gpu/drm/nova/gem.rs
create mode 100644 drivers/gpu/drm/nova/nova.rs
create mode 100644 drivers/gpu/drm/nova/uapi.rs
create mode 100644 drivers/gpu/nova-core/regs/macros.rs
create mode 100644 include/uapi/drm/nova_drm.h
create mode 100644 rust/helpers/auxiliary.c
create mode 100644 rust/helpers/drm.c
create mode 100644 rust/kernel/auxiliary.rs
create mode 100644 rust/kernel/drm/device.rs
create mode 100644 rust/kernel/drm/driver.rs
create mode 100644 rust/kernel/drm/file.rs
create mode 100644 rust/kernel/drm/gem/mod.rs
create mode 100644 rust/kernel/drm/ioctl.rs
create mode 100644 rust/kernel/drm/mod.rs
create mode 100644 samples/rust/rust_driver_auxiliary.rs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-05-20 8:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-20 8:42 [GIT PULL] Nova changes for v6.16 Danilo Krummrich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.