linux-yocto/drivers/gpu/drm/nouveau/Kbuild
Ben Skeggs ba6b8479c9 drm/nouveau: handle limited nvif ioctl in abi16
nouveau_usif.c was already stripped right back a couple of years ago,
limiting what userspace could do with it.

A follow-on series removes the nvkm side of these interfaces entirely,
in order to make it less of a nightmare to add/change internal APIs in
the future.

Unfortunately.  Userspace uses some of this.

Fortunately, userspace only ever ended up using a fraction of the APIs,
so those are reimplemened here in a more direct manner, and return
-EINVAL to userspace for everything else.

v2:
- simplified struct nouveau_abi16_obj
- added a couple of comments
v3:
- comment harder

Signed-off-by: Ben Skeggs <bskeggs@nvidia.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240726043828.58966-9-bskeggs@nvidia.com
2024-07-27 03:05:22 +02:00

2.0 KiB

SPDX-License-Identifier: MIT

ccflags-y += -I $(src)/include ccflags-y += -I $(src)/include/nvkm ccflags-y += -I $(src)/nvkm ccflags-y += -I $(src)

NVKM - HW resource manager

#- code also used by various userspace tools/tests include $(src)/nvif/Kbuild nouveau-y := $(nvif-y)

NVIF - NVKM interface library (NVKM user interface also defined here)

#- code also used by various userspace tools/tests include $(src)/nvkm/Kbuild nouveau-y += $(nvkm-y)

DRM - general

ifdef CONFIG_X86 nouveau-$(CONFIG_ACPI) += nouveau_acpi.o endif nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o nouveau-y += nouveau_drm.o nouveau-y += nouveau_hwmon.o nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o nouveau-$(CONFIG_LEDS_CLASS) += nouveau_led.o nouveau-y += nouveau_nvif.o nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o nouveau-y += nouveau_vga.o

DRM - memory management

nouveau-y += nouveau_bo.o nouveau-y += nouveau_bo0039.o nouveau-y += nouveau_bo5039.o nouveau-y += nouveau_bo74c1.o nouveau-y += nouveau_bo85b5.o nouveau-y += nouveau_bo9039.o nouveau-y += nouveau_bo90b5.o nouveau-y += nouveau_boa0b5.o nouveau-y += nouveau_gem.o nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_svm.o nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_dmem.o nouveau-y += nouveau_mem.o nouveau-y += nouveau_prime.o nouveau-y += nouveau_sgdma.o nouveau-y += nouveau_ttm.o nouveau-y += nouveau_vmm.o nouveau-y += nouveau_exec.o nouveau-y += nouveau_sched.o nouveau-y += nouveau_uvmm.o

DRM - modesetting

nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o nouveau-y += nouveau_bios.o nouveau-y += nouveau_connector.o nouveau-y += nouveau_display.o nouveau-y += nouveau_dp.o include $(src)/dispnv04/Kbuild include $(src)/dispnv50/Kbuild

DRM - command submission

nouveau-y += nouveau_abi16.o nouveau-y += nouveau_chan.o nouveau-y += nouveau_dma.o nouveau-y += nouveau_fence.o nouveau-y += nv04_fence.o nouveau-y += nv10_fence.o nouveau-y += nv17_fence.o nouveau-y += nv50_fence.o nouveau-y += nv84_fence.o nouveau-y += nvc0_fence.o

obj-$(CONFIG_DRM_NOUVEAU) += nouveau.o