Re: [PATCH v6 6/6] drm/doc: Define KMS atomic state set

From: Ville Syrjälä
Date: Mon Oct 16 2023 - 11:10:19 EST


On Mon, Oct 16, 2023 at 05:52:22PM +0300, Pekka Paalanen wrote:
> On Mon, 16 Oct 2023 15:42:16 +0200
> André Almeida <andrealmeid@xxxxxxxxxx> wrote:
>
> > Hi Pekka,
> >
> > On 10/16/23 14:18, Pekka Paalanen wrote:
> > > On Mon, 16 Oct 2023 12:52:32 +0200
> > > André Almeida <andrealmeid@xxxxxxxxxx> wrote:
> > >
> > >> Hi Michel,
> > >>
> > >> On 8/17/23 12:37, Michel Dänzer wrote:
> > >>> On 8/15/23 20:57, André Almeida wrote:
> > >>>> From: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxx>
> > >>>>
> > >>>> Specify how the atomic state is maintained between userspace and
> > >>>> kernel, plus the special case for async flips.
> > >>>>
> > >>>> Signed-off-by: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxx>
> > >>>> Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx>
> > >>> [...]
> > >>>
> > >>>> +An atomic commit with the flag DRM_MODE_PAGE_FLIP_ASYNC is allowed to
> > >>>> +effectively change only the FB_ID property on any planes. No-operation changes
> > >>>> +are ignored as always. [...]
> > >>> During the hackfest in Brno, it was mentioned that a commit which re-sets the same FB_ID could actually have an effect with VRR: It could trigger scanout of the next frame before vertical blank has reached its maximum duration. Some kind of mechanism is required for this in order to allow user space to perform low frame rate compensation.
> > >>>
> > >> Xaver tested this hypothesis in a flipping the same fb in a VRR monitor
> > >> and it worked as expected, so this shouldn't be a concern.
> > > Right, so it must have some effect. It cannot be simply ignored like in
> > > the proposed doc wording. Do we special-case re-setting the same FB_ID
> > > as "not a no-op" or "not ignored" or some other way?
> > There's an effect in the refresh rate, the image won't change but it
> > will report that a flip had happened asynchronously so the reported
> > framerate will be increased. Maybe an additional wording could be like:
> >
> > Flipping to the same FB_ID will result in a immediate flip as if it was
> > changing to a different one, with no effect on the image but effecting
> > the reported frame rate.
>
> Re-setting FB_ID to its current value is a special case regardless of
> PAGE_FLIP_ASYNC, is it not?

No. The rule has so far been that all side effects are observed
even if you flip to the same fb. And that is one of my annoyances
with this proposal. The rules will now be different for async flips
vs. everything else.

The other issues (mainly relating to hardware where not all planes
support async flips) I've already highlighted in some earlier mail.

--
Ville Syrjälä
Intel