
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
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