From 9965b2b72a299309bb40fe6d98e19a65b7b2b587 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Fri, 8 Apr 2022 08:56:02 +0200 Subject: [PATCH] pc: disable dsb unit in intel_fb_drv (gen12) The error message "Command buffer creation failed" in intel_dsb.c repeatedly appears during connector hotplug. Since the driver works also without this DMA offload optimization, disable the functionality. Issue #4450 --- .../drivers/framebuffer/intel/pc/dummies.c | 19 +++++++++++++++++++ .../framebuffer/intel/pc/generated_dummies.c | 13 +++++++++++++ .../intel/pc/spec/x86_32/source.list | 1 - .../intel/pc/spec/x86_64/source.list | 1 - 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c b/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c index d21f55b340..f23aaeb221 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c +++ b/repos/pc/src/drivers/framebuffer/intel/pc/dummies.c @@ -775,3 +775,22 @@ int ___ratelimit(struct ratelimit_state * rs, const char * func) lx_emul_trace(__func__); return 1; } + + +void intel_dsb_prepare(struct intel_crtc_state *crtc_state) +{ + lx_emul_trace(__func__); +} + + +void intel_dsb_cleanup(struct intel_crtc_state *crtc_state) +{ + lx_emul_trace(__func__); +} + + + +void intel_dsb_commit(const struct intel_crtc_state *crtc_state) +{ + lx_emul_trace(__func__); +} diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/generated_dummies.c b/repos/pc/src/drivers/framebuffer/intel/pc/generated_dummies.c index 6da1d16ce6..324fd2256a 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/generated_dummies.c +++ b/repos/pc/src/drivers/framebuffer/intel/pc/generated_dummies.c @@ -2198,3 +2198,16 @@ void wake_q_add_safe(struct wake_q_head * head,struct task_struct * task) lx_emul_trace_and_stop(__func__); } + +void intel_dsb_reg_write(const struct intel_crtc_state *crtc_state, + i915_reg_t reg, u32 val) +{ + lx_emul_trace_and_stop(__func__); +} + + +void intel_dsb_indexed_reg_write(const struct intel_crtc_state *crtc_state, + i915_reg_t reg, u32 val) +{ + lx_emul_trace_and_stop(__func__); +} diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list index 5c6d42989c..41d36603e7 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list +++ b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_32/source.list @@ -97,7 +97,6 @@ drivers/gpu/drm/i915/display/intel_dp_link_training.c drivers/gpu/drm/i915/display/intel_dpll.c drivers/gpu/drm/i915/display/intel_dpll_mgr.c drivers/gpu/drm/i915/display/intel_dp_mst.c -drivers/gpu/drm/i915/display/intel_dsb.c drivers/gpu/drm/i915/display/intel_dsi.c drivers/gpu/drm/i915/display/intel_dsi_vbt.c drivers/gpu/drm/i915/display/intel_fb.c diff --git a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list index f289270d61..64634c7cfb 100644 --- a/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list +++ b/repos/pc/src/drivers/framebuffer/intel/pc/spec/x86_64/source.list @@ -100,7 +100,6 @@ drivers/gpu/drm/i915/display/intel_dp_link_training.c drivers/gpu/drm/i915/display/intel_dpll.c drivers/gpu/drm/i915/display/intel_dpll_mgr.c drivers/gpu/drm/i915/display/intel_dp_mst.c -drivers/gpu/drm/i915/display/intel_dsb.c drivers/gpu/drm/i915/display/intel_dsi.c drivers/gpu/drm/i915/display/intel_dsi_vbt.c drivers/gpu/drm/i915/display/intel_fb.c