.. | .. |
---|
12 | 12 | # Note the danger in using -Wall -Wextra is that when CI updates gcc we |
---|
13 | 13 | # will most likely get a sudden build breakage... Hopefully we will fix |
---|
14 | 14 | # new warnings before CI updates! |
---|
15 | | -subdir-ccflags-y := -Wall -Wextra -Wvla |
---|
| 15 | +subdir-ccflags-y := -Wall -Wextra |
---|
16 | 16 | subdir-ccflags-y += $(call cc-disable-warning, unused-parameter) |
---|
17 | 17 | subdir-ccflags-y += $(call cc-disable-warning, type-limits) |
---|
18 | 18 | subdir-ccflags-y += $(call cc-disable-warning, missing-field-initializers) |
---|
19 | | -subdir-ccflags-y += $(call cc-disable-warning, implicit-fallthrough) |
---|
20 | 19 | subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable) |
---|
21 | 20 | # clang warnings |
---|
22 | 21 | subdir-ccflags-y += $(call cc-disable-warning, sign-compare) |
---|
23 | 22 | subdir-ccflags-y += $(call cc-disable-warning, sometimes-uninitialized) |
---|
24 | 23 | subdir-ccflags-y += $(call cc-disable-warning, initializer-overrides) |
---|
| 24 | +subdir-ccflags-y += $(call cc-disable-warning, uninitialized) |
---|
| 25 | +subdir-ccflags-y += $(call cc-disable-warning, frame-address) |
---|
25 | 26 | subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror |
---|
26 | 27 | |
---|
27 | 28 | # Fine grained warnings disable |
---|
28 | 29 | CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init) |
---|
29 | | -CFLAGS_intel_fbdev.o = $(call cc-disable-warning, override-init) |
---|
| 30 | +CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init) |
---|
30 | 31 | |
---|
31 | | -subdir-ccflags-y += \ |
---|
32 | | - $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA) |
---|
| 32 | +subdir-ccflags-y += -I$(srctree)/$(src) |
---|
33 | 33 | |
---|
34 | 34 | # Please keep these build lists sorted! |
---|
35 | 35 | |
---|
36 | 36 | # core driver code |
---|
37 | | -i915-y := i915_drv.o \ |
---|
| 37 | +i915-y += i915_drv.o \ |
---|
| 38 | + i915_config.o \ |
---|
38 | 39 | i915_irq.o \ |
---|
39 | | - i915_memcpy.o \ |
---|
40 | | - i915_mm.o \ |
---|
| 40 | + i915_getparam.o \ |
---|
| 41 | + i915_mitigations.o \ |
---|
41 | 42 | i915_params.o \ |
---|
42 | 43 | i915_pci.o \ |
---|
43 | | - i915_suspend.o \ |
---|
44 | | - i915_syncmap.o \ |
---|
45 | | - i915_sw_fence.o \ |
---|
| 44 | + i915_scatterlist.o \ |
---|
| 45 | + i915_suspend.o \ |
---|
| 46 | + i915_switcheroo.o \ |
---|
46 | 47 | i915_sysfs.o \ |
---|
47 | | - intel_csr.o \ |
---|
| 48 | + i915_utils.o \ |
---|
48 | 49 | intel_device_info.o \ |
---|
| 50 | + intel_dram.o \ |
---|
| 51 | + intel_memory_region.o \ |
---|
| 52 | + intel_pch.o \ |
---|
49 | 53 | intel_pm.o \ |
---|
50 | 54 | intel_runtime_pm.o \ |
---|
51 | | - intel_workarounds.o |
---|
| 55 | + intel_sideband.o \ |
---|
| 56 | + intel_uncore.o \ |
---|
| 57 | + intel_wakeref.o \ |
---|
| 58 | + vlv_suspend.o |
---|
| 59 | + |
---|
| 60 | +# core library code |
---|
| 61 | +i915-y += \ |
---|
| 62 | + i915_memcpy.o \ |
---|
| 63 | + i915_mm.o \ |
---|
| 64 | + i915_sw_fence.o \ |
---|
| 65 | + i915_sw_fence_work.o \ |
---|
| 66 | + i915_syncmap.o \ |
---|
| 67 | + i915_user_extensions.o |
---|
52 | 68 | |
---|
53 | 69 | i915-$(CONFIG_COMPAT) += i915_ioc32.o |
---|
54 | | -i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o |
---|
| 70 | +i915-$(CONFIG_DEBUG_FS) += \ |
---|
| 71 | + i915_debugfs.o \ |
---|
| 72 | + i915_debugfs_params.o \ |
---|
| 73 | + display/intel_display_debugfs.o \ |
---|
| 74 | + display/intel_pipe_crc.o |
---|
55 | 75 | i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o |
---|
56 | 76 | |
---|
57 | | -# GEM code |
---|
58 | | -i915-y += i915_cmd_parser.o \ |
---|
59 | | - i915_gem_batch_pool.o \ |
---|
60 | | - i915_gem_clflush.o \ |
---|
61 | | - i915_gem_context.o \ |
---|
62 | | - i915_gem_dmabuf.o \ |
---|
| 77 | +# "Graphics Technology" (aka we talk to the gpu) |
---|
| 78 | +gt-y += \ |
---|
| 79 | + gt/debugfs_engines.o \ |
---|
| 80 | + gt/debugfs_gt.o \ |
---|
| 81 | + gt/debugfs_gt_pm.o \ |
---|
| 82 | + gt/gen2_engine_cs.o \ |
---|
| 83 | + gt/gen6_engine_cs.o \ |
---|
| 84 | + gt/gen6_ppgtt.o \ |
---|
| 85 | + gt/gen7_renderclear.o \ |
---|
| 86 | + gt/gen8_ppgtt.o \ |
---|
| 87 | + gt/intel_breadcrumbs.o \ |
---|
| 88 | + gt/intel_context.o \ |
---|
| 89 | + gt/intel_context_param.o \ |
---|
| 90 | + gt/intel_context_sseu.o \ |
---|
| 91 | + gt/intel_engine_cs.o \ |
---|
| 92 | + gt/intel_engine_heartbeat.o \ |
---|
| 93 | + gt/intel_engine_pm.o \ |
---|
| 94 | + gt/intel_engine_user.o \ |
---|
| 95 | + gt/intel_ggtt.o \ |
---|
| 96 | + gt/intel_ggtt_fencing.o \ |
---|
| 97 | + gt/intel_gt.o \ |
---|
| 98 | + gt/intel_gt_buffer_pool.o \ |
---|
| 99 | + gt/intel_gt_clock_utils.o \ |
---|
| 100 | + gt/intel_gt_irq.o \ |
---|
| 101 | + gt/intel_gt_pm.o \ |
---|
| 102 | + gt/intel_gt_pm_irq.o \ |
---|
| 103 | + gt/intel_gt_requests.o \ |
---|
| 104 | + gt/intel_gtt.o \ |
---|
| 105 | + gt/intel_llc.o \ |
---|
| 106 | + gt/intel_lrc.o \ |
---|
| 107 | + gt/intel_mocs.o \ |
---|
| 108 | + gt/intel_ppgtt.o \ |
---|
| 109 | + gt/intel_rc6.o \ |
---|
| 110 | + gt/intel_renderstate.o \ |
---|
| 111 | + gt/intel_reset.o \ |
---|
| 112 | + gt/intel_ring.o \ |
---|
| 113 | + gt/intel_ring_submission.o \ |
---|
| 114 | + gt/intel_rps.o \ |
---|
| 115 | + gt/intel_sseu.o \ |
---|
| 116 | + gt/intel_sseu_debugfs.o \ |
---|
| 117 | + gt/intel_timeline.o \ |
---|
| 118 | + gt/intel_workarounds.o \ |
---|
| 119 | + gt/shmem_utils.o \ |
---|
| 120 | + gt/sysfs_engines.o |
---|
| 121 | +# autogenerated null render state |
---|
| 122 | +gt-y += \ |
---|
| 123 | + gt/gen6_renderstate.o \ |
---|
| 124 | + gt/gen7_renderstate.o \ |
---|
| 125 | + gt/gen8_renderstate.o \ |
---|
| 126 | + gt/gen9_renderstate.o |
---|
| 127 | +i915-y += $(gt-y) |
---|
| 128 | + |
---|
| 129 | +# GEM (Graphics Execution Management) code |
---|
| 130 | +gem-y += \ |
---|
| 131 | + gem/i915_gem_busy.o \ |
---|
| 132 | + gem/i915_gem_clflush.o \ |
---|
| 133 | + gem/i915_gem_client_blt.o \ |
---|
| 134 | + gem/i915_gem_context.o \ |
---|
| 135 | + gem/i915_gem_dmabuf.o \ |
---|
| 136 | + gem/i915_gem_domain.o \ |
---|
| 137 | + gem/i915_gem_execbuffer.o \ |
---|
| 138 | + gem/i915_gem_fence.o \ |
---|
| 139 | + gem/i915_gem_internal.o \ |
---|
| 140 | + gem/i915_gem_object.o \ |
---|
| 141 | + gem/i915_gem_object_blt.o \ |
---|
| 142 | + gem/i915_gem_lmem.o \ |
---|
| 143 | + gem/i915_gem_mman.o \ |
---|
| 144 | + gem/i915_gem_pages.o \ |
---|
| 145 | + gem/i915_gem_phys.o \ |
---|
| 146 | + gem/i915_gem_pm.o \ |
---|
| 147 | + gem/i915_gem_region.o \ |
---|
| 148 | + gem/i915_gem_shmem.o \ |
---|
| 149 | + gem/i915_gem_shrinker.o \ |
---|
| 150 | + gem/i915_gem_stolen.o \ |
---|
| 151 | + gem/i915_gem_throttle.o \ |
---|
| 152 | + gem/i915_gem_tiling.o \ |
---|
| 153 | + gem/i915_gem_userptr.o \ |
---|
| 154 | + gem/i915_gem_wait.o \ |
---|
| 155 | + gem/i915_gemfs.o |
---|
| 156 | +i915-y += \ |
---|
| 157 | + $(gem-y) \ |
---|
| 158 | + i915_active.o \ |
---|
| 159 | + i915_buddy.o \ |
---|
| 160 | + i915_cmd_parser.o \ |
---|
63 | 161 | i915_gem_evict.o \ |
---|
64 | | - i915_gem_execbuffer.o \ |
---|
65 | | - i915_gem_fence_reg.o \ |
---|
66 | 162 | i915_gem_gtt.o \ |
---|
67 | | - i915_gem_internal.o \ |
---|
68 | 163 | i915_gem.o \ |
---|
69 | | - i915_gem_object.o \ |
---|
70 | | - i915_gem_render_state.o \ |
---|
71 | | - i915_gem_shrinker.o \ |
---|
72 | | - i915_gem_stolen.o \ |
---|
73 | | - i915_gem_tiling.o \ |
---|
74 | | - i915_gem_userptr.o \ |
---|
75 | | - i915_gemfs.o \ |
---|
| 164 | + i915_globals.o \ |
---|
76 | 165 | i915_query.o \ |
---|
77 | 166 | i915_request.o \ |
---|
78 | | - i915_timeline.o \ |
---|
| 167 | + i915_scheduler.o \ |
---|
79 | 168 | i915_trace_points.o \ |
---|
80 | 169 | i915_vma.o \ |
---|
81 | | - intel_breadcrumbs.o \ |
---|
82 | | - intel_engine_cs.o \ |
---|
83 | | - intel_hangcheck.o \ |
---|
84 | | - intel_lrc.o \ |
---|
85 | | - intel_mocs.o \ |
---|
86 | | - intel_ringbuffer.o \ |
---|
87 | | - intel_uncore.o \ |
---|
| 170 | + intel_region_lmem.o \ |
---|
88 | 171 | intel_wopcm.o |
---|
89 | 172 | |
---|
90 | 173 | # general-purpose microcontroller (GuC) support |
---|
91 | | -i915-y += intel_uc.o \ |
---|
92 | | - intel_uc_fw.o \ |
---|
93 | | - intel_guc.o \ |
---|
94 | | - intel_guc_ads.o \ |
---|
95 | | - intel_guc_ct.o \ |
---|
96 | | - intel_guc_fw.o \ |
---|
97 | | - intel_guc_log.o \ |
---|
98 | | - intel_guc_submission.o \ |
---|
99 | | - intel_huc.o \ |
---|
100 | | - intel_huc_fw.o |
---|
101 | | - |
---|
102 | | -# autogenerated null render state |
---|
103 | | -i915-y += intel_renderstate_gen6.o \ |
---|
104 | | - intel_renderstate_gen7.o \ |
---|
105 | | - intel_renderstate_gen8.o \ |
---|
106 | | - intel_renderstate_gen9.o |
---|
| 174 | +i915-y += gt/uc/intel_uc.o \ |
---|
| 175 | + gt/uc/intel_uc_debugfs.o \ |
---|
| 176 | + gt/uc/intel_uc_fw.o \ |
---|
| 177 | + gt/uc/intel_guc.o \ |
---|
| 178 | + gt/uc/intel_guc_ads.o \ |
---|
| 179 | + gt/uc/intel_guc_ct.o \ |
---|
| 180 | + gt/uc/intel_guc_debugfs.o \ |
---|
| 181 | + gt/uc/intel_guc_fw.o \ |
---|
| 182 | + gt/uc/intel_guc_log.o \ |
---|
| 183 | + gt/uc/intel_guc_log_debugfs.o \ |
---|
| 184 | + gt/uc/intel_guc_submission.o \ |
---|
| 185 | + gt/uc/intel_huc.o \ |
---|
| 186 | + gt/uc/intel_huc_debugfs.o \ |
---|
| 187 | + gt/uc/intel_huc_fw.o |
---|
107 | 188 | |
---|
108 | 189 | # modesetting core code |
---|
109 | | -i915-y += intel_audio.o \ |
---|
110 | | - intel_atomic.o \ |
---|
111 | | - intel_atomic_plane.o \ |
---|
112 | | - intel_bios.o \ |
---|
113 | | - intel_cdclk.o \ |
---|
114 | | - intel_color.o \ |
---|
115 | | - intel_display.o \ |
---|
116 | | - intel_dpio_phy.o \ |
---|
117 | | - intel_dpll_mgr.o \ |
---|
118 | | - intel_fbc.o \ |
---|
119 | | - intel_fifo_underrun.o \ |
---|
120 | | - intel_frontbuffer.o \ |
---|
121 | | - intel_hdcp.o \ |
---|
122 | | - intel_hotplug.o \ |
---|
123 | | - intel_modes.o \ |
---|
124 | | - intel_overlay.o \ |
---|
125 | | - intel_psr.o \ |
---|
126 | | - intel_sideband.o \ |
---|
127 | | - intel_sprite.o |
---|
128 | | -i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o |
---|
129 | | -i915-$(CONFIG_DRM_FBDEV_EMULATION) += intel_fbdev.o |
---|
| 190 | +i915-y += \ |
---|
| 191 | + display/intel_atomic.o \ |
---|
| 192 | + display/intel_atomic_plane.o \ |
---|
| 193 | + display/intel_audio.o \ |
---|
| 194 | + display/intel_bios.o \ |
---|
| 195 | + display/intel_bw.o \ |
---|
| 196 | + display/intel_cdclk.o \ |
---|
| 197 | + display/intel_color.o \ |
---|
| 198 | + display/intel_combo_phy.o \ |
---|
| 199 | + display/intel_connector.o \ |
---|
| 200 | + display/intel_csr.o \ |
---|
| 201 | + display/intel_display.o \ |
---|
| 202 | + display/intel_display_power.o \ |
---|
| 203 | + display/intel_dpio_phy.o \ |
---|
| 204 | + display/intel_dpll_mgr.o \ |
---|
| 205 | + display/intel_dsb.o \ |
---|
| 206 | + display/intel_fbc.o \ |
---|
| 207 | + display/intel_fifo_underrun.o \ |
---|
| 208 | + display/intel_frontbuffer.o \ |
---|
| 209 | + display/intel_global_state.o \ |
---|
| 210 | + display/intel_hdcp.o \ |
---|
| 211 | + display/intel_hotplug.o \ |
---|
| 212 | + display/intel_lpe_audio.o \ |
---|
| 213 | + display/intel_overlay.o \ |
---|
| 214 | + display/intel_psr.o \ |
---|
| 215 | + display/intel_quirks.o \ |
---|
| 216 | + display/intel_sprite.o \ |
---|
| 217 | + display/intel_tc.o \ |
---|
| 218 | + display/intel_vga.o |
---|
| 219 | +i915-$(CONFIG_ACPI) += \ |
---|
| 220 | + display/intel_acpi.o \ |
---|
| 221 | + display/intel_opregion.o |
---|
| 222 | +i915-$(CONFIG_DRM_FBDEV_EMULATION) += \ |
---|
| 223 | + display/intel_fbdev.o |
---|
130 | 224 | |
---|
131 | 225 | # modesetting output/encoder code |
---|
132 | | -i915-y += dvo_ch7017.o \ |
---|
133 | | - dvo_ch7xxx.o \ |
---|
134 | | - dvo_ivch.o \ |
---|
135 | | - dvo_ns2501.o \ |
---|
136 | | - dvo_sil164.o \ |
---|
137 | | - dvo_tfp410.o \ |
---|
138 | | - icl_dsi.o \ |
---|
139 | | - intel_crt.o \ |
---|
140 | | - intel_ddi.o \ |
---|
141 | | - intel_dp_aux_backlight.o \ |
---|
142 | | - intel_dp_link_training.o \ |
---|
143 | | - intel_dp_mst.o \ |
---|
144 | | - intel_dp.o \ |
---|
145 | | - intel_dsi_dcs_backlight.o \ |
---|
146 | | - intel_dsi_vbt.o \ |
---|
147 | | - intel_dvo.o \ |
---|
148 | | - intel_hdmi.o \ |
---|
149 | | - intel_i2c.o \ |
---|
150 | | - intel_lspcon.o \ |
---|
151 | | - intel_lvds.o \ |
---|
152 | | - intel_panel.o \ |
---|
153 | | - intel_sdvo.o \ |
---|
154 | | - intel_tv.o \ |
---|
155 | | - vlv_dsi.o \ |
---|
156 | | - vlv_dsi_pll.o |
---|
| 226 | +i915-y += \ |
---|
| 227 | + display/dvo_ch7017.o \ |
---|
| 228 | + display/dvo_ch7xxx.o \ |
---|
| 229 | + display/dvo_ivch.o \ |
---|
| 230 | + display/dvo_ns2501.o \ |
---|
| 231 | + display/dvo_sil164.o \ |
---|
| 232 | + display/dvo_tfp410.o \ |
---|
| 233 | + display/icl_dsi.o \ |
---|
| 234 | + display/intel_crt.o \ |
---|
| 235 | + display/intel_ddi.o \ |
---|
| 236 | + display/intel_dp.o \ |
---|
| 237 | + display/intel_dp_aux_backlight.o \ |
---|
| 238 | + display/intel_dp_hdcp.o \ |
---|
| 239 | + display/intel_dp_link_training.o \ |
---|
| 240 | + display/intel_dp_mst.o \ |
---|
| 241 | + display/intel_dsi.o \ |
---|
| 242 | + display/intel_dsi_dcs_backlight.o \ |
---|
| 243 | + display/intel_dsi_vbt.o \ |
---|
| 244 | + display/intel_dvo.o \ |
---|
| 245 | + display/intel_gmbus.o \ |
---|
| 246 | + display/intel_hdmi.o \ |
---|
| 247 | + display/intel_lspcon.o \ |
---|
| 248 | + display/intel_lvds.o \ |
---|
| 249 | + display/intel_panel.o \ |
---|
| 250 | + display/intel_sdvo.o \ |
---|
| 251 | + display/intel_tv.o \ |
---|
| 252 | + display/intel_vdsc.o \ |
---|
| 253 | + display/vlv_dsi.o \ |
---|
| 254 | + display/vlv_dsi_pll.o |
---|
| 255 | + |
---|
| 256 | +i915-y += i915_perf.o |
---|
157 | 257 | |
---|
158 | 258 | # Post-mortem debug and GPU hang state capture |
---|
159 | 259 | i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o |
---|
160 | 260 | i915-$(CONFIG_DRM_I915_SELFTEST) += \ |
---|
| 261 | + gem/selftests/igt_gem_utils.o \ |
---|
161 | 262 | selftests/i915_random.o \ |
---|
162 | 263 | selftests/i915_selftest.o \ |
---|
163 | | - selftests/igt_flush_test.o |
---|
| 264 | + selftests/igt_atomic.o \ |
---|
| 265 | + selftests/igt_flush_test.o \ |
---|
| 266 | + selftests/igt_live_test.o \ |
---|
| 267 | + selftests/igt_mmap.o \ |
---|
| 268 | + selftests/igt_reset.o \ |
---|
| 269 | + selftests/igt_spinner.o \ |
---|
| 270 | + selftests/librapl.o |
---|
164 | 271 | |
---|
165 | 272 | # virtual gpu code |
---|
166 | 273 | i915-y += i915_vgpu.o |
---|
167 | | - |
---|
168 | | -# perf code |
---|
169 | | -i915-y += i915_perf.o \ |
---|
170 | | - i915_oa_hsw.o \ |
---|
171 | | - i915_oa_bdw.o \ |
---|
172 | | - i915_oa_chv.o \ |
---|
173 | | - i915_oa_sklgt2.o \ |
---|
174 | | - i915_oa_sklgt3.o \ |
---|
175 | | - i915_oa_sklgt4.o \ |
---|
176 | | - i915_oa_bxt.o \ |
---|
177 | | - i915_oa_kblgt2.o \ |
---|
178 | | - i915_oa_kblgt3.o \ |
---|
179 | | - i915_oa_glk.o \ |
---|
180 | | - i915_oa_cflgt2.o \ |
---|
181 | | - i915_oa_cflgt3.o \ |
---|
182 | | - i915_oa_cnl.o \ |
---|
183 | | - i915_oa_icl.o |
---|
184 | 274 | |
---|
185 | 275 | ifeq ($(CONFIG_DRM_I915_GVT),y) |
---|
186 | 276 | i915-y += intel_gvt.o |
---|
187 | 277 | include $(src)/gvt/Makefile |
---|
188 | 278 | endif |
---|
189 | 279 | |
---|
190 | | -# LPE Audio for VLV and CHT |
---|
191 | | -i915-y += intel_lpe_audio.o |
---|
192 | | - |
---|
193 | 280 | obj-$(CONFIG_DRM_I915) += i915.o |
---|
| 281 | +obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o |
---|
| 282 | + |
---|
| 283 | +# header test |
---|
| 284 | + |
---|
| 285 | +# exclude some broken headers from the test coverage |
---|
| 286 | +no-header-test := \ |
---|
| 287 | + display/intel_vbt_defs.h \ |
---|
| 288 | + gvt/execlist.h \ |
---|
| 289 | + gvt/fb_decoder.h \ |
---|
| 290 | + gvt/gtt.h \ |
---|
| 291 | + gvt/gvt.h \ |
---|
| 292 | + gvt/interrupt.h \ |
---|
| 293 | + gvt/mmio_context.h \ |
---|
| 294 | + gvt/mpt.h \ |
---|
| 295 | + gvt/scheduler.h |
---|
| 296 | + |
---|
| 297 | +extra-$(CONFIG_DRM_I915_WERROR) += \ |
---|
| 298 | + $(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \ |
---|
| 299 | + $(shell cd $(srctree)/$(src) && find * -name '*.h'))) |
---|
| 300 | + |
---|
| 301 | +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) |
---|
| 302 | + cmd_hdrtest = $(CC) $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; touch $@ |
---|
| 303 | + |
---|
| 304 | +$(obj)/%.hdrtest: $(src)/%.h FORCE |
---|
| 305 | + $(call if_changed_dep,hdrtest) |
---|