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