On Thu, Jan 7, 2021 at 6:57 PM Daniel Vetter <dan...@ffwll.ch> wrote:
> On Sat, Jan 02, 2021 at 04:31:36PM +0100, Mario Kleiner wrote: > > On Sat, Jan 2, 2021 at 3:02 PM Bas Nieuwenhuizen > > <b...@basnieuwenhuizen.nl> wrote: > > > > > > With modifiers one can actually have different format_info structs > > > for the same format, which now matters for AMDGPU since we convert > > > implicit modifiers to explicit modifiers with multiple planes. > > > > > > I checked other drivers and it doesn't look like they end up triggering > > > this case so I think this is safe to relax. > > > > > > Signed-off-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > > > Fixes: 816853f9dc40 ("drm/amd/display: Set new format info for > converted metadata.") > > > --- > > > drivers/gpu/drm/drm_plane.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c > > > index e6231947f987..f5085990cfac 100644 > > > --- a/drivers/gpu/drm/drm_plane.c > > > +++ b/drivers/gpu/drm/drm_plane.c > > > @@ -1163,7 +1163,7 @@ int drm_mode_page_flip_ioctl(struct drm_device > *dev, > > > if (ret) > > > goto out; > > > > > > - if (old_fb->format != fb->format) { > > > + if (old_fb->format->format != fb->format->format) { > > > > This was btw. the original way before Ville made it more strict about > > 4 years ago, to catch issues related to tiling, and more complex > > layouts, like the dcc tiling/retiling introduced by your modifier > > patches. That's why I hope my alternative patch is a good solution for > > atomic drivers while keeping the strictness for potential legacy > > drivers. > > Yeah this doesn't work in full generality, because hw might need to do a > full modeset to do a full modeset to reallocate resources (like scanout > fifo space) if the format changes. > > But for atomic drivers that should be caught in ->atomic_check, which > should result in -EINVAL, so should do the right thing. So it should be > all good, but imo needs a comment to explain what's going on: > > /* > * Only check the FOURCC format code, excluding modifiers. This is > * enough for all legacy drivers. Atomic drivers have their own > * checks in their ->atomic_check implementation, which will > * return -EINVAL if any hw or driver constraint is violated due > * to modifier changes. > */ > > Also can you pls cc: intel-gfx to get this vetted by the intel-gfx ci? > > With that: > > Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch> > > Ah, my "atomic expert", posting simultaneously with myself :). Happy new year. Opinions on my variant, just replied a minute ago? thanks, -mario > > > -mario > > > > > DRM_DEBUG_KMS("Page flip is not allowed to change > frame buffer format.\n"); > > > ret = -EINVAL; > > > goto out; > > > -- > > > 2.29.2 > > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch >
_______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx