1# $NetBSD: Makefile,v 1.23 2023/09/04 21:45:35 mrg Exp $
2
3.include "../Makefile.inc"
4.include "../drmkms/Makefile.inc"
5
6KMOD=	i915drmkms
7IOCONF=	i915drmkms.ioconf
8MKLDSCRIPT=yes
9
10.PATH:	${S}/external/bsd/drm2/i915drm
11
12.PATH:	${S}/external/bsd/drm2/dist/drm/i915
13.PATH:	${S}/external/bsd/drm2/dist/drm/i915/display
14.PATH:	${S}/external/bsd/drm2/dist/drm/i915/gem
15.PATH:	${S}/external/bsd/drm2/dist/drm/i915/gt
16.PATH:	${S}/external/bsd/drm2/dist/drm/i915/gt/uc
17
18CPPFLAGS+=	-I${S}/sys/modules/drmkms
19
20CPPFLAGS+=	-I${S}/external/bsd/drm2/i915drm
21
22CPPFLAGS+=	-I${S}/external/bsd/drm2/dist/drm/i915
23
24# Substitute for _KERNEL_OPT flags.
25CPPFLAGS+=	-DNACPICA=1
26CPPFLAGS+=	-DNVGA=1
27
28CPPFLAGS+=	-DCONFIG_DRM_FBDEV_EMULATION=1
29CPPFLAGS+=	-DCONFIG_DRM_I915_DEBUG=1 # XXX
30CPPFLAGS+=	-DCONFIG_DRM_I915_DEBUG_GEM=1 # XXX
31CPPFLAGS+=	-DCONFIG_DRM_I915_DEBUG_RUNTIME_PM=0
32CPPFLAGS+=	-DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640
33CPPFLAGS+=	-DCONFIG_DRM_I915_TIMESLICE_DURATION=1
34CPPFLAGS+=	-DCONFIG_DRM_I915_ALPHA_SUPPORT=0
35CPPFLAGS+=	-DCONFIG_DRM_I915_FBDEV=1
36CPPFLAGS+=	-DCONFIG_DRM_I915_GVT=0
37CPPFLAGS+=	-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0
38CPPFLAGS+=	-DCONFIG_DRM_I915_DEBUG_MMIO=1 # XXX
39CPPFLAGS+=	-DCONFIG_DRM_I915_FORCE_PROBE=0
40CPPFLAGS+=	-DCONFIG_DRM_I915_SPIN_REQUEST=0
41CPPFLAGS+=	-DCONFIG_DRM_I915_SW_FENCE_CHECK_DAG=1 # XXX expensive debug option?
42CPPFLAGS+=	-DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 # milliseconds
43CPPFLAGS+=	-DCONFIG_DRM_I915_STOP_TIMEOUT=100 # milliseconds
44CPPFLAGS+=	-DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640 # milliseconds
45CPPFLAGS+=	-DCONFIG_DRM_I915_CAPTURE_ERROR=0
46CPPFLAGS+=	-DCONFIG_DRM_I915_SELFTEST=0
47CPPFLAGS+=	-DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=0
48CPPFLAGS+=	-DCONFIG_PM=1
49CPPFLAGS+=	-DCONFIG_INTEL_MEI_HDCP=0
50
51# This code comes from the Linux kernel, which assumes signed
52# overflow is OK.
53COPTS+=		-fwrapv
54
55CWARNFLAGS+=	-Wno-missing-field-initializers
56CWARNFLAGS+=	-Wno-pointer-arith
57CWARNFLAGS+=	-Wno-shadow
58
59COPTS.i915_irq.c+=	${CC_WNO_MAYBE_UNINITIALIZED}
60COPTS.i915_pci.c+=	${${ACTIVE_CC} == "gcc":? -Wno-override-init :}
61COPTS.i915_pci.c+=	${${ACTIVE_CC} == "clang":? -Wno-initializer-overrides :}
62COPTS.i915_sw_fence.c+=	${${ACTIVE_CC} == "clang":? -Wno-unused-function :}
63COPTS.intel_ddi.c+=	${CC_WNO_IMPLICIT_FALLTHROUGH}
64COPTS.intel_ddi.c+=	${CC_WNO_MAYBE_UNINITIALIZED}
65COPTS.intel_display.c+=	${CC_WNO_IMPLICIT_FALLTHROUGH}
66COPTS.intel_display_power.c+=	${${ACTIVE_CC} == "gcc":? -Wno-array-bounds :}
67COPTS.intel_dp.c+=	${CC_WNO_STRINGOP_OVERREAD}
68COPTS.intel_guc_submission.c+=	${${ACTIVE_CC} == "clang":? -Wno-unused-function :}
69COPTS.intel_hdmi.c+=	${${ACTIVE_CC} == "clang":? -Wno-unused-function :}
70COPTS.intel_pm.c+=	${CC_WNO_STRINGOP_OVERREAD} ${CC_WNO_STRINGOP_OVERFLOW}
71COPTS.intel_sdvo.c+=	${CC_WNO_IMPLICIT_FALLTHROUGH}
72COPTS.intel_sprite.c+=	${CC_WNO_MAYBE_UNINITIALIZED}
73
74# NetBSD additions.
75SRCS+=	i915_module.c
76SRCS+=	i915_pci_autoconf.c
77SRCS+=	intelfb.c
78
79# Local overrides.
80SRCS+=	i915_gem_userptr.c
81SRCS+=	i915_gemfs.c
82SRCS+=	i915_switcheroo.c
83SRCS+=	i915_sysfs.c
84SRCS+=	i915_trace_points.c
85SRCS+=	icl_dsi.c
86SRCS+=	intel_dsi_dcs_backlight.c
87SRCS+=	intel_gtt_subr.c
88SRCS+=	intel_guc_log.c
89SRCS+=	intel_lpe_audio.c
90SRCS+=	intel_region_lmem.c
91SRCS+=	vlv_dsi.c
92
93# Upstream sources.
94#
95# sed -E -e 's,^(#?)file	.*/([^ 	]*).*,\1SRCS+=	\2,g'
96SRCS+=	dvo_ch7017.c
97SRCS+=	dvo_ch7xxx.c
98SRCS+=	dvo_ivch.c
99SRCS+=	dvo_ns2501.c
100SRCS+=	dvo_sil164.c
101SRCS+=	dvo_tfp410.c
102#SRCS+=	icl_dsi.c
103SRCS+=	intel_acpi.c
104SRCS+=	intel_atomic.c
105SRCS+=	intel_atomic_plane.c
106SRCS+=	intel_audio.c
107SRCS+=	intel_bios.c
108SRCS+=	intel_bw.c
109SRCS+=	intel_cdclk.c
110SRCS+=	intel_color.c
111SRCS+=	intel_combo_phy.c
112SRCS+=	intel_connector.c
113SRCS+=	intel_crt.c
114SRCS+=	intel_ddi.c
115SRCS+=	intel_display.c
116SRCS+=	intel_display_power.c
117SRCS+=	intel_dp.c
118SRCS+=	intel_dp_aux_backlight.c
119SRCS+=	intel_dp_link_training.c
120SRCS+=	intel_dp_mst.c
121SRCS+=	intel_dpio_phy.c
122SRCS+=	intel_dpll_mgr.c
123SRCS+=	intel_dsb.c
124#SRCS+=	intel_dsi.c
125#SRCS+=	intel_dsi_dcs_backlight.c
126#SRCS+=	intel_dsi_vbt.c
127SRCS+=	intel_dvo.c
128SRCS+=	intel_fbc.c
129SRCS+=	intel_fbdev.c
130SRCS+=	intel_fifo_underrun.c
131SRCS+=	intel_frontbuffer.c
132SRCS+=	intel_gmbus.c
133SRCS+=	intel_hdcp.c
134SRCS+=	intel_hdmi.c
135SRCS+=	intel_hotplug.c
136#SRCS+=	intel_lpe_audio.c
137SRCS+=	intel_lspcon.c
138SRCS+=	intel_lvds.c
139SRCS+=	intel_opregion.c
140SRCS+=	intel_overlay.c
141SRCS+=	intel_panel.c
142SRCS+=	intel_psr.c
143SRCS+=	intel_quirks.c
144SRCS+=	intel_sdvo.c
145SRCS+=	intel_sprite.c
146SRCS+=	intel_tc.c
147SRCS+=	intel_tv.c
148SRCS+=	intel_vdsc.c
149SRCS+=	intel_vga.c
150#SRCS+=	vlv_dsi.c
151#SRCS+=	vlv_dsi_pll.c
152SRCS+=	i915_gem_busy.c
153SRCS+=	i915_gem_clflush.c
154#SRCS+=	i915_gem_client_blt.c
155SRCS+=	i915_gem_context.c
156SRCS+=	i915_gem_dmabuf.c
157SRCS+=	i915_gem_domain.c
158SRCS+=	i915_gem_execbuffer.c
159SRCS+=	i915_gem_fence.c
160SRCS+=	i915_gem_internal.c
161SRCS+=	i915_gem_lmem.c
162SRCS+=	i915_gem_mman.c
163SRCS+=	i915_gem_object.c
164SRCS+=	i915_gem_object_blt.c
165SRCS+=	i915_gem_pages.c
166SRCS+=	i915_gem_phys.c
167SRCS+=	i915_gem_pm.c
168SRCS+=	i915_gem_region.c
169SRCS+=	i915_gem_shmem.c
170SRCS+=	i915_gem_shrinker.c
171SRCS+=	i915_gem_stolen.c
172SRCS+=	i915_gem_throttle.c
173SRCS+=	i915_gem_tiling.c
174#SRCS+=	i915_gem_userptr.c
175SRCS+=	i915_gem_wait.c
176#SRCS+=	i915_gemfs.c
177#SRCS+=	debugfs_engines.c
178#SRCS+=	debugfs_gt.c
179#SRCS+=	debugfs_gt_pm.c
180SRCS+=	gen6_ppgtt.c
181SRCS+=	gen6_renderstate.c
182SRCS+=	gen7_renderstate.c
183SRCS+=	gen8_ppgtt.c
184SRCS+=	gen8_renderstate.c
185SRCS+=	gen9_renderstate.c
186SRCS+=	intel_breadcrumbs.c
187SRCS+=	intel_context.c
188SRCS+=	intel_engine_cs.c
189SRCS+=	intel_engine_heartbeat.c
190SRCS+=	intel_engine_pm.c
191SRCS+=	intel_engine_pool.c
192SRCS+=	intel_engine_user.c
193SRCS+=	intel_ggtt.c
194SRCS+=	intel_gt.c
195SRCS+=	intel_gt_irq.c
196SRCS+=	intel_gt_pm.c
197SRCS+=	intel_gt_pm_irq.c
198SRCS+=	intel_gt_requests.c
199SRCS+=	intel_gtt.c
200SRCS+=	intel_llc.c
201SRCS+=	intel_lrc.c
202SRCS+=	intel_mocs.c
203SRCS+=	intel_ppgtt.c
204SRCS+=	intel_rc6.c
205SRCS+=	intel_renderstate.c
206SRCS+=	intel_reset.c
207SRCS+=	intel_ring.c
208SRCS+=	intel_ring_submission.c
209SRCS+=	intel_rps.c
210SRCS+=	intel_sseu.c
211SRCS+=	intel_timeline.c
212SRCS+=	intel_workarounds.c
213SRCS+=	intel_guc.c
214SRCS+=	intel_guc_ads.c
215SRCS+=	intel_guc_ct.c
216SRCS+=	intel_guc_fw.c
217#SRCS+=	intel_guc_log.c
218SRCS+=	intel_guc_submission.c
219SRCS+=	intel_huc.c
220SRCS+=	intel_huc_fw.c
221SRCS+=	intel_uc.c
222SRCS+=	intel_uc_fw.c
223SRCS+=	i915_active.c
224SRCS+=	i915_buddy.c
225SRCS+=	i915_cmd_parser.c
226SRCS+=	i915_drv.c
227SRCS+=	i915_gem.c
228SRCS+=	i915_gem_evict.c
229SRCS+=	i915_gem_fence_reg.c
230SRCS+=	i915_gem_gtt.c
231SRCS+=	i915_getparam.c
232SRCS+=	i915_globals.c
233SRCS+=	i915_irq.c
234SRCS+=	i915_memcpy.c
235#SRCS+=	i915_mm.c
236SRCS+=	i915_params.c
237SRCS+=	i915_pci.c
238SRCS+=	i915_perf.c
239SRCS+=	i915_query.c
240SRCS+=	i915_request.c
241SRCS+=	i915_scatterlist.c
242SRCS+=	i915_scheduler.c
243SRCS+=	i915_suspend.c
244SRCS+=	i915_sw_fence.c
245SRCS+=	i915_sw_fence_work.c
246#SRCS+=	i915_switcheroo.c
247SRCS+=	i915_syncmap.c
248#SRCS+=	i915_sysfs.c
249#SRCS+=	i915_trace_points.c
250SRCS+=	i915_user_extensions.c
251SRCS+=	i915_utils.c
252SRCS+=	i915_vgpu.c
253SRCS+=	i915_vma.c
254SRCS+=	intel_csr.c
255SRCS+=	intel_device_info.c
256SRCS+=	intel_memory_region.c
257SRCS+=	intel_pch.c
258SRCS+=	intel_pm.c
259#SRCS+=	intel_region_lmem.c
260SRCS+=	intel_runtime_pm.c
261SRCS+=	intel_sideband.c
262SRCS+=	intel_uncore.c
263SRCS+=	intel_wakeref.c
264SRCS+=	intel_wopcm.c
265#SRCS+=	i915_oa_bdw.c
266#SRCS+=	i915_oa_bxt.c
267#SRCS+=	i915_oa_cflgt2.c
268#SRCS+=	i915_oa_cflgt3.c
269#SRCS+=	i915_oa_chv.c
270#SRCS+=	i915_oa_cnl.c
271#SRCS+=	i915_oa_glk.c
272#SRCS+=	i915_oa_hsw.c
273#SRCS+=	i915_oa_icl.c
274#SRCS+=	i915_oa_kblgt2.c
275#SRCS+=	i915_oa_kblgt3.c
276#SRCS+=	i915_oa_sklgt2.c
277#SRCS+=	i915_oa_sklgt3.c
278#SRCS+=	i915_oa_sklgt4.c
279#SRCS+=	i915_oa_tgl.c
280
281WARNS=	3
282
283.include <bsd.kmodule.mk>
284