Message ID | 20240103181714.200828-1-jose.souza@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/i915: Disable DSB in Xe KMD | expand |
On Wed, 03 Jan 2024, José Roberto de Souza <jose.souza@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@intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Jani Nikula <jani.nikula@intel.com> > Signed-off-by: José Roberto de Souza <jose.souza@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)
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)
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) 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@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> --- drivers/gpu/drm/i915/display/intel_display_device.h | 5 +++++ 1 file changed, 5 insertions(+)