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