Commit e2fe0c54 authored by James Jones's avatar James Jones Committed by Danilo Krummrich
Browse files

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: c586f30b ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp")
Signed-off-by: default avatarJames Jones <jajones@nvidia.com>
Link: https://lore.kernel.org/r/20250811220017.1337-3-jajones@nvidia.com


Signed-off-by: default avatarDanilo Krummrich <dakr@kernel.org>
parent 08fb4544
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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;