[PATCH v2 4/4] drm/i915/3dlut: disable 3D LUT if unsupported
Michał Grzelak <[email protected]> Mon, 3 Aug 2026 23:49:09 +0200
| Newsgroups | org.freedesktop.lists.intel-xe,org.freedesktop.lists.intel-gfx,org.kernel.vger.stable |
|---|---|
| Organization | Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 |
| Message-ID | <[email protected]> |
XE2LPD_DE_CAP_3DLUT_MASK is defined but never used. Check DE_CAP with the mask whether 3D LUT is disabled for LNL+. Reset has_3dlut if that is the case. Bspec: 71161 Cc: Chaitanya Kumar Borah <[email protected]> Cc: <[email protected]> Fixes: 6d181a288e64 ("drm/i915/xe2lpd: update the dsc feature capability") Signed-off-by: Michał Grzelak <[email protected]> --- drivers/gpu/drm/i915/display/intel_display_device.c | 4 ++++ drivers/gpu/drm/i915/display/intel_display_regs.h | 1 + 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c b/drivers/gpu/drm/i915/display/intel_display_device.c index a2bea5ac59cf..d4e52e627b34 100644 --- a/drivers/gpu/drm/i915/display/intel_display_device.c +++ b/drivers/gpu/drm/i915/display/intel_display_device.c @@ -1940,6 +1940,10 @@ static void __intel_display_device_info_runtime_init(struct intel_display *displ if (DISPLAY_VER(display) >= 20) { u32 cap = intel_de_read(display, XE2LPD_DE_CAP); + if (REG_FIELD_GET(XE2LPD_DE_CAP_3DLUT_MASK, cap) == + XE2LPD_DE_CAP_3DLUT_REMOVED) + display_runtime->has_3dlut = 0; + if (REG_FIELD_GET(XE2LPD_DE_CAP_DSC_MASK, cap) == XE2LPD_DE_CAP_DSC_REMOVED) display_runtime->has_dsc = 0; diff --git a/drivers/gpu/drm/i915/display/intel_display_regs.h b/drivers/gpu/drm/i915/display/intel_display_regs.h index 740331ead20a..78b9e6008828 100644 --- a/drivers/gpu/drm/i915/display/intel_display_regs.h +++ b/drivers/gpu/drm/i915/display/intel_display_regs.h @@ -1773,6 +1773,7 @@ #define XE2LPD_DE_CAP _MMIO(0x41100) #define XE2LPD_DE_CAP_3DLUT_MASK REG_GENMASK(31, 30) +#define XE2LPD_DE_CAP_3DLUT_REMOVED 1 #define XE2LPD_DE_CAP_DSC_MASK REG_GENMASK(29, 28) #define XE2LPD_DE_CAP_DSC_REMOVED 1 #define XE2LPD_DE_CAP_SCALER_MASK REG_GENMASK(27, 26) -- 2.45.2