# $NetBSD: files.drmkms,v 1.30.4.1 2020/01/05 11:05:53 martin Exp $
include "external/bsd/drm2/linux/files.drmkms_linux"
# i2c code is not separated out, but it is marked so that it could be
# if we wanted. Not clear that this provides as much advantage as
# separating out PCI code, which will be necessary for, e.g., PCIless
# ARM SoC graphics drivers.
define drmkms_i2c: drmkms_linux
define drmkms: drmkms_linux, drmkms_i2c, linux
defflag opt_drmkms.h DRMKMS_DEBUG
# Overrides first.
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/drm2/include"
makeoptions drmkms_ttm CPPFLAGS+="-I$S/external/bsd/drm2/include/drm"
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/common/include"
# Then upstream.
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/drm2/dist/include"
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/drm2/dist/include/drm"
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/drm2/dist/uapi"
# Must come last because some header file names are repeated in
# dist/drm (I'm looking ta you, drm_legacy.h), while others sometimes
# explicitly write <uapi/...>. (Maybe that should have been imported
# under dist/include/uapi rather than dist/uapi.)
makeoptions drmkms CPPFLAGS+="-I$S/external/bsd/drm2/dist"
# XXX Should probably be in a header file. opt_drmkms.h?
makeoptions drmkms CPPFLAGS+="-D__KERNEL__"
makeoptions drmkms CPPFLAGS+="-DCONFIG_BACKLIGHT_CLASS_DEVICE=0"
makeoptions drmkms CPPFLAGS+="-DCONFIG_BACKLIGHT_CLASS_DEVICE_MODULE=0"
makeoptions drmkms CPPFLAGS+="-DCONFIG_DRM_FBDEV_EMULATION=1"
makeoptions drmkms CPPFLAGS+="-DCONFIG_FB=0"
# NetBSD additions.
file external/bsd/drm2/drm/drm_agp_hook.c drmkms
file external/bsd/drm2/drm/drm_cdevsw.c drmkms
file external/bsd/drm2/drm/drm_gem_cma_helper.c drmkms
file external/bsd/drm2/drm/drm_gem_vm.c drmkms
file external/bsd/drm2/drm/drm_module.c drmkms
file external/bsd/drm2/drm/drm_sysctl.c drmkms
# Generic, unaccelerated kms framebuffer.
define drmfb: genfb
file external/bsd/drm2/drm/drmfb.c drmfb
include "external/bsd/drm2/ttm/files.ttm"
makeoptions drmkms "CWARNFLAGS.drm_atomic_helper.c"+="-Wno-shadow"
makeoptions drmkms "CWARNFLAGS.drm_crtc.c"+="-Wno-missing-field-initializers"
makeoptions drmkms "CWARNFLAGS.drm_crtc.c"+="-Wno-shadow"
makeoptions drmkms "CWARNFLAGS.drm_edid.c"+="-Wno-shadow"
makeoptions drmkms "CWARNFLAGS.drm_ioctl.c"+="-Wno-shadow"
#file external/bsd/drm2/dist/drm/ati_pcigart.c drmkms # drmkms_pci
#file external/bsd/drm2/dist/drm/drm_agpsupport.c drmkms # drmkms_pci
file external/bsd/drm2/dist/drm/drm_atomic.c drmkms
file external/bsd/drm2/dist/drm/drm_atomic_helper.c drmkms
file external/bsd/drm2/dist/drm/drm_auth.c drmkms
file external/bsd/drm2/dist/drm/drm_bridge.c drmkms
file external/bsd/drm2/dist/drm/drm_bufs.c drmkms
file external/bsd/drm2/drm/drm_cache.c drmkms
file external/bsd/drm2/dist/drm/drm_context.c drmkms
file external/bsd/drm2/dist/drm/drm_crtc.c drmkms
file external/bsd/drm2/dist/drm/drm_crtc_helper.c drmkms
file external/bsd/drm2/dist/drm/drm_debugfs.c drmkms
file external/bsd/drm2/dist/drm/drm_dma.c drmkms
file external/bsd/drm2/dist/drm/drm_dp_helper.c drmkms
file external/bsd/drm2/dist/drm/drm_dp_mst_topology.c drmkms
file external/bsd/drm2/dist/drm/drm_drv.c drmkms
file external/bsd/drm2/dist/drm/drm_edid.c drmkms
file external/bsd/drm2/i2c/drm_encoder_slave.c drmkms
file external/bsd/drm2/dist/drm/drm_fb_helper.c drmkms
file external/bsd/drm2/dist/drm/drm_flip_work.c drmkms
file external/bsd/drm2/drm/drm_fops.c drmkms
file external/bsd/drm2/dist/drm/drm_gem.c drmkms
file external/bsd/drm2/dist/drm/drm_global.c drmkms
file external/bsd/drm2/dist/drm/drm_hashtab.c drmkms
#file external/bsd/drm2/dist/drm/drm_info.c drmkms
file external/bsd/drm2/dist/drm/drm_ioctl.c drmkms
file external/bsd/drm2/dist/drm/drm_irq.c drmkms
file external/bsd/drm2/drm/drm_lock.c drmkms
file external/bsd/drm2/drm/drm_memory.c drmkms
file external/bsd/drm2/dist/drm/drm_mm.c drmkms
file external/bsd/drm2/dist/drm/drm_modes.c drmkms
file external/bsd/drm2/dist/drm/drm_modeset_lock.c drmkms
file external/bsd/drm2/dist/drm/drm_panel.c drmkms
#file external/bsd/drm2/dist/drm/drm_pci.c drmkms # drmkms_pci
file external/bsd/drm2/dist/drm/drm_plane_helper.c drmkms
#file external/bsd/drm2/dist/drm/drm_platform.c drmkms
file external/bsd/drm2/dist/drm/drm_prime.c drmkms
file external/bsd/drm2/dist/drm/drm_probe_helper.c drmkms
file external/bsd/drm2/dist/drm/drm_rect.c drmkms
file external/bsd/drm2/drm/drm_scatter.c drmkms
file external/bsd/drm2/drm/drm_sysfs.c drmkms
file external/bsd/drm2/dist/drm/drm_trace_points.c drmkms
file external/bsd/drm2/drm/drm_vm.c drmkms
file external/bsd/drm2/drm/drm_vma_manager.c drmkms