[PATCH 4/4] amd/display: indicate support for atomic async page-flips on DCN

Simon Ser contact at emersion.fr
Tue Aug 30 15:06:30 UTC 2022


On Tuesday, August 30th, 2022 at 16:42, Alex Deucher <alexdeucher at gmail.com> wrote:

> > Hm, can you elaborate on the difference between "immediate flip" (as in
> > UNP_FLIP_CONTROL) and GRPH_SURFACE_UPDATE_H_RETRACE_EN? What are their
> > relationship with KMS's concept of "async flips"?
> 
> The display surface registers are double buffered. The default is for
> the swap to take place during vblank. However, you can select
> different behavior via the GRPH_FLIP_CONTROL register. On DCE10 and
> older you can set GRPH_SURFACE_UPDATE_H_RETRACE_EN to select swapping
> at hsync. On DCE11 and newer, you can set
> GRPH_SURFACE_UPDATE_IMMEDIATE_EN which causes the swap to immediately
> (IIRC as soon as GRPH_PRIMARY_SURFACE_ADDRESS is written).
> 
> > Also you said earlier:
> > 
> > > We don't use hsync flips at all, even in non-atomic, as far as I recall.
> > 
> > Is "hsync flip" controlled by GRPH_SURFACE_UPDATE_H_RETRACE_EN, or is it
> > something else entirely?
> 
> Yes, GRPH_SURFACE_UPDATE_H_RETRACE_EN. We use hsync swaps on older
> DCE parts that don't support immediate swaps.

Ah, that makes a lot of sense. Thanks for the explanation!


More information about the dri-devel mailing list