Makefile 7.0 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
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)
19
subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
20 21 22 23
# 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)
24
subdir-ccflags-y += $(call cc-disable-warning, uninitialized)
25 26 27
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror

# Fine grained warnings disable
28
CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
29
CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
30

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

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

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

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

# core driver code
42
i915-y += i915_drv.o \
D
Daniel Vetter 已提交
43
	  i915_irq.o \
44
	  i915_getparam.o \
D
Daniel Vetter 已提交
45
	  i915_params.o \
46
	  i915_pci.o \
47
	  i915_scatterlist.o \
P
Pedro Tammela 已提交
48
	  i915_suspend.o \
49
	  i915_switcheroo.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_memory_region.o \
55
	  intel_pch.o \
56
	  intel_pm.o \
57
	  intel_runtime_pm.o \
58 59 60
	  intel_sideband.o \
	  intel_uncore.o \
	  intel_wakeref.o
61 62 63 64 65 66

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

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

75 76 77 78 79 80
# "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 \
81
	gt/intel_engine_heartbeat.o \
82
	gt/intel_engine_pm.o \
83
	gt/intel_engine_pool.o \
84
	gt/intel_engine_user.o \
85
	gt/intel_gt.o \
86
	gt/intel_gt_irq.o \
87
	gt/intel_gt_pm.o \
88
	gt/intel_gt_pm_irq.o \
89
	gt/intel_gt_requests.o \
A
Andi Shyti 已提交
90
	gt/intel_llc.o \
91
	gt/intel_lrc.o \
92
	gt/intel_mocs.o \
93
	gt/intel_rc6.o \
94
	gt/intel_renderstate.o \
95
	gt/intel_reset.o \
96 97
	gt/intel_ring.o \
	gt/intel_ring_submission.o \
98
	gt/intel_rps.o \
99
	gt/intel_sseu.o \
100
	gt/intel_timeline.o \
101
	gt/intel_workarounds.o
102 103 104 105 106 107
# autogenerated null render state
gt-y += \
	gt/gen6_renderstate.o \
	gt/gen7_renderstate.o \
	gt/gen8_renderstate.o \
	gt/gen9_renderstate.o
108 109 110
i915-y += $(gt-y)

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

156
# general-purpose microcontroller (GuC) support
157 158 159 160 161 162 163 164 165 166 167
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
168

D
Daniel Vetter 已提交
169
# modesetting core code
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
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 \
185
	display/intel_dsb.o \
186 187 188 189 190 191 192 193 194
	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 \
195
	display/intel_sprite.o \
196 197
	display/intel_tc.o \
	display/intel_vga.o
198 199 200 201 202
i915-$(CONFIG_ACPI) += \
	display/intel_acpi.o \
	display/intel_opregion.o
i915-$(CONFIG_DRM_FBDEV_EMULATION) += \
	display/intel_fbdev.o
D
Daniel Vetter 已提交
203 204

# modesetting output/encoder code
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
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
233

234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
# 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 \
250 251
	oa/i915_oa_icl.o \
	oa/i915_oa_tgl.o
252 253
i915-y += i915_perf.o

254 255
# Post-mortem debug and GPU hang state capture
i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o
256
i915-$(CONFIG_DRM_I915_SELFTEST) += \
257
	gem/selftests/igt_gem_utils.o \
258
	selftests/i915_random.o \
259
	selftests/i915_selftest.o \
260
	selftests/igt_flush_test.o \
261
	selftests/igt_live_test.o \
262
	selftests/igt_mmap.o \
263
	selftests/igt_reset.o \
264
	selftests/igt_spinner.o
265

266 267 268
# virtual gpu code
i915-y += i915_vgpu.o

269 270 271 272 273
ifeq ($(CONFIG_DRM_I915_GVT),y)
i915-y += intel_gvt.o
include $(src)/gvt/Makefile
endif

274
obj-$(CONFIG_DRM_I915) += i915.o
275
obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o