mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 08:56:49 +07:00
ea2c67bb4a
Switch plane handling to use the atomic plane helpers. This means that rather than provide our own implementations of .update_plane() and .disable_plane(), we expose the lower-level check/prepare/commit/cleanup entrypoints and let the DRM core implement update/disable for us using those entrypoints. The other main change that falls out of this patch is that our drm_plane's will now always have a valid plane->state that contains the relevant plane state (initial state is allocated at plane creation). The base drm_plane_state pointed to holds the requested source/dest coordinates, and the subclassed intel_plane_state holds the adjusted values that our driver actually uses. v2: - Renamed file from intel_atomic.c to intel_atomic_plane.c (Daniel) - Fix a copy/paste comment mistake (Bob) v3: - Use prepare/cleanup functions that we've already factored out - Use newly refactored pre_commit/commit/post_commit to avoid sleeping during vblank evasion v4: - Rebase to latest di-nightly requires adding an 'old_state' parameter to atomic_update; v5: - Must have botched a rebase somewhere and lost some work. Restore state 'dirty' flag to let begin/end code know which planes to run the pre_commit/post_commit hooks for. This would have actually shown up as broken in the next commit rather than this one. v6: - Squash kerneldoc patch into this one. - Previous patches have now already taken care of most of the infrastructure that used to be in this patch. All we're adding here now is some thin wrappers. v7: - Check return of intel_plane_duplicate_state() for allocation failures. v8: - Drop unused drm_plane_state -> intel_plane_state cast. (Ander) - Squash in actual transition to plane helpers. Significant refactoring earlier in the patchset has made the combined prep+transition much easier to swallow than it was in earlier iterations. (Ander) v9: - s/track_fbs/disabled_planes/ in the atomic crtc flags. The only fb's we need to update frontbuffer tracking for are those on a plane about to be disabled (since the atomic helpers never call prepare_fb() when disabling a plane), so the new name more accurately describes what we're actually tracking. Testcase: igt/kms_plane Testcase: igt/kms_universal_plane Testcase: igt/kms_cursor_crc Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
93 lines
1.9 KiB
Makefile
93 lines
1.9 KiB
Makefile
#
|
|
# Makefile for the drm device driver. This driver provides support for the
|
|
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
|
|
|
|
ccflags-y := -Iinclude/drm
|
|
|
|
# Please keep these build lists sorted!
|
|
|
|
# core driver code
|
|
i915-y := i915_drv.o \
|
|
i915_params.o \
|
|
i915_suspend.o \
|
|
i915_sysfs.o \
|
|
intel_pm.o \
|
|
intel_runtime_pm.o
|
|
|
|
i915-$(CONFIG_COMPAT) += i915_ioc32.o
|
|
i915-$(CONFIG_DEBUG_FS) += i915_debugfs.o
|
|
|
|
# GEM code
|
|
i915-y += i915_cmd_parser.o \
|
|
i915_gem_batch_pool.o \
|
|
i915_gem_context.o \
|
|
i915_gem_render_state.o \
|
|
i915_gem_debug.o \
|
|
i915_gem_dmabuf.o \
|
|
i915_gem_evict.o \
|
|
i915_gem_execbuffer.o \
|
|
i915_gem_gtt.o \
|
|
i915_gem.o \
|
|
i915_gem_stolen.o \
|
|
i915_gem_tiling.o \
|
|
i915_gem_userptr.o \
|
|
i915_gpu_error.o \
|
|
i915_irq.o \
|
|
i915_trace_points.o \
|
|
intel_lrc.o \
|
|
intel_ringbuffer.o \
|
|
intel_uncore.o
|
|
|
|
# autogenerated null render state
|
|
i915-y += intel_renderstate_gen6.o \
|
|
intel_renderstate_gen7.o \
|
|
intel_renderstate_gen8.o \
|
|
intel_renderstate_gen9.o
|
|
|
|
# modesetting core code
|
|
i915-y += intel_audio.o \
|
|
intel_bios.o \
|
|
intel_display.o \
|
|
intel_fbc.o \
|
|
intel_fifo_underrun.o \
|
|
intel_frontbuffer.o \
|
|
intel_modes.o \
|
|
intel_overlay.o \
|
|
intel_psr.o \
|
|
intel_sideband.o \
|
|
intel_sprite.o
|
|
i915-$(CONFIG_ACPI) += intel_acpi.o intel_opregion.o
|
|
i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o
|
|
|
|
# modesetting output/encoder code
|
|
i915-y += dvo_ch7017.o \
|
|
dvo_ch7xxx.o \
|
|
dvo_ivch.o \
|
|
dvo_ns2501.o \
|
|
dvo_sil164.o \
|
|
dvo_tfp410.o \
|
|
intel_atomic_plane.o \
|
|
intel_crt.o \
|
|
intel_ddi.o \
|
|
intel_dp.o \
|
|
intel_dp_mst.o \
|
|
intel_dsi_cmd.o \
|
|
intel_dsi.o \
|
|
intel_dsi_pll.o \
|
|
intel_dsi_panel_vbt.o \
|
|
intel_dvo.o \
|
|
intel_hdmi.o \
|
|
intel_i2c.o \
|
|
intel_lvds.o \
|
|
intel_panel.o \
|
|
intel_sdvo.o \
|
|
intel_tv.o
|
|
|
|
# legacy horrors
|
|
i915-y += i915_dma.o \
|
|
i915_ums.o
|
|
|
|
obj-$(CONFIG_DRM_I915) += i915.o
|
|
|
|
CFLAGS_i915_trace_points.o := -I$(src)
|