This patch series adds the nova-drm skeleton driver. nova-drm is connected to nova-core through the auxiliary bus and implements the DRM parts of the nova driver stack.
For now, it implements the fundamental DRM abstractions, i.e. creates a DRM device and registers it, exposing a three sample IOCTLs. DRM_IOCTL_NOVA_GETPARAM - provides the PCI bar size from the bar that maps the GPUs VRAM from nova-core DRM_IOCTL_NOVA_GEM_CREATE - creates a new dummy DRM GEM object and returns a handle DRM_IOCTL_NOVA_GEM_INFO - provides metadata for the DRM GEM object behinda given handle I implemented a small userspace test suite [1] that utilizes this interface. The patches from this series are also available in [2]. [1] https://gitlab.freedesktop.org/dakr/drm-test [2] https://gitlab.freedesktop.org/drm/nova/-/tree/staging/nova-drm Changes in v2: - Implement abstractions for the corresponding ::kernel::uapi:: types. Danilo Krummrich (2): gpu: nova-core: register auxiliary device for nova-drm drm: nova-drm: add initial driver skeleton MAINTAINERS | 12 ++++ drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + 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/nova_core.rs | 2 + include/uapi/drm/nova_drm.h | 101 +++++++++++++++++++++++++++++ rust/uapi/uapi_helper.h | 1 + 15 files changed, 416 insertions(+), 1 deletion(-) 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 include/uapi/drm/nova_drm.h base-commit: b5cb47f81a2857d270cabbbb3a9feec0e483caed -- 2.49.0