GSC is a graphics system controller, it provides a chassis controller for graphics discrete cards. There are two MEI interfaces in GSC: HECI1 and HECI2. Both interfaces are on the BAR0 at offsets 0x00258000 and 0x00259000. GSC is a GT Engine (class 4: instance 6). HECI1 interrupt is signaled via bit 15 and HECI2 via bit 14 in the interrupt register. This patch exports GSC as auxiliary device for mei driver to bind to for HECI2 interface and prepares for HECI1 interface as it will follow up soon. CC: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Vitaly Lubart <vitaly.lubart@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220419193314.526966-2-daniele.ceraolospurio@intel.com
357 lines
9.1 KiB
Makefile
357 lines
9.1 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.
|
|
|
|
# Add a set of useful warning flags and enable -Werror for CI to prevent
|
|
# trivial mistakes from creeping in. We have to do this piecemeal as we reject
|
|
# any patch that isn't warning clean, so turning on -Wall -Wextra (or W=1) we
|
|
# need to filter out dubious warnings. Still it is our interest
|
|
# to keep running locally with W=1 C=1 until we are completely clean.
|
|
#
|
|
# Note the danger in using -Wall -Wextra is that when CI updates gcc we
|
|
# will most likely get a sudden build breakage... Hopefully we will fix
|
|
# new warnings before CI updates!
|
|
subdir-ccflags-y := -Wall -Wextra
|
|
subdir-ccflags-y += -Wno-format-security
|
|
subdir-ccflags-y += -Wno-unused-parameter
|
|
subdir-ccflags-y += -Wno-type-limits
|
|
subdir-ccflags-y += -Wno-missing-field-initializers
|
|
subdir-ccflags-y += -Wno-sign-compare
|
|
subdir-ccflags-y += -Wno-shift-negative-value
|
|
subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
|
|
subdir-ccflags-y += $(call cc-disable-warning, frame-address)
|
|
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
|
|
|
|
# Fine grained warnings disable
|
|
CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
|
|
CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
|
|
|
|
subdir-ccflags-y += -I$(srctree)/$(src)
|
|
|
|
# Please keep these build lists sorted!
|
|
|
|
# core driver code
|
|
i915-y += i915_driver.o \
|
|
i915_drm_client.o \
|
|
i915_config.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_device_info.o \
|
|
intel_dram.o \
|
|
intel_memory_region.o \
|
|
intel_pch.o \
|
|
intel_pcode.o \
|
|
intel_pm.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 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 \
|
|
display/intel_display_debugfs.o \
|
|
display/intel_pipe_crc.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_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_sseu.o \
|
|
gt/intel_sseu_debugfs.o \
|
|
gt/intel_timeline.o \
|
|
gt/intel_workarounds.o \
|
|
gt/shmem_utils.o \
|
|
gt/sysfs_engines.o
|
|
# x86 intel-gtt module support
|
|
gt-$(CONFIG_X86) += gt/intel_gt_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_object.o \
|
|
gem/i915_gem_lmem.o \
|
|
gem/i915_gem_mman.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_evict.o \
|
|
i915_gem_gtt.o \
|
|
i915_gem_ww.o \
|
|
i915_gem.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 \
|
|
intel_wopcm.o
|
|
|
|
# general-purpose microcontroller (GuC) support
|
|
i915-y += gt/uc/intel_uc.o \
|
|
gt/uc/intel_uc_debugfs.o \
|
|
gt/uc/intel_uc_fw.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
|
|
|
|
# graphics system controller (GSC) support
|
|
i915-y += gt/intel_gsc.o
|
|
|
|
# modesetting core code
|
|
i915-y += \
|
|
display/hsw_ips.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_cursor.o \
|
|
display/intel_display.o \
|
|
display/intel_display_power.o \
|
|
display/intel_display_power_well.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_drrs.o \
|
|
display/intel_dsb.o \
|
|
display/intel_fb.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_hotplug.o \
|
|
display/intel_lpe_audio.o \
|
|
display/intel_overlay.o \
|
|
display/intel_pch_display.o \
|
|
display/intel_pch_refclk.o \
|
|
display/intel_plane_initial.o \
|
|
display/intel_psr.o \
|
|
display/intel_quirks.o \
|
|
display/intel_sprite.o \
|
|
display/intel_tc.o \
|
|
display/intel_vga.o \
|
|
display/i9xx_plane.o \
|
|
display/skl_scaler.o \
|
|
display/skl_universal_plane.o
|
|
i915-$(CONFIG_ACPI) += \
|
|
display/intel_acpi.o \
|
|
display/intel_opregion.o
|
|
i915-$(CONFIG_DRM_FBDEV_EMULATION) += \
|
|
display/intel_fbdev.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_ddi.o \
|
|
display/intel_ddi_buf_trans.o \
|
|
display/intel_display_trace.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
|
|
i915-$(CONFIG_DRM_I915_PXP) += \
|
|
pxp/intel_pxp.o \
|
|
pxp/intel_pxp_cmd.o \
|
|
pxp/intel_pxp_debugfs.o \
|
|
pxp/intel_pxp_irq.o \
|
|
pxp/intel_pxp_pm.o \
|
|
pxp/intel_pxp_session.o \
|
|
pxp/intel_pxp_tee.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/intel_scheduler_helpers.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/librapl.o
|
|
|
|
# virtual gpu code
|
|
i915-y += i915_vgpu.o
|
|
|
|
ifeq ($(CONFIG_DRM_I915_GVT),y)
|
|
i915-y += intel_gvt.o
|
|
include $(src)/gvt/Makefile
|
|
endif
|
|
|
|
obj-$(CONFIG_DRM_I915) += i915.o
|
|
obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o
|
|
|
|
# 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 $<; touch $@
|
|
|
|
$(obj)/%.hdrtest: $(src)/%.h FORCE
|
|
$(call if_changed_dep,hdrtest)
|