aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJames Jones <jajones@nvidia.com>2025-08-11 15:00:16 -0700
committerDanilo Krummrich <dakr@kernel.org>2025-08-23 01:13:00 +0200
commite2fe0c54fb7401e6ecd3c10348519ab9e23bd639 (patch)
treeaf4bcf3038a18d812b7e0c7bc69d6a377857ad9b
parentdrm/amdgpu: Pin buffers while vmap'ing exported dma-buf objects (diff)
downloadwireguard-linux-e2fe0c54fb7401e6ecd3c10348519ab9e23bd639.tar.xz
wireguard-linux-e2fe0c54fb7401e6ecd3c10348519ab9e23bd639.zip
drm/nouveau/disp: Always accept linear modifier
On some chipsets, which block-linear modifiers are supported is format-specific. However, linear modifiers are always be supported. The prior modifier filtering logic was not accounting for the linear case. Cc: stable@vger.kernel.org Fixes: c586f30bf74c ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp") Signed-off-by: James Jones <jajones@nvidia.com> Link: https://lore.kernel.org/r/20250811220017.1337-3-jajones@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-rw-r--r--drivers/gpu/drm/nouveau/dispnv50/wndw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.c b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
index 11d5b923d6e7..e2c55f4b9c5a 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/wndw.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
@@ -795,6 +795,10 @@ static bool nv50_plane_format_mod_supported(struct drm_plane *plane,
struct nouveau_drm *drm = nouveau_drm(plane->dev);
uint8_t i;
+ /* All chipsets can display all formats in linear layout */
+ if (modifier == DRM_FORMAT_MOD_LINEAR)
+ return true;
+
if (drm->client.device.info.chipset < 0xc0) {
const struct drm_format_info *info = drm_format_info(format);
const uint8_t kind = (modifier >> 12) & 0xff;