linux-yocto/drivers/gpu/drm/i915/display/intel_tdf.h
Matthew Auld 4071ada7ae drm/i915/display: perform transient flush
Perform manual transient cache flush prior to flip and at the end of
frontbuffer_flush. This is needed to ensure display engine doesn't see
garbage if the surface is L3:XD dirty.

Testcase: igt@xe-pat@display-vs-wb-transient
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240430172850.1881525-19-radhakrishna.sripada@intel.com
2024-05-03 13:15:54 -07:00

26 lines
718 B
C

/* SPDX-License-Identifier: MIT */
/*
* Copyright © 2024 Intel Corporation
*/
#ifndef __INTEL_TDF_H__
#define __INTEL_TDF_H__
/*
* TDF (Transient-Data-Flush) is needed for Xe2+ where special L3:XD caching can
* be enabled through various PAT index modes. Idea is to use this caching mode
* when for example rendering onto the display surface, with the promise that
* KMD will ensure transient cache entries are always flushed by the time we do
* the display flip, since display engine is never coherent with CPU/GPU caches.
*/
struct drm_i915_private;
#ifdef I915
static inline void intel_td_flush(struct drm_i915_private *i915) {}
#else
void intel_td_flush(struct drm_i915_private *i915);
#endif
#endif