Makefile 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Makefile for the drm device driver. This driver provides support for the
  4. # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
  5. # Add a set of useful warning flags and enable -Werror for CI to prevent
  6. # trivial mistakes from creeping in. We have to do this piecemeal as we reject
  7. # any patch that isn't warning clean, so turning on -Wall -Wextra (or W=1) we
  8. # need to filter out dubious warnings. Still it is our interest
  9. # to keep running locally with W=1 C=1 until we are completely clean.
  10. #
  11. # Note the danger in using -Wall -Wextra is that when CI updates gcc we
  12. # will most likely get a sudden build breakage... Hopefully we will fix
  13. # new warnings before CI updates!
  14. subdir-ccflags-y := -Wall -Wextra
  15. subdir-ccflags-y += $(call cc-disable-warning, unused-parameter)
  16. subdir-ccflags-y += $(call cc-disable-warning, type-limits)
  17. subdir-ccflags-y += $(call cc-disable-warning, missing-field-initializers)
  18. subdir-ccflags-y += $(call cc-disable-warning, implicit-fallthrough)
  19. subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
  20. # clang warnings
  21. subdir-ccflags-y += $(call cc-disable-warning, sign-compare)
  22. subdir-ccflags-y += $(call cc-disable-warning, sometimes-uninitialized)
  23. subdir-ccflags-y += $(call cc-disable-warning, initializer-overrides)
  24. subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
  25. # Fine grained warnings disable
  26. CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
  27. CFLAGS_intel_fbdev.o = $(call cc-disable-warning, override-init)
  28. subdir-ccflags-y += \
  29. $(call as-instr,movntdqa (%eax)$(comma)%xmm0,-DCONFIG_AS_MOVNTDQA)
  30. # Please keep these build lists sorted!
  31. # core driver code
  32. i915-y := i915_drv.o \
  33. i915_irq.o \
  34. i915_memcpy.o \
  35. i915_mm.o \
  36. i915_params.o \
  37. i915_pci.o \
  38. i915_suspend.o \
  39. i915_syncmap.o \
  40. i915_sw_fence.o \
  41. i915_sysfs.o \
  42. intel_csr.o \
  43. intel_device_info.o \
  44. intel_pm.o \
  45. intel_runtime_pm.o \
  46. intel_workarounds.o
  47. i915-$(CONFIG_COMPAT) += i915_ioc32.o
  48. i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o intel_pipe_crc.o
  49. i915-$(CONFIG_PERF_EVENTS) += i915_pmu.o
  50. # GEM code
  51. i915-y += i915_cmd_parser.o \
  52. i915_gem_batch_pool.o \
  53. i915_gem_clflush.o \
  54. i915_gem_context.o \
  55. i915_gem_dmabuf.o \
  56. i915_gem_evict.o \
  57. i915_gem_execbuffer.o \
  58. i915_gem_fence_reg.o \
  59. i915_gem_gtt.o \
  60. i915_gem_internal.o \
  61. i915_gem.o \
  62. i915_gem_object.o \
  63. i915_gem_render_state.o \
  64. i915_gem_shrinker.o \
  65. i915_gem_stolen.o \
  66. i915_gem_tiling.o \
  67. i915_gem_userptr.o \
  68. i915_gemfs.o \
  69. i915_query.o \
  70. i915_request.o \
  71. i915_timeline.o \
  72. i915_trace_points.o \
  73. i915_vma.o \
  74. intel_breadcrumbs.o \
  75. intel_engine_cs.o \
  76. intel_hangcheck.o \
  77. intel_lrc.o \
  78. intel_mocs.o \
  79. intel_ringbuffer.o \
  80. intel_uncore.o \
  81. intel_wopcm.o
  82. # general-purpose microcontroller (GuC) support
  83. i915-y += intel_uc.o \
  84. intel_uc_fw.o \
  85. intel_guc.o \
  86. intel_guc_ads.o \
  87. intel_guc_ct.o \
  88. intel_guc_fw.o \
  89. intel_guc_log.o \
  90. intel_guc_submission.o \
  91. intel_huc.o \
  92. intel_huc_fw.o
  93. # autogenerated null render state
  94. i915-y += intel_renderstate_gen6.o \
  95. intel_renderstate_gen7.o \
  96. intel_renderstate_gen8.o \
  97. intel_renderstate_gen9.o
  98. # modesetting core code
  99. i915-y += intel_audio.o \
  100. intel_atomic.o \
  101. intel_atomic_plane.o \
  102. intel_bios.o \
  103. intel_cdclk.o \
  104. intel_color.o \
  105. intel_display.o \
  106. intel_dpio_phy.o \
  107. intel_dpll_mgr.o \
  108. intel_fbc.o \
  109. intel_fifo_underrun.o \
  110. intel_frontbuffer.o \
  111. intel_hdcp.o \
  112. intel_hotplug.o \
  113. intel_modes.o \
  114. intel_overlay.o \
  115. intel_psr.o \
  116. intel_sideband.o \
  117. intel_sprite.o
  118. i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o
  119. i915-$(CONFIG_DRM_FBDEV_EMULATION) += intel_fbdev.o
  120. # modesetting output/encoder code
  121. i915-y += dvo_ch7017.o \
  122. dvo_ch7xxx.o \
  123. dvo_ivch.o \
  124. dvo_ns2501.o \
  125. dvo_sil164.o \
  126. dvo_tfp410.o \
  127. icl_dsi.o \
  128. intel_crt.o \
  129. intel_ddi.o \
  130. intel_dp_aux_backlight.o \
  131. intel_dp_link_training.o \
  132. intel_dp_mst.o \
  133. intel_dp.o \
  134. intel_dsi_dcs_backlight.o \
  135. intel_dsi_vbt.o \
  136. intel_dvo.o \
  137. intel_hdmi.o \
  138. intel_i2c.o \
  139. intel_lspcon.o \
  140. intel_lvds.o \
  141. intel_panel.o \
  142. intel_sdvo.o \
  143. intel_tv.o \
  144. vlv_dsi.o \
  145. vlv_dsi_pll.o
  146. # Post-mortem debug and GPU hang state capture
  147. i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o
  148. i915-$(CONFIG_DRM_I915_SELFTEST) += \
  149. selftests/i915_random.o \
  150. selftests/i915_selftest.o \
  151. selftests/igt_flush_test.o
  152. # virtual gpu code
  153. i915-y += i915_vgpu.o
  154. # perf code
  155. i915-y += i915_perf.o \
  156. i915_oa_hsw.o \
  157. i915_oa_bdw.o \
  158. i915_oa_chv.o \
  159. i915_oa_sklgt2.o \
  160. i915_oa_sklgt3.o \
  161. i915_oa_sklgt4.o \
  162. i915_oa_bxt.o \
  163. i915_oa_kblgt2.o \
  164. i915_oa_kblgt3.o \
  165. i915_oa_glk.o \
  166. i915_oa_cflgt2.o \
  167. i915_oa_cflgt3.o \
  168. i915_oa_cnl.o \
  169. i915_oa_icl.o
  170. ifeq ($(CONFIG_DRM_I915_GVT),y)
  171. i915-y += intel_gvt.o
  172. include $(src)/gvt/Makefile
  173. endif
  174. # LPE Audio for VLV and CHT
  175. i915-y += intel_lpe_audio.o
  176. obj-$(CONFIG_DRM_I915) += i915.o