[PATCH v2] drm/i915: Disable DSB in Xe KMD
Jani Nikula
jani.nikula at intel.com
Thu Jan 4 12:09:36 UTC 2024
On Wed, 03 Jan 2024, José Roberto de Souza <jose.souza at intel.com> wrote:
> Often getting DBS overflows when starting Xorg or Wayland compositors
> when running Xe KMD.
> Issue was reported but nothing was done, so disabling DSB as whole
> until properly fixed in Xe KMD.
>
> v2:
> - move check to HAS_DSB(Jani)
I was thinking of something like
diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c b/drivers/gpu/drm/i915/display/intel_dsb.c
index 482c28b5c2de..a6c7122fd671 100644
--- a/drivers/gpu/drm/i915/display/intel_dsb.c
+++ b/drivers/gpu/drm/i915/display/intel_dsb.c
@@ -453,6 +453,10 @@ struct intel_dsb *intel_dsb_prepare(const struct intel_crtc_state *crtc_state,
if (!HAS_DSB(i915))
return NULL;
+ /* TODO: DSB is broken in Xe KMD, so disabling it until fixed */
+ if (!IS_ENABLED(I915))
+ return NULL;
+
dsb = kzalloc(sizeof(*dsb), GFP_KERNEL);
if (!dsb)
goto out;
>
> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/989
> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1031
> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1072
> Cc: Animesh Manna <animesh.manna at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_device.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index fe42688137863..faa49aced46a5 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -45,7 +45,12 @@ struct drm_printer;
> #define HAS_DP_MST(i915) (DISPLAY_INFO(i915)->has_dp_mst)
> #define HAS_DP20(i915) (IS_DG2(i915) || DISPLAY_VER(i915) >= 14)
> #define HAS_DPT(i915) (DISPLAY_VER(i915) >= 13)
> +#ifdef I915
> #define HAS_DSB(i915) (DISPLAY_INFO(i915)->has_dsb)
> +#else
> +/* TODO: DSB is broken in Xe KMD, so disabling it until fixed */
> +#define HAS_DSB(i915) (false)
> +#endif
> #define HAS_DSC(__i915) (DISPLAY_RUNTIME_INFO(__i915)->has_dsc)
> #define HAS_FBC(i915) (DISPLAY_RUNTIME_INFO(i915)->fbc_mask != 0)
> #define HAS_FPGA_DBG_UNCLAIMED(i915) (DISPLAY_INFO(i915)->has_fpga_dbg)
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list