Makefile 6.7 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0
2 3 4 5
#
# Makefile for the drm device driver.  This driver provides support for the
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.

6 7 8 9 10 11 12 13 14
# Add a set of useful warning flags and enable -Werror for CI to prevent
# trivial mistakes from creeping in. We have to do this piecemeal as we reject
# any patch that isn't warning clean, so turning on -Wall -Wextra (or W=1) we
# need to filter out dubious warnings.  Still it is our interest
# to keep running locally with W=1 C=1 until we are completely clean.
#
# Note the danger in using -Wall -Wextra is that when CI updates gcc we
# will most likely get a sudden build breakage... Hopefully we will fix
# new warnings before CI updates!
K
Kees Cook 已提交
15
subdir-ccflags-y := -Wall -Wextra
16 17 18 19
subdir-ccflags-y += $(call cc-disable-warning, unused-parameter)
subdir-ccflags-y += $(call cc-disable-warning, type-limits)
subdir-ccflags-y += $(call cc-disable-warning, missing-field-initializers)
subdir-ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
20
subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
21 22 23 24
# clang warnings
subdir-ccflags-y += $(call cc-disable-warning, sign-compare)
subdir-ccflags-y += $(call cc-disable-warning, sometimes-uninitialized)
subdir-ccflags-y += $(call cc-disable-warning, initializer-overrides)
25
subdir-ccflags-y += $(call cc-disable-warning, uninitialized)
26 27 28
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror

# Fine grained warnings disable
29 30
CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
CFLAGS_intel_fbdev.o = $(call cc-disable-warning, override-init)
31

32 33
subdir-ccflags-y += \
	$(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
34

35
# Extra header tests
36
header-test-pattern-$(CONFIG_DRM_I915_WERROR) := *.h
37

38
subdir-ccflags-y += -I$(srctree)/$(src)
39

D
Daniel Vetter 已提交
40 41 42
# Please keep these build lists sorted!

# core driver code
43
i915-y += i915_drv.o \
D
Daniel Vetter 已提交
44
	  i915_irq.o \
45
	  i915_getparam.o \
D
Daniel Vetter 已提交
46
	  i915_params.o \
47
	  i915_pci.o \
48
	  i915_scatterlist.o \
P
Pedro Tammela 已提交
49
	  i915_suspend.o \
D
Daniel Vetter 已提交
50
	  i915_sysfs.o \
51
	  i915_utils.o \
D
Daniel Vetter 已提交
52
	  intel_csr.o \
53
	  intel_device_info.o \
54
	  intel_pch.o \
55
	  intel_pm.o \
56
	  intel_runtime_pm.o \
57 58 59
	  intel_sideband.o \
	  intel_uncore.o \
	  intel_wakeref.o
60 61 62 63 64 65 66 67

# core library code
i915-y += \
	i915_memcpy.o \
	i915_mm.o \
	i915_sw_fence.o \
	i915_syncmap.o \
	i915_user_extensions.o
68

D
Daniel Vetter 已提交
69
i915-$(CONFIG_COMPAT)   += i915_ioc32.o
70
i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o display/intel_pipe_crc.o
71
i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
D
Daniel Vetter 已提交
72

73 74 75 76 77 78
# "Graphics Technology" (aka we talk to the gpu)
obj-y += gt/
gt-y += \
	gt/intel_breadcrumbs.o \
	gt/intel_context.o \
	gt/intel_engine_cs.o \
79
	gt/intel_engine_pool.o \
80
	gt/intel_engine_pm.o \
81
	gt/intel_engine_user.o \
82
	gt/intel_gt.o \
83
	gt/intel_gt_pm.o \
84 85
	gt/intel_hangcheck.o \
	gt/intel_lrc.o \
86
	gt/intel_renderstate.o \
87 88 89 90
	gt/intel_reset.o \
	gt/intel_ringbuffer.o \
	gt/intel_mocs.o \
	gt/intel_sseu.o \
91
	gt/intel_timeline.o \
92
	gt/intel_workarounds.o
93 94 95 96 97 98
# autogenerated null render state
gt-y += \
	gt/gen6_renderstate.o \
	gt/gen7_renderstate.o \
	gt/gen8_renderstate.o \
	gt/gen9_renderstate.o
99 100 101
i915-y += $(gt-y)

# GEM (Graphics Execution Management) code
102
obj-y += gem/
103
gem-y += \
104
	gem/i915_gem_busy.o \
105
	gem/i915_gem_clflush.o \
106
	gem/i915_gem_client_blt.o \
107 108
	gem/i915_gem_context.o \
	gem/i915_gem_dmabuf.o \
109
	gem/i915_gem_domain.o \
110
	gem/i915_gem_execbuffer.o \
111
	gem/i915_gem_fence.o \
112
	gem/i915_gem_internal.o \
113
	gem/i915_gem_object.o \
114
	gem/i915_gem_object_blt.o \
115
	gem/i915_gem_mman.o \
116 117
	gem/i915_gem_pages.o \
	gem/i915_gem_phys.o \
118 119 120 121
	gem/i915_gem_pm.o \
	gem/i915_gem_shmem.o \
	gem/i915_gem_shrinker.o \
	gem/i915_gem_stolen.o \
122
	gem/i915_gem_throttle.o \
123 124
	gem/i915_gem_tiling.o \
	gem/i915_gem_userptr.o \
125
	gem/i915_gem_wait.o \
126
	gem/i915_gemfs.o
127
i915-y += \
128
	  $(gem-y) \
129
	  i915_active.o \
M
Matthew Auld 已提交
130
	  i915_buddy.o \
131
	  i915_cmd_parser.o \
132
	  i915_gem_evict.o \
J
Joonas Lahtinen 已提交
133
	  i915_gem_fence_reg.o \
134
	  i915_gem_gtt.o \
D
Daniel Vetter 已提交
135
	  i915_gem.o \
136
	  i915_globals.o \
L
Lionel Landwerlin 已提交
137
	  i915_query.o \
138
	  i915_request.o \
139
	  i915_scheduler.o \
C
Chris Wilson 已提交
140
	  i915_trace_points.o \
J
Joonas Lahtinen 已提交
141
	  i915_vma.o \
142
	  intel_wopcm.o
D
Daniel Vetter 已提交
143

144
# general-purpose microcontroller (GuC) support
145 146 147 148 149 150 151 152 153 154 155
obj-y += gt/uc/
i915-y += gt/uc/intel_uc.o \
	  gt/uc/intel_uc_fw.o \
	  gt/uc/intel_guc.o \
	  gt/uc/intel_guc_ads.o \
	  gt/uc/intel_guc_ct.o \
	  gt/uc/intel_guc_fw.o \
	  gt/uc/intel_guc_log.o \
	  gt/uc/intel_guc_submission.o \
	  gt/uc/intel_huc.o \
	  gt/uc/intel_huc_fw.o
156

D
Daniel Vetter 已提交
157
# modesetting core code
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
obj-y += display/
i915-y += \
	display/intel_atomic.o \
	display/intel_atomic_plane.o \
	display/intel_audio.o \
	display/intel_bios.o \
	display/intel_bw.o \
	display/intel_cdclk.o \
	display/intel_color.o \
	display/intel_combo_phy.o \
	display/intel_connector.o \
	display/intel_display.o \
	display/intel_display_power.o \
	display/intel_dpio_phy.o \
	display/intel_dpll_mgr.o \
	display/intel_fbc.o \
	display/intel_fifo_underrun.o \
	display/intel_frontbuffer.o \
	display/intel_hdcp.o \
	display/intel_hotplug.o \
	display/intel_lpe_audio.o \
	display/intel_overlay.o \
	display/intel_psr.o \
	display/intel_quirks.o \
182 183
	display/intel_sprite.o \
	display/intel_tc.o
184 185 186 187 188
i915-$(CONFIG_ACPI) += \
	display/intel_acpi.o \
	display/intel_opregion.o
i915-$(CONFIG_DRM_FBDEV_EMULATION) += \
	display/intel_fbdev.o
D
Daniel Vetter 已提交
189 190

# modesetting output/encoder code
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
i915-y += \
	display/dvo_ch7017.o \
	display/dvo_ch7xxx.o \
	display/dvo_ivch.o \
	display/dvo_ns2501.o \
	display/dvo_sil164.o \
	display/dvo_tfp410.o \
	display/icl_dsi.o \
	display/intel_crt.o \
	display/intel_ddi.o \
	display/intel_dp.o \
	display/intel_dp_aux_backlight.o \
	display/intel_dp_link_training.o \
	display/intel_dp_mst.o \
	display/intel_dsi.o \
	display/intel_dsi_dcs_backlight.o \
	display/intel_dsi_vbt.o \
	display/intel_dvo.o \
	display/intel_gmbus.o \
	display/intel_hdmi.o \
	display/intel_lspcon.o \
	display/intel_lvds.o \
	display/intel_panel.o \
	display/intel_sdvo.o \
	display/intel_tv.o \
	display/intel_vdsc.o \
	display/vlv_dsi.o \
	display/vlv_dsi_pll.o
219

220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
# perf code
obj-y += oa/
i915-y += \
	oa/i915_oa_hsw.o \
	oa/i915_oa_bdw.o \
	oa/i915_oa_chv.o \
	oa/i915_oa_sklgt2.o \
	oa/i915_oa_sklgt3.o \
	oa/i915_oa_sklgt4.o \
	oa/i915_oa_bxt.o \
	oa/i915_oa_kblgt2.o \
	oa/i915_oa_kblgt3.o \
	oa/i915_oa_glk.o \
	oa/i915_oa_cflgt2.o \
	oa/i915_oa_cflgt3.o \
	oa/i915_oa_cnl.o \
	oa/i915_oa_icl.o
i915-y += i915_perf.o

239 240
# Post-mortem debug and GPU hang state capture
i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o
241
i915-$(CONFIG_DRM_I915_SELFTEST) += \
242
	gem/selftests/igt_gem_utils.o \
243
	selftests/i915_random.o \
244
	selftests/i915_selftest.o \
245
	selftests/igt_flush_test.o \
246
	selftests/igt_live_test.o \
247
	selftests/igt_reset.o \
248
	selftests/igt_spinner.o
249

250 251 252
# virtual gpu code
i915-y += i915_vgpu.o

253 254 255 256 257
ifeq ($(CONFIG_DRM_I915_GVT),y)
i915-y += intel_gvt.o
include $(src)/gvt/Makefile
endif

258
obj-$(CONFIG_DRM_I915) += i915.o
259
obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o