All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.