Makefile 6.5 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 36 37
# Extra header tests
include $(src)/Makefile.header-test

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

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 \
D
Daniel Vetter 已提交
45
	  i915_params.o \
46
	  i915_pci.o \
47
	  i915_scatterlist.o \
P
Pedro Tammela 已提交
48
	  i915_suspend.o \
D
Daniel Vetter 已提交
49
	  i915_sysfs.o \
D
Daniel Vetter 已提交
50
	  intel_csr.o \
51
	  intel_device_info.o \
52
	  intel_pm.o \
53
	  intel_runtime_pm.o \
54 55 56
	  intel_sideband.o \
	  intel_uncore.o \
	  intel_wakeref.o
57 58 59 60 61 62 63 64

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

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

70 71 72 73 74 75
# "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 \
76
	gt/intel_engine_pm.o \
77
	gt/intel_gt.o \
78
	gt/intel_gt_pm.o \
79 80 81 82 83 84
	gt/intel_hangcheck.o \
	gt/intel_lrc.o \
	gt/intel_reset.o \
	gt/intel_ringbuffer.o \
	gt/intel_mocs.o \
	gt/intel_sseu.o \
85
	gt/intel_timeline.o \
86 87 88 89 90 91
	gt/intel_workarounds.o
gt-$(CONFIG_DRM_I915_SELFTEST) += \
	gt/mock_engine.o
i915-y += $(gt-y)

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

135
# general-purpose microcontroller (GuC) support
136
i915-y += intel_uc.o \
137
	  intel_uc_fw.o \
138
	  intel_guc.o \
139
	  intel_guc_ads.o \
140
	  intel_guc_ct.o \
141
	  intel_guc_fw.o \
142 143
	  intel_guc_log.o \
	  intel_guc_submission.o \
144 145
	  intel_huc.o \
	  intel_huc_fw.o
146

147 148 149
# autogenerated null render state
i915-y += intel_renderstate_gen6.o \
	  intel_renderstate_gen7.o \
150 151
	  intel_renderstate_gen8.o \
	  intel_renderstate_gen9.o
152

D
Daniel Vetter 已提交
153
# modesetting core code
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
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 \
	display/intel_sprite.o
i915-$(CONFIG_ACPI) += \
	display/intel_acpi.o \
	display/intel_opregion.o
i915-$(CONFIG_DRM_FBDEV_EMULATION) += \
	display/intel_fbdev.o
D
Daniel Vetter 已提交
184 185

# modesetting output/encoder code
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
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
214

215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
# 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

234 235
# Post-mortem debug and GPU hang state capture
i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o
236
i915-$(CONFIG_DRM_I915_SELFTEST) += \
237
	gem/selftests/igt_gem_utils.o \
238
	selftests/i915_random.o \
239
	selftests/i915_selftest.o \
240
	selftests/igt_flush_test.o \
241
	selftests/igt_live_test.o \
242
	selftests/igt_reset.o \
243
	selftests/igt_spinner.o
244

245 246 247
# virtual gpu code
i915-y += i915_vgpu.o

248 249 250 251 252
ifeq ($(CONFIG_DRM_I915_GVT),y)
i915-y += intel_gvt.o
include $(src)/gvt/Makefile
endif

253
obj-$(CONFIG_DRM_I915) += i915.o
254
obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o