xref: /linux/drivers/gpu/drm/i915/Makefile (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2c0e09200SDave Airlie#
3c0e09200SDave Airlie# Makefile for the drm device driver.  This driver provides support for the
4c0e09200SDave Airlie# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
5c0e09200SDave Airlie
6dd3cac0aSJani Nikula# Enable W=1 warnings not enabled in drm subsystem Makefile
72250c7eaSJani Nikulasubdir-ccflags-y += $(call cc-option, -Wformat-truncation)
82250c7eaSJani Nikula
92250c7eaSJani Nikula# Enable -Werror in CI and development
1039bf4de8SChris Wilsonsubdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
1139bf4de8SChris Wilson
12a4ba1ea6SJani Nikula# Support compiling the display code separately for both i915 and xe
13a4ba1ea6SJani Nikula# drivers. Define I915 when building i915.
14a4ba1ea6SJani Nikulasubdir-ccflags-y += -DI915
15a4ba1ea6SJani Nikula
16ed1fbee3SMaarten Lankhorst# FIXME: Disable tracepoints on i915 for PREEMPT_RT, unfortunately
17ed1fbee3SMaarten Lankhorst# it's an all or nothing flag. You cannot selectively disable
18ed1fbee3SMaarten Lankhorst# only some tracepoints.
19ed1fbee3SMaarten Lankhorstsubdir-ccflags-$(CONFIG_PREEMPT_RT) += -DNOTRACE
20ed1fbee3SMaarten Lankhorst
21b1992c37SMasahiro Yamadasubdir-ccflags-y += -I$(src)
22112ed2d3SChris Wilson
232fae6a86SDaniel Vetter# Please keep these build lists sorted!
242fae6a86SDaniel Vetter
252fae6a86SDaniel Vetter# core driver code
260db5649eSJani Nikulai915-y += \
2716dc224fSChris Wilson	i915_config.o \
280db5649eSJani Nikula	i915_driver.o \
290db5649eSJani Nikula	i915_drm_client.o \
30e2b1c3a1SJani Nikula	i915_edram.o \
312d74a093SJani Nikula	i915_freq.o \
3226f00514SChris Wilson	i915_getparam.o \
33eef67acfSJani Nikula	i915_gmch.o \
34198bca93SJani Nikula	i915_ioctl.o \
35198bca93SJani Nikula	i915_irq.o \
36f7452c7cSChris Wilson	i915_mitigations.o \
3727e21516SMatt Atwood	i915_mmio_range.o \
38708b7df3SDaniel Vetter	i915_module.o \
392fae6a86SDaniel Vetter	i915_params.o \
4042f5551dSChris Wilson	i915_pci.o \
4137d63f8fSChris Wilson	i915_scatterlist.o \
4263bf8301SJani Nikula	i915_switcheroo.o \
432fae6a86SDaniel Vetter	i915_sysfs.o \
44df7d085bSJani Nikula	i915_timer_util.o \
45358c855cSJani Nikula	i915_utils.o \
46d670c78eSJani Nikula	intel_clock_gating.o \
47d58db10eSRaag Jadav	intel_cpu_info.o \
4894b4f3baSChris Wilson	intel_device_info.o \
49232a6ebaSMatthew Auld	intel_memory_region.o \
504dd4375bSJani Nikula	intel_pcode.o \
51d1487389SThomas Hellström	intel_region_ttm.o \
527d3c425fSOscar Mateo	intel_runtime_pm.o \
537eb186bbSJani Nikula	intel_step.o \
54df0566a6SJani Nikula	intel_uncore.o \
5517d70726SJani Nikula	intel_uncore_trace.o \
56fb5f432aSJani Nikula	intel_wakeref.o \
576819b5a6SJani Nikula	vlv_iosf_sb.o \
58fb5f432aSJani Nikula	vlv_suspend.o
59112ed2d3SChris Wilson
60112ed2d3SChris Wilson# core library code
61112ed2d3SChris Wilsoni915-y += \
62112ed2d3SChris Wilson	i915_memcpy.o \
63112ed2d3SChris Wilson	i915_mm.o \
64112ed2d3SChris Wilson	i915_sw_fence.o \
658e458fe2SChris Wilson	i915_sw_fence_work.o \
66112ed2d3SChris Wilson	i915_syncmap.o \
67112ed2d3SChris Wilson	i915_user_extensions.o
689c065a7dSDaniel Vetter
690db5649eSJani Nikulai915-$(CONFIG_COMPAT) += \
700db5649eSJani Nikula	i915_ioc32.o
71c43c5a88SJani Nikulai915-$(CONFIG_DEBUG_FS) += \
72c43c5a88SJani Nikula	i915_debugfs.o \
7375658332SJani Nikula	i915_debugfs_params.o
740db5649eSJani Nikulai915-$(CONFIG_PERF_EVENTS) += \
750db5649eSJani Nikula	i915_pmu.o
762fae6a86SDaniel Vetter
7739a00914SJani Nikula# core display adaptation
7839a00914SJani Nikulai915-y += \
79e3ef2c21SJani Nikula	i915_bo.o \
8035ec7128SVille Syrjälä	i915_display_pc8.o \
81dc88f63aSJani Nikula	i915_dpt.o \
821617f595SJani Nikula	i915_dsb_buffer.o \
83d6b80e90SJani Nikula	i915_hdcp_gsc.o \
840734802dSJani Nikula	i915_initial_plane.o \
85059f8782SVille Syrjälä	i915_overlay.o \
86d6b80e90SJani Nikula	i915_panic.o
8739a00914SJani Nikula
88112ed2d3SChris Wilson# "Graphics Technology" (aka we talk to the gpu)
89112ed2d3SChris Wilsongt-y += \
90c1f85878SChris Wilson	gt/gen2_engine_cs.o \
91c1f85878SChris Wilson	gt/gen6_engine_cs.o \
922c86e55dSMatthew Auld	gt/gen6_ppgtt.o \
9347f8253dSPrathap Kumar Valsan	gt/gen7_renderclear.o \
94d0d829e5SDaniele Ceraolo Spurio	gt/gen8_engine_cs.o \
952c86e55dSMatthew Auld	gt/gen8_ppgtt.o \
96112ed2d3SChris Wilson	gt/intel_breadcrumbs.o \
97112ed2d3SChris Wilson	gt/intel_context.o \
98b4d3acaaSChris Wilson	gt/intel_context_sseu.o \
99112ed2d3SChris Wilson	gt/intel_engine_cs.o \
100b5e8e954SChris Wilson	gt/intel_engine_heartbeat.o \
10179ffac85SChris Wilson	gt/intel_engine_pm.o \
102750e76b4SChris Wilson	gt/intel_engine_user.o \
10370a2b431SChris Wilson	gt/intel_execlists_submission.o \
1042c86e55dSMatthew Auld	gt/intel_ggtt.o \
105f899f786SChris Wilson	gt/intel_ggtt_fencing.o \
10624635c51STvrtko Ursulin	gt/intel_gt.o \
10716e87459SChris Wilson	gt/intel_gt_buffer_pool.o \
1086db31251SAndi Shyti	gt/intel_gt_ccs_mode.o \
1099c878557SChris Wilson	gt/intel_gt_clock_utils.o \
110022f324cSLucas De Marchi	gt/intel_gt_debugfs.o \
11100142bceSLucas De Marchi	gt/intel_gt_engines_debugfs.o \
112cf1c97dcSAndi Shyti	gt/intel_gt_irq.o \
113e7858254SMatt Roper	gt/intel_gt_mcr.o \
11479ffac85SChris Wilson	gt/intel_gt_pm.o \
11523f6a829SLucas De Marchi	gt/intel_gt_pm_debugfs.o \
116d762043fSAndi Shyti	gt/intel_gt_pm_irq.o \
11766101975SChris Wilson	gt/intel_gt_requests.o \
118b770bcfaSAndi Shyti	gt/intel_gt_sysfs.o \
11980cf8af1SAndi Shyti	gt/intel_gt_sysfs_pm.o \
1202c86e55dSMatthew Auld	gt/intel_gtt.o \
1210dc3c562SAndi Shyti	gt/intel_llc.o \
122112ed2d3SChris Wilson	gt/intel_lrc.o \
123cf586021SChris Wilson	gt/intel_migrate.o \
1242871ea85SChris Wilson	gt/intel_mocs.o \
1252c86e55dSMatthew Auld	gt/intel_ppgtt.o \
126c1132367SAndi Shyti	gt/intel_rc6.o \
127f178b897SMatthew Auld	gt/intel_region_lmem.o \
1282006058eSChris Wilson	gt/intel_renderstate.o \
129112ed2d3SChris Wilson	gt/intel_reset.o \
1302871ea85SChris Wilson	gt/intel_ring.o \
1312871ea85SChris Wilson	gt/intel_ring_submission.o \
1323e7abf81SAndi Shyti	gt/intel_rps.o \
133f0e2f00cSMatt Roper	gt/intel_sa_media.o \
134112ed2d3SChris Wilson	gt/intel_sseu.o \
135a00eda7dSDaniele Ceraolo Spurio	gt/intel_sseu_debugfs.o \
136f0c02c1bSTvrtko Ursulin	gt/intel_timeline.o \
137568a2e6fSChris Wilson	gt/intel_tlb.o \
138ee71434eSAravind Iddamsetty	gt/intel_wopcm.o \
1394ec76dbeSChris Wilson	gt/intel_workarounds.o \
140be1cb55aSChris Wilson	gt/shmem_utils.o \
1414ec76dbeSChris Wilson	gt/sysfs_engines.o
142ee71434eSAravind Iddamsetty
1437a5c9223SCasey Bowman# x86 intel-gtt module support
1440db5649eSJani Nikulagt-$(CONFIG_X86) += \
1450db5649eSJani Nikula	gt/intel_ggtt_gmch.o
1462006058eSChris Wilson# autogenerated null render state
1472006058eSChris Wilsongt-y += \
1482006058eSChris Wilson	gt/gen6_renderstate.o \
1492006058eSChris Wilson	gt/gen7_renderstate.o \
1502006058eSChris Wilson	gt/gen8_renderstate.o \
1512006058eSChris Wilson	gt/gen9_renderstate.o
152112ed2d3SChris Wilsoni915-y += $(gt-y)
153112ed2d3SChris Wilson
154112ed2d3SChris Wilson# GEM (Graphics Execution Management) code
15598932149SChris Wilsongem-y += \
1563f43c876SChris Wilson	gem/i915_gem_busy.o \
15710be98a7SChris Wilson	gem/i915_gem_clflush.o \
15810be98a7SChris Wilson	gem/i915_gem_context.o \
159dcaccaf0SMatthew Auld	gem/i915_gem_create.o \
16010be98a7SChris Wilson	gem/i915_gem_dmabuf.o \
161f0e4a063SChris Wilson	gem/i915_gem_domain.o \
16210be98a7SChris Wilson	gem/i915_gem_execbuffer.o \
16310be98a7SChris Wilson	gem/i915_gem_internal.o \
164b908be54SMatthew Auld	gem/i915_gem_lmem.o \
165b414fcd5SChris Wilson	gem/i915_gem_mman.o \
1660db5649eSJani Nikula	gem/i915_gem_object.o \
16796593096SVille Syrjälä	gem/i915_gem_object_frontbuffer.o \
168f033428dSChris Wilson	gem/i915_gem_pages.o \
169f033428dSChris Wilson	gem/i915_gem_phys.o \
17010be98a7SChris Wilson	gem/i915_gem_pm.o \
171232a6ebaSMatthew Auld	gem/i915_gem_region.o \
17210be98a7SChris Wilson	gem/i915_gem_shmem.o \
17310be98a7SChris Wilson	gem/i915_gem_shrinker.o \
17410be98a7SChris Wilson	gem/i915_gem_stolen.o \
175446e2d16SChris Wilson	gem/i915_gem_throttle.o \
17610be98a7SChris Wilson	gem/i915_gem_tiling.o \
177213d5092SThomas Hellström	gem/i915_gem_ttm.o \
1783589fdbdSThomas Hellström	gem/i915_gem_ttm_move.o \
179c56ce956SThomas Hellström	gem/i915_gem_ttm_pm.o \
18010be98a7SChris Wilson	gem/i915_gem_userptr.o \
181a8a9a590SLoïc Molinari	gem/i915_gem_wait.o
18264d6c500SChris Wilsoni915-y += \
18398932149SChris Wilson	$(gem-y) \
18464d6c500SChris Wilson	i915_active.o \
18564d6c500SChris Wilson	i915_cmd_parser.o \
18663cf4cadSThomas Hellström	i915_deps.o \
1870db5649eSJani Nikula	i915_gem.o \
188b47eb4a2SChris Wilson	i915_gem_evict.o \
18954cf91dcSChris Wilson	i915_gem_gtt.o \
1905c43ec5dSThomas Hellström	i915_gem_ww.o \
191a446ae2cSLionel Landwerlin	i915_query.o \
192e61e0f51SChris Wilson	i915_request.o \
193e2f3496eSChris Wilson	i915_scheduler.o \
1941c5d22f7SChris Wilson	i915_trace_points.o \
19588be9a0aSMatthew Auld	i915_ttm_buddy_manager.o \
196b42fe9caSJoonas Lahtinen	i915_vma.o \
197ee71434eSAravind Iddamsetty	i915_vma_resource.o
1982fae6a86SDaniel Vetter
19933a732f4SAlex Dai# general-purpose microcontroller (GuC) support
200242c4b91SDaniele Ceraolo Spurioi915-y += \
20115bd4a67SDaniele Ceraolo Spurio	gt/uc/intel_gsc_fw.o \
2028a9bf295SDaniele Ceraolo Spurio	gt/uc/intel_gsc_proxy.o \
203242c4b91SDaniele Ceraolo Spurio	gt/uc/intel_gsc_uc.o \
204561055b8SDaniele Ceraolo Spurio	gt/uc/intel_gsc_uc_debugfs.o \
205459b2606SSuraj Kandpal	gt/uc/intel_gsc_uc_heci_cmd_submit.o\
2060f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc.o \
2070f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc_ads.o \
20824492514SAlan Previn	gt/uc/intel_guc_capture.o \
2090f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc_ct.o \
210293a5548SDaniele Ceraolo Spurio	gt/uc/intel_guc_debugfs.o \
2110f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc_fw.o \
2128781f051SJohn Harrison	gt/uc/intel_guc_hwconfig.o \
2130f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc_log.o \
214293a5548SDaniele Ceraolo Spurio	gt/uc/intel_guc_log_debugfs.o \
215216d56c5SVinay Belgaumkar	gt/uc/intel_guc_rc.o \
216dff0fc49SVinay Belgaumkar	gt/uc/intel_guc_slpc.o \
2170f261b24SDaniele Ceraolo Spurio	gt/uc/intel_guc_submission.o \
2180f261b24SDaniele Ceraolo Spurio	gt/uc/intel_huc.o \
219293a5548SDaniele Ceraolo Spurio	gt/uc/intel_huc_debugfs.o \
220242c4b91SDaniele Ceraolo Spurio	gt/uc/intel_huc_fw.o \
221242c4b91SDaniele Ceraolo Spurio	gt/uc/intel_uc.o \
222242c4b91SDaniele Ceraolo Spurio	gt/uc/intel_uc_debugfs.o \
223242c4b91SDaniele Ceraolo Spurio	gt/uc/intel_uc_fw.o
22433a732f4SAlex Dai
2251e3dc1d8STomas Winkler# graphics system controller (GSC) support
2260db5649eSJani Nikulai915-y += \
2270db5649eSJani Nikula	gt/intel_gsc.o
2281e3dc1d8STomas Winkler
229b3b088e2SDale B Stimson# graphics hardware monitoring (HWMON) support
2300db5649eSJani Nikulai915-$(CONFIG_HWMON) += \
2310db5649eSJani Nikula	i915_hwmon.o
232b3b088e2SDale B Stimson
2332fae6a86SDaniel Vetter# modesetting core code
234df0566a6SJani Nikulai915-y += \
235f3b603deSVille Syrjälä	display/hsw_ips.o \
236c3bda715SRodrigo Vivi	display/i9xx_display_sr.o \
237a649c2abSJani Nikula	display/i9xx_plane.o \
2380db5649eSJani Nikula	display/i9xx_wm.o \
2398bdbde7cSAnimesh Manna	display/intel_alpm.o \
240df0566a6SJani Nikula	display/intel_atomic.o \
241df0566a6SJani Nikula	display/intel_audio.o \
242df0566a6SJani Nikula	display/intel_bios.o \
24337a6ed2cSJani Nikula	display/intel_bo.o \
244df0566a6SJani Nikula	display/intel_bw.o \
24574ad9ec9SNemesa Garg	display/intel_casf.o \
246df0566a6SJani Nikula	display/intel_cdclk.o \
247f14d81b7SGustavo Sousa	display/intel_cmtg.o \
248df0566a6SJani Nikula	display/intel_color.o \
2493e9b0655SChaitanya Kumar Borah	display/intel_colorop.o \
250ef105316SChaitanya Kumar Borah	display/intel_color_pipeline.o \
251df0566a6SJani Nikula	display/intel_combo_phy.o \
252df0566a6SJani Nikula	display/intel_connector.o \
253fbf756c3SDave Airlie	display/intel_crtc.o \
2543e29d3b3SJani Nikula	display/intel_crtc_state_dump.o \
25599ce270aSDave Airlie	display/intel_cursor.o \
256ac930babSVille Syrjälä	display/intel_dbuf_bw.o \
257*658b3c96SVille Syrjälä	display/intel_de.o \
258df0566a6SJani Nikula	display/intel_display.o \
259adceb416SJani Nikula	display/intel_display_conversion.o \
26077316e75SJani Nikula	display/intel_display_driver.o \
2612b874a02SJani Nikula	display/intel_display_irq.o \
2628015bee0SJouni Högander	display/intel_display_params.o \
263df0566a6SJani Nikula	display/intel_display_power.o \
264323286c8SImre Deak	display/intel_display_power_map.o \
265ef1e1708SImre Deak	display/intel_display_power_well.o \
26659c6106eSJani Nikula	display/intel_display_reset.o \
267336c0eaeSJani Nikula	display/intel_display_rpm.o \
2686dbbff25SJani Nikula	display/intel_display_rps.o \
2696843cd85SJani Nikula	display/intel_display_snapshot.o \
270cd81a70dSJani Nikula	display/intel_display_utils.o \
27153dd7b1fSMatt Roper	display/intel_display_wa.o \
27232f9402dSAnusha Srivatsa	display/intel_dmc.o \
273765425f5SLuca Coelho	display/intel_dmc_wl.o \
274df0566a6SJani Nikula	display/intel_dpio_phy.o \
2758cf41f31SDave Airlie	display/intel_dpll.o \
276df0566a6SJani Nikula	display/intel_dpll_mgr.o \
277bbc45001SJani Nikula	display/intel_dpt.o \
278ed46f724SJani Nikula	display/intel_dram.o \
279a1b63119SJosé Roberto de Souza	display/intel_drrs.o \
28067f3b58fSAnimesh Manna	display/intel_dsb.o \
281f837a61fSImre Deak	display/intel_fb.o \
282814c8757SDave Airlie	display/intel_fb_pin.o \
283df0566a6SJani Nikula	display/intel_fbc.o \
284777e687aSDave Airlie	display/intel_fdi.o \
285df0566a6SJani Nikula	display/intel_fifo_underrun.o \
286470022b5SVille Syrjälä	display/intel_flipq.o \
287df0566a6SJani Nikula	display/intel_frontbuffer.o \
2880ef1905eSVille Syrjälä	display/intel_global_state.o \
289df0566a6SJani Nikula	display/intel_hdcp.o \
2900f5b1144SSuraj Kandpal	display/intel_hdcp_gsc_message.o \
291df0566a6SJani Nikula	display/intel_hotplug.o \
292da38ba98SJani Nikula	display/intel_hotplug_irq.o \
29303120fefSJani Nikula	display/intel_hti.o \
2949dacae14SJani Nikula	display/intel_initial_plane.o \
2958ca0b875SImre Deak	display/intel_link_bw.o \
296b13604c0SJani Nikula	display/intel_load_detect.o \
297df0566a6SJani Nikula	display/intel_lpe_audio.o \
29860ded7ccSImre Deak	display/intel_modeset_lock.o \
2992c7676b6SJani Nikula	display/intel_modeset_setup.o \
3000db5649eSJani Nikula	display/intel_modeset_verify.o \
301df0566a6SJani Nikula	display/intel_overlay.o \
3023815e8f2SJani Nikula	display/intel_parent.o \
3036ca37b86SRodrigo Vivi	display/intel_pch.o \
304b2de2d00SVille Syrjälä	display/intel_pch_display.o \
305ae880cd0SVille Syrjälä	display/intel_pch_refclk.o \
306a649c2abSJani Nikula	display/intel_plane.o \
3074c4cc7acSMika Kahola	display/intel_pmdemand.o \
308df0566a6SJani Nikula	display/intel_psr.o \
309df0566a6SJani Nikula	display/intel_quirks.o \
310b3d3c83eSJani Nikula	display/intel_rom.o \
3117fb3a1f7SJani Nikula	display/intel_sbi.o \
312bc85328fSImre Deak	display/intel_sprite.o \
313af3004c9SVille Syrjälä	display/intel_sprite_uapi.o \
3144fb87831SJani Nikula	display/intel_tc.o \
31562fe4515SJani Nikula	display/intel_vblank.o \
31600a16d02SDave Airlie	display/intel_vga.o \
31794b49d53SJani Nikula	display/intel_wm.o \
318ba470a99SVille Syrjälä	display/skl_prefill.o \
319714b1cdbSDave Airlie	display/skl_scaler.o \
32042a0d256SVille Syrjälä	display/skl_universal_plane.o \
3218393253bSJani Nikula	display/skl_watermark.o \
3225615e78eSJani Nikula	display/vlv_clock.o \
3238393253bSJani Nikula	display/vlv_sideband.o
324df0566a6SJani Nikulai915-$(CONFIG_ACPI) += \
325df0566a6SJani Nikula	display/intel_acpi.o \
326df0566a6SJani Nikula	display/intel_opregion.o
327df0566a6SJani Nikulai915-$(CONFIG_DRM_FBDEV_EMULATION) += \
32880d20fd9SJouni Högander	display/intel_fbdev.o \
32980d20fd9SJouni Högander	display/intel_fbdev_fb.o
33075658332SJani Nikulai915-$(CONFIG_DEBUG_FS) += \
33175658332SJani Nikula	display/intel_display_debugfs.o \
33275658332SJani Nikula	display/intel_display_debugfs_params.o \
33375658332SJani Nikula	display/intel_pipe_crc.o
3344520f53aSDaniel Vetter
3352fae6a86SDaniel Vetter# modesetting output/encoder code
336379bc100SJani Nikulai915-y += \
337379bc100SJani Nikula	display/dvo_ch7017.o \
338379bc100SJani Nikula	display/dvo_ch7xxx.o \
339379bc100SJani Nikula	display/dvo_ivch.o \
340379bc100SJani Nikula	display/dvo_ns2501.o \
341379bc100SJani Nikula	display/dvo_sil164.o \
342379bc100SJani Nikula	display/dvo_tfp410.o \
343917c2899SVille Syrjälä	display/g4x_dp.o \
34433e9e541SVille Syrjälä	display/g4x_hdmi.o \
345379bc100SJani Nikula	display/icl_dsi.o \
3466cc42fbeSJani Nikula	display/intel_backlight.o \
347379bc100SJani Nikula	display/intel_crt.o \
34851390cc0SRadhakrishna Sripada	display/intel_cx0_phy.o \
349379bc100SJani Nikula	display/intel_ddi.o \
35099092a97SDave Airlie	display/intel_ddi_buf_trans.o \
35169d43981SMatt Roper	display/intel_display_device.o \
352fd2b94a5SJani Nikula	display/intel_display_trace.o \
35389cb0ba4SImre Deak	display/intel_dkl_phy.o \
354379bc100SJani Nikula	display/intel_dp.o \
355aa850fb1SJani Nikula	display/intel_dp_aux.o \
356379bc100SJani Nikula	display/intel_dp_aux_backlight.o \
357d079b7e4SSean Paul	display/intel_dp_hdcp.o \
358379bc100SJani Nikula	display/intel_dp_link_training.o \
359379bc100SJani Nikula	display/intel_dp_mst.o \
360a5b40d4fSJani Nikula	display/intel_dp_test.o \
361379bc100SJani Nikula	display/intel_dsi.o \
362379bc100SJani Nikula	display/intel_dsi_dcs_backlight.o \
363379bc100SJani Nikula	display/intel_dsi_vbt.o \
364379bc100SJani Nikula	display/intel_dvo.o \
3653b3be899SImre Deak	display/intel_encoder.o \
366379bc100SJani Nikula	display/intel_gmbus.o \
367379bc100SJani Nikula	display/intel_hdmi.o \
368379bc100SJani Nikula	display/intel_lspcon.o \
369154ebdb7SSuraj Kandpal	display/intel_lt_phy.o \
370379bc100SJani Nikula	display/intel_lvds.o \
371379bc100SJani Nikula	display/intel_panel.o \
3720f16cd2aSVille Syrjälä	display/intel_pfit.o \
373abad6805SJani Nikula	display/intel_pps.o \
374c33ebdb7SVandita Kulkarni	display/intel_qp_tables.o \
375379bc100SJani Nikula	display/intel_sdvo.o \
37659476420SAnkit Nautiyal	display/intel_snps_hdmi_pll.o \
37729081008SMatt Roper	display/intel_snps_phy.o \
378379bc100SJani Nikula	display/intel_tv.o \
379379bc100SJani Nikula	display/intel_vdsc.o \
3805b0c5945SManasi Navare	display/intel_vrr.o \
381379bc100SJani Nikula	display/vlv_dsi.o \
382379bc100SJani Nikula	display/vlv_dsi_pll.o
3832fae6a86SDaniel Vetter
38491888b5bSImre Deaki915-$(CONFIG_DRM_I915_DP_TUNNEL) += \
38591888b5bSImre Deak	display/intel_dp_tunnel.o
38691888b5bSImre Deak
387f3255cf4SAnkit Nautiyali915-$(CONFIG_DRM_I915_GVT) += \
388f3255cf4SAnkit Nautiyal	display/intel_gvt_api.o
389f3255cf4SAnkit Nautiyal
3900db5649eSJani Nikulai915-y += \
3910db5649eSJani Nikula	i915_perf.o
3925ed7a0cfSMichal Wajdeczko
393c5be8fc9SDaniele Ceraolo Spurio# Protected execution platform (PXP) support. Base support is required for HuC
394c5be8fc9SDaniele Ceraolo Spurioi915-y += \
3950436ac1bSHuang, Sean Z	pxp/intel_pxp.o \
3960db5649eSJani Nikula	pxp/intel_pxp_huc.o \
3970db5649eSJani Nikula	pxp/intel_pxp_tee.o
398c5be8fc9SDaniele Ceraolo Spurio
399c5be8fc9SDaniele Ceraolo Spurioi915-$(CONFIG_DRM_I915_PXP) += \
40095c9e122SHuang, Sean Z	pxp/intel_pxp_cmd.o \
401390cf1b2SDaniele Ceraolo Spurio	pxp/intel_pxp_debugfs.o \
402d6bf74deSAlan Previn	pxp/intel_pxp_gsccs.o \
4032ae09687SHuang, Sean Z	pxp/intel_pxp_irq.o \
4040cfab4cbSHuang, Sean Z	pxp/intel_pxp_pm.o \
405c5be8fc9SDaniele Ceraolo Spurio	pxp/intel_pxp_session.o
4063ad2dd9cSDaniele Ceraolo Spurio
40798a2f411SChris Wilson# Post-mortem debug and GPU hang state capture
4080db5649eSJani Nikulai915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += \
4090db5649eSJani Nikula	i915_gpu_error.o
410953c7f82SChris Wilsoni915-$(CONFIG_DRM_I915_SELFTEST) += \
41157143f2eSThomas Hellström	gem/selftests/i915_gem_client_blt.o \
41210be98a7SChris Wilson	gem/selftests/igt_gem_utils.o \
413953c7f82SChris Wilson	selftests/i915_random.o \
41498dc0454SChris Wilson	selftests/i915_selftest.o \
415f3bc632aSChris Wilson	selftests/igt_atomic.o \
4168d2f6e2fSTvrtko Ursulin	selftests/igt_flush_test.o \
417e4a8c813SChris Wilson	selftests/igt_live_test.o \
4186fedafacSChris Wilson	selftests/igt_mmap.o \
41928d6ccceSTvrtko Ursulin	selftests/igt_reset.o \
420d4e3d455SChris Wilson	selftests/igt_spinner.o \
4210db5649eSJani Nikula	selftests/intel_scheduler_helpers.o \
422d4e3d455SChris Wilson	selftests/librapl.o
42398a2f411SChris Wilson
424cf9d2890SYu Zhang# virtual gpu code
4250db5649eSJani Nikulai915-y += \
4260db5649eSJani Nikula	i915_vgpu.o
427cf9d2890SYu Zhang
4287f0cf301SJani Nikulai915-$(CONFIG_DRM_I915_GVT) += \
4297f0cf301SJani Nikula	intel_gvt.o \
4307f0cf301SJani Nikula	intel_gvt_mmio_table.o
4310ad35fedSZhi Wanginclude $(src)/gvt/Makefile
4320ad35fedSZhi Wang
433c0e09200SDave Airlieobj-$(CONFIG_DRM_I915) += i915.o
4348b750bf7SChristoph Hellwigobj-$(CONFIG_DRM_I915_GVT_KVMGT) += kvmgt.o
435c6d4a099SMasahiro Yamada
436aaee4bbeSJani Nikula# kernel-doc test
437aaee4bbeSJani Nikula#
438aaee4bbeSJani Nikula# Enable locally for CONFIG_DRM_I915_WERROR=y. See also scripts/Makefile.build
439aaee4bbeSJani Nikulaifdef CONFIG_DRM_I915_WERROR
440002621a4SJean Delvare    cmd_checkdoc = PYTHONDONTWRITEBYTECODE=1 $(PYTHON3) $(KERNELDOC) -none -Werror $<
441aaee4bbeSJani Nikulaendif
442aaee4bbeSJani Nikula
443c6d4a099SMasahiro Yamada# header test
444c6d4a099SMasahiro Yamada
445c6d4a099SMasahiro Yamada# exclude some broken headers from the test coverage
446c6d4a099SMasahiro Yamadano-header-test := \
447e056f669SJani Nikula	display/intel_vbt_defs.h
448c6d4a099SMasahiro Yamada
4492047ace9SMasahiro Yamadaalways-$(CONFIG_DRM_I915_WERROR) += \
450c6d4a099SMasahiro Yamada	$(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \
451b1992c37SMasahiro Yamada		$(shell cd $(src) && find * -name '*.h')))
452c6d4a099SMasahiro Yamada
453c6d4a099SMasahiro Yamadaquiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
454899ff790SJani Nikula      cmd_hdrtest = $(CC) $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; \
455eba6ffd1SJonathan Corbet		$(KERNELDOC) -none -Werror $<; touch $@
456c6d4a099SMasahiro Yamada
457c6d4a099SMasahiro Yamada$(obj)/%.hdrtest: $(src)/%.h FORCE
458c6d4a099SMasahiro Yamada	$(call if_changed_dep,hdrtest)
459