James Jones
2025-Aug-11 22:00 UTC
[PATCH 2/3] 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. Fixes: c586f30bf74c ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp") Signed-off-by: James Jones <jajones at nvidia.com> --- drivers/gpu/drm/nouveau/dispnv50/wndw.c | 4 ++++ 1 file changed, 4 insertions(+) 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; -- 2.50.1
Faith Ekstrand
2025-Aug-22 16:17 UTC
[PATCH 2/3] drm/nouveau/disp: Always accept linear modifier
On Mon, Aug 11, 2025 at 5:57?PM James Jones <jajones at nvidia.com> wrote:> > 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. > > Fixes: c586f30bf74c ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp") > Signed-off-by: James Jones <jajones at nvidia.com>Reviewed-by: Faith Ekstrand <faith.ekstrand at collabora.com>> --- > drivers/gpu/drm/nouveau/dispnv50/wndw.c | 4 ++++ > 1 file changed, 4 insertions(+) > > 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; > -- > 2.50.1 >
Danilo Krummrich
2025-Aug-22 20:55 UTC
[PATCH 2/3] drm/nouveau/disp: Always accept linear modifier
On Tue Aug 12, 2025 at 12:00 AM CEST, James Jones wrote:> 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. > > Fixes: c586f30bf74c ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp") > Signed-off-by: James Jones <jajones at nvidia.com>This issue seems to be present since v5.10, what's the implication of this? I assume this has to be backported into stable releases? Does the subsequent patch break strictly depend on this fix, or can it go separately?
Danilo Krummrich
2025-Aug-22 23:14 UTC
[PATCH 2/3] drm/nouveau/disp: Always accept linear modifier
On Tue Aug 12, 2025 at 12:00 AM CEST, James Jones wrote:> 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. > > Fixes: c586f30bf74c ("drm/nouveau/kms: Add format mod prop to base/ovly/nvdisp") > Signed-off-by: James Jones <jajones at nvidia.com>Applied to drm-misc-fixes, thanks!