mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
84b5ece644
-Wstringop-overflow is broken on GCC11. In future changes it will be moved to the normal C flags in the top level Makefile (out of Makefile.extrawarn), but accounting for the compiler support. Just remove it out of i915's forced extra warnings, preparing for the upcoming change and avoiding build warnings to show up. Fixes:2250c7ead8
("drm/i915: enable W=1 warnings by default") References: https://lore.kernel.org/all/45ad1d0f-a10f-483e-848a-76a30252edbe@paulmck-laptop/ Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240112154912.1775199-1-lucas.demarchi@intel.com (cherry picked from commit05ae67d95b
) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
440 lines
11 KiB
Makefile
440 lines
11 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the drm device driver. This driver provides support for the
|
|
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
|
|
|
|
# Unconditionally enable W=1 warnings locally
|
|
# --- begin copy-paste W=1 warnings from scripts/Makefile.extrawarn
|
|
subdir-ccflags-y += -Wextra -Wunused -Wno-unused-parameter
|
|
subdir-ccflags-y += -Wmissing-declarations
|
|
subdir-ccflags-y += $(call cc-option, -Wrestrict)
|
|
subdir-ccflags-y += -Wmissing-format-attribute
|
|
subdir-ccflags-y += -Wmissing-prototypes
|
|
subdir-ccflags-y += -Wold-style-definition
|
|
subdir-ccflags-y += -Wmissing-include-dirs
|
|
subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
|
|
subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
|
|
subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
|
|
subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
|
|
subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
|
|
subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
|
|
# The following turn off the warnings enabled by -Wextra
|
|
ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
|
|
subdir-ccflags-y += -Wno-missing-field-initializers
|
|
subdir-ccflags-y += -Wno-type-limits
|
|
subdir-ccflags-y += -Wno-shift-negative-value
|
|
endif
|
|
ifeq ($(findstring 3, $(KBUILD_EXTRA_WARN)),)
|
|
subdir-ccflags-y += -Wno-sign-compare
|
|
endif
|
|
# --- end copy-paste
|
|
|
|
# Enable -Werror in CI and development
|
|
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
|
|
|
|
# Fine grained warnings disable
|
|
CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
|
|
CFLAGS_display/intel_display_device.o = $(call cc-disable-warning, override-init)
|
|
CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
|
|
|
|
# Support compiling the display code separately for both i915 and xe
|
|
# drivers. Define I915 when building i915.
|
|
subdir-ccflags-y += -DI915
|
|
|
|
subdir-ccflags-y += -I$(srctree)/$(src)
|
|
|
|
# Please keep these build lists sorted!
|
|
|
|
# core driver code
|
|
i915-y += \
|
|
i915_config.o \
|
|
i915_driver.o \
|
|
i915_drm_client.o \
|
|
i915_getparam.o \
|
|
i915_ioctl.o \
|
|
i915_irq.o \
|
|
i915_mitigations.o \
|
|
i915_module.o \
|
|
i915_params.o \
|
|
i915_pci.o \
|
|
i915_scatterlist.o \
|
|
i915_suspend.o \
|
|
i915_switcheroo.o \
|
|
i915_sysfs.o \
|
|
i915_utils.o \
|
|
intel_clock_gating.o \
|
|
intel_device_info.o \
|
|
intel_memory_region.o \
|
|
intel_pcode.o \
|
|
intel_region_ttm.o \
|
|
intel_runtime_pm.o \
|
|
intel_sbi.o \
|
|
intel_step.o \
|
|
intel_uncore.o \
|
|
intel_wakeref.o \
|
|
vlv_sideband.o \
|
|
vlv_suspend.o
|
|
|
|
# core peripheral code
|
|
i915-y += \
|
|
soc/intel_dram.o \
|
|
soc/intel_gmch.o \
|
|
soc/intel_pch.o
|
|
|
|
# core library code
|
|
i915-y += \
|
|
i915_memcpy.o \
|
|
i915_mm.o \
|
|
i915_sw_fence.o \
|
|
i915_sw_fence_work.o \
|
|
i915_syncmap.o \
|
|
i915_user_extensions.o
|
|
|
|
i915-$(CONFIG_COMPAT) += \
|
|
i915_ioc32.o
|
|
i915-$(CONFIG_DEBUG_FS) += \
|
|
i915_debugfs.o \
|
|
i915_debugfs_params.o
|
|
i915-$(CONFIG_PERF_EVENTS) += \
|
|
i915_pmu.o
|
|
|
|
# "Graphics Technology" (aka we talk to the gpu)
|
|
gt-y += \
|
|
gt/gen2_engine_cs.o \
|
|
gt/gen6_engine_cs.o \
|
|
gt/gen6_ppgtt.o \
|
|
gt/gen7_renderclear.o \
|
|
gt/gen8_engine_cs.o \
|
|
gt/gen8_ppgtt.o \
|
|
gt/intel_breadcrumbs.o \
|
|
gt/intel_context.o \
|
|
gt/intel_context_sseu.o \
|
|
gt/intel_engine_cs.o \
|
|
gt/intel_engine_heartbeat.o \
|
|
gt/intel_engine_pm.o \
|
|
gt/intel_engine_user.o \
|
|
gt/intel_execlists_submission.o \
|
|
gt/intel_ggtt.o \
|
|
gt/intel_ggtt_fencing.o \
|
|
gt/intel_gt.o \
|
|
gt/intel_gt_buffer_pool.o \
|
|
gt/intel_gt_clock_utils.o \
|
|
gt/intel_gt_debugfs.o \
|
|
gt/intel_gt_engines_debugfs.o \
|
|
gt/intel_gt_irq.o \
|
|
gt/intel_gt_mcr.o \
|
|
gt/intel_gt_pm.o \
|
|
gt/intel_gt_pm_debugfs.o \
|
|
gt/intel_gt_pm_irq.o \
|
|
gt/intel_gt_requests.o \
|
|
gt/intel_gt_sysfs.o \
|
|
gt/intel_gt_sysfs_pm.o \
|
|
gt/intel_gtt.o \
|
|
gt/intel_llc.o \
|
|
gt/intel_lrc.o \
|
|
gt/intel_migrate.o \
|
|
gt/intel_mocs.o \
|
|
gt/intel_ppgtt.o \
|
|
gt/intel_rc6.o \
|
|
gt/intel_region_lmem.o \
|
|
gt/intel_renderstate.o \
|
|
gt/intel_reset.o \
|
|
gt/intel_ring.o \
|
|
gt/intel_ring_submission.o \
|
|
gt/intel_rps.o \
|
|
gt/intel_sa_media.o \
|
|
gt/intel_sseu.o \
|
|
gt/intel_sseu_debugfs.o \
|
|
gt/intel_timeline.o \
|
|
gt/intel_tlb.o \
|
|
gt/intel_wopcm.o \
|
|
gt/intel_workarounds.o \
|
|
gt/shmem_utils.o \
|
|
gt/sysfs_engines.o
|
|
|
|
# x86 intel-gtt module support
|
|
gt-$(CONFIG_X86) += \
|
|
gt/intel_ggtt_gmch.o
|
|
# autogenerated null render state
|
|
gt-y += \
|
|
gt/gen6_renderstate.o \
|
|
gt/gen7_renderstate.o \
|
|
gt/gen8_renderstate.o \
|
|
gt/gen9_renderstate.o
|
|
i915-y += $(gt-y)
|
|
|
|
# GEM (Graphics Execution Management) code
|
|
gem-y += \
|
|
gem/i915_gem_busy.o \
|
|
gem/i915_gem_clflush.o \
|
|
gem/i915_gem_context.o \
|
|
gem/i915_gem_create.o \
|
|
gem/i915_gem_dmabuf.o \
|
|
gem/i915_gem_domain.o \
|
|
gem/i915_gem_execbuffer.o \
|
|
gem/i915_gem_internal.o \
|
|
gem/i915_gem_lmem.o \
|
|
gem/i915_gem_mman.o \
|
|
gem/i915_gem_object.o \
|
|
gem/i915_gem_pages.o \
|
|
gem/i915_gem_phys.o \
|
|
gem/i915_gem_pm.o \
|
|
gem/i915_gem_region.o \
|
|
gem/i915_gem_shmem.o \
|
|
gem/i915_gem_shrinker.o \
|
|
gem/i915_gem_stolen.o \
|
|
gem/i915_gem_throttle.o \
|
|
gem/i915_gem_tiling.o \
|
|
gem/i915_gem_ttm.o \
|
|
gem/i915_gem_ttm_move.o \
|
|
gem/i915_gem_ttm_pm.o \
|
|
gem/i915_gem_userptr.o \
|
|
gem/i915_gem_wait.o \
|
|
gem/i915_gemfs.o
|
|
i915-y += \
|
|
$(gem-y) \
|
|
i915_active.o \
|
|
i915_cmd_parser.o \
|
|
i915_deps.o \
|
|
i915_gem.o \
|
|
i915_gem_evict.o \
|
|
i915_gem_gtt.o \
|
|
i915_gem_ww.o \
|
|
i915_query.o \
|
|
i915_request.o \
|
|
i915_scheduler.o \
|
|
i915_trace_points.o \
|
|
i915_ttm_buddy_manager.o \
|
|
i915_vma.o \
|
|
i915_vma_resource.o
|
|
|
|
# general-purpose microcontroller (GuC) support
|
|
i915-y += \
|
|
gt/uc/intel_gsc_fw.o \
|
|
gt/uc/intel_gsc_proxy.o \
|
|
gt/uc/intel_gsc_uc.o \
|
|
gt/uc/intel_gsc_uc_debugfs.o \
|
|
gt/uc/intel_gsc_uc_heci_cmd_submit.o\
|
|
gt/uc/intel_guc.o \
|
|
gt/uc/intel_guc_ads.o \
|
|
gt/uc/intel_guc_capture.o \
|
|
gt/uc/intel_guc_ct.o \
|
|
gt/uc/intel_guc_debugfs.o \
|
|
gt/uc/intel_guc_fw.o \
|
|
gt/uc/intel_guc_hwconfig.o \
|
|
gt/uc/intel_guc_log.o \
|
|
gt/uc/intel_guc_log_debugfs.o \
|
|
gt/uc/intel_guc_rc.o \
|
|
gt/uc/intel_guc_slpc.o \
|
|
gt/uc/intel_guc_submission.o \
|
|
gt/uc/intel_huc.o \
|
|
gt/uc/intel_huc_debugfs.o \
|
|
gt/uc/intel_huc_fw.o \
|
|
gt/uc/intel_uc.o \
|
|
gt/uc/intel_uc_debugfs.o \
|
|
gt/uc/intel_uc_fw.o
|
|
|
|
# graphics system controller (GSC) support
|
|
i915-y += \
|
|
gt/intel_gsc.o
|
|
|
|
# graphics hardware monitoring (HWMON) support
|
|
i915-$(CONFIG_HWMON) += \
|
|
i915_hwmon.o
|
|
|
|
# modesetting core code
|
|
i915-y += \
|
|
display/hsw_ips.o \
|
|
display/i9xx_plane.o \
|
|
display/i9xx_wm.o \
|
|
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_crtc.o \
|
|
display/intel_crtc_state_dump.o \
|
|
display/intel_cursor.o \
|
|
display/intel_display.o \
|
|
display/intel_display_driver.o \
|
|
display/intel_display_irq.o \
|
|
display/intel_display_params.o \
|
|
display/intel_display_power.o \
|
|
display/intel_display_power_map.o \
|
|
display/intel_display_power_well.o \
|
|
display/intel_display_reset.o \
|
|
display/intel_display_rps.o \
|
|
display/intel_display_wa.o \
|
|
display/intel_dmc.o \
|
|
display/intel_dpio_phy.o \
|
|
display/intel_dpll.o \
|
|
display/intel_dpll_mgr.o \
|
|
display/intel_dpt.o \
|
|
display/intel_dpt_common.o \
|
|
display/intel_drrs.o \
|
|
display/intel_dsb.o \
|
|
display/intel_dsb_buffer.o \
|
|
display/intel_fb.o \
|
|
display/intel_fb_bo.o \
|
|
display/intel_fb_pin.o \
|
|
display/intel_fbc.o \
|
|
display/intel_fdi.o \
|
|
display/intel_fifo_underrun.o \
|
|
display/intel_frontbuffer.o \
|
|
display/intel_global_state.o \
|
|
display/intel_hdcp.o \
|
|
display/intel_hdcp_gsc.o \
|
|
display/intel_hdcp_gsc_message.o \
|
|
display/intel_hotplug.o \
|
|
display/intel_hotplug_irq.o \
|
|
display/intel_hti.o \
|
|
display/intel_link_bw.o \
|
|
display/intel_load_detect.o \
|
|
display/intel_lpe_audio.o \
|
|
display/intel_modeset_lock.o \
|
|
display/intel_modeset_setup.o \
|
|
display/intel_modeset_verify.o \
|
|
display/intel_overlay.o \
|
|
display/intel_pch_display.o \
|
|
display/intel_pch_refclk.o \
|
|
display/intel_plane_initial.o \
|
|
display/intel_pmdemand.o \
|
|
display/intel_psr.o \
|
|
display/intel_quirks.o \
|
|
display/intel_sprite.o \
|
|
display/intel_sprite_uapi.o \
|
|
display/intel_tc.o \
|
|
display/intel_vblank.o \
|
|
display/intel_vga.o \
|
|
display/intel_wm.o \
|
|
display/skl_scaler.o \
|
|
display/skl_universal_plane.o \
|
|
display/skl_watermark.o
|
|
i915-$(CONFIG_ACPI) += \
|
|
display/intel_acpi.o \
|
|
display/intel_opregion.o
|
|
i915-$(CONFIG_DRM_FBDEV_EMULATION) += \
|
|
display/intel_fbdev.o \
|
|
display/intel_fbdev_fb.o
|
|
i915-$(CONFIG_DEBUG_FS) += \
|
|
display/intel_display_debugfs.o \
|
|
display/intel_display_debugfs_params.o \
|
|
display/intel_pipe_crc.o
|
|
|
|
# modesetting output/encoder code
|
|
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/g4x_dp.o \
|
|
display/g4x_hdmi.o \
|
|
display/icl_dsi.o \
|
|
display/intel_backlight.o \
|
|
display/intel_crt.o \
|
|
display/intel_cx0_phy.o \
|
|
display/intel_ddi.o \
|
|
display/intel_ddi_buf_trans.o \
|
|
display/intel_display_device.o \
|
|
display/intel_display_trace.o \
|
|
display/intel_dkl_phy.o \
|
|
display/intel_dp.o \
|
|
display/intel_dp_aux.o \
|
|
display/intel_dp_aux_backlight.o \
|
|
display/intel_dp_hdcp.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_pps.o \
|
|
display/intel_qp_tables.o \
|
|
display/intel_sdvo.o \
|
|
display/intel_snps_phy.o \
|
|
display/intel_tv.o \
|
|
display/intel_vdsc.o \
|
|
display/intel_vrr.o \
|
|
display/vlv_dsi.o \
|
|
display/vlv_dsi_pll.o
|
|
|
|
i915-y += \
|
|
i915_perf.o
|
|
|
|
# Protected execution platform (PXP) support. Base support is required for HuC
|
|
i915-y += \
|
|
pxp/intel_pxp.o \
|
|
pxp/intel_pxp_huc.o \
|
|
pxp/intel_pxp_tee.o
|
|
|
|
i915-$(CONFIG_DRM_I915_PXP) += \
|
|
pxp/intel_pxp_cmd.o \
|
|
pxp/intel_pxp_debugfs.o \
|
|
pxp/intel_pxp_gsccs.o \
|
|
pxp/intel_pxp_irq.o \
|
|
pxp/intel_pxp_pm.o \
|
|
pxp/intel_pxp_session.o
|
|
|
|
# Post-mortem debug and GPU hang state capture
|
|
i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += \
|
|
i915_gpu_error.o
|
|
i915-$(CONFIG_DRM_I915_SELFTEST) += \
|
|
gem/selftests/i915_gem_client_blt.o \
|
|
gem/selftests/igt_gem_utils.o \
|
|
selftests/i915_random.o \
|
|
selftests/i915_selftest.o \
|
|
selftests/igt_atomic.o \
|
|
selftests/igt_flush_test.o \
|
|
selftests/igt_live_test.o \
|
|
selftests/igt_mmap.o \
|
|
selftests/igt_reset.o \
|
|
selftests/igt_spinner.o \
|
|
selftests/intel_scheduler_helpers.o \
|
|
selftests/librapl.o
|
|
|
|
# virtual gpu code
|
|
i915-y += \
|
|
i915_vgpu.o
|
|
|
|
i915-$(CONFIG_DRM_I915_GVT) += \
|
|
intel_gvt.o \
|
|
intel_gvt_mmio_table.o
|
|
include $(src)/gvt/Makefile
|
|
|
|
obj-$(CONFIG_DRM_I915) += i915.o
|
|
obj-$(CONFIG_DRM_I915_GVT_KVMGT) += kvmgt.o
|
|
|
|
# kernel-doc test
|
|
#
|
|
# Enable locally for CONFIG_DRM_I915_WERROR=y. See also scripts/Makefile.build
|
|
ifdef CONFIG_DRM_I915_WERROR
|
|
cmd_checkdoc = $(srctree)/scripts/kernel-doc -none -Werror $<
|
|
endif
|
|
|
|
# header test
|
|
|
|
# exclude some broken headers from the test coverage
|
|
no-header-test := \
|
|
display/intel_vbt_defs.h
|
|
|
|
always-$(CONFIG_DRM_I915_WERROR) += \
|
|
$(patsubst %.h,%.hdrtest, $(filter-out $(no-header-test), \
|
|
$(shell cd $(srctree)/$(src) && find * -name '*.h')))
|
|
|
|
quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
|
|
cmd_hdrtest = $(CC) $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; \
|
|
$(srctree)/scripts/kernel-doc -none -Werror $<; touch $@
|
|
|
|
$(obj)/%.hdrtest: $(src)/%.h FORCE
|
|
$(call if_changed_dep,hdrtest)
|