Re: [PATCH] drm/i915/display: Disable AuxCCS framebuffers if built for Xe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 28/01/2025 15:55, Juha-Pekka Heikkilä wrote:
On Tue, Jan 28, 2025 at 3:08 PM Tvrtko Ursulin <tursulin@xxxxxxxxxxx> wrote:


Hi,

On 05/03/2024 16:44, Jani Nikula wrote:
On Wed, 28 Feb 2024, Juha-Pekka Heikkila <juhapekka.heikkila@xxxxxxxxx> wrote:
AuxCCS framebuffers don't work on Xe driver hence disable them
from plane capabilities until they are fixed. FlatCCS framebuffers
work and they are left enabled. CCS is left untouched for i915
driver.

I couldn't find the answer in the below linked issue or in the thread -
is it known what exactly is missing/broken to make this work and are
there any plans to do it? Or perhaps not if gen12lp is not intended to
be supported?

As far as I know devices with AuxCCS are not intended to be supported.

As for this patch, from display point of view these would work the same
as before, just put compressed fb on screen and enable decompression
but I figure there are parts missing from gem side to support AuxCCS.

Right, I can dig in and try to figure out what are those missing GEM bits but I was hoping someone might know straight away to save me that initial digging around.

Regards,

Tvrtko

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@xxxxxxxxx>

Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx>


---
   drivers/gpu/drm/i915/display/skl_universal_plane.c | 3 +++
   1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index e941e2e4fd14..860574d04f88 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2295,6 +2295,9 @@ static u8 skl_get_plane_caps(struct drm_i915_private *i915,
      if (HAS_4TILE(i915))
              caps |= INTEL_PLANE_CAP_TILING_4;

+    if (!IS_ENABLED(I915) && !HAS_FLAT_CCS(i915))
+            return caps;
+
      if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) {
              caps |= INTEL_PLANE_CAP_CCS_RC;
              if (DISPLAY_VER(i915) >= 12)




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux