On Fri, Jul 8, 2022 at 11:05 AM <mj...@cam.ac.uk> wrote:
>
> Most Radeon Evergreen and Northern Island cards support power-saving modes
> with Linux and XOrg well, and have done for years. But if a dual link DVI
> monitor is in use (e.g. a 2560x1440 or 2560x1600 screen), the card will
> refuse to transition out of its high power mode while the display is
> active. I believe that this is because transitions are not supported when
> multiple displays are active, and dual link DVI is counted as being two
> displays.

This has nothing to do with dual link vs single link.  Whether or not
we can change memory clocks comes down to the length of the vblank
period.  We can only change the memory clock during display blanking
periods otherwise you get display disruptions.  WIth multiple displays
this is obviously more complex because the blanking periods may not
align at all.  With single displays however, the blanking period needs
to be long enough to allow the memory reclocking to complete.  Some
displays have a very short vblank period which is not long enough for
a memory reclock.  One option in that case is to tweak the display
timing a bit to extend the vblank period.  Also, depending on the
chip, mclk switching is not possible with very high refresh rates.  In
your particular case, you might be right on the edge of the time which
is why the driver disables mclk switching even though it might appear
to be possible.  Even in some rare cases where users were under the
limit, they were near enough to it that you periodically would see
display disruption during certain mclk reclocks.  See
radeon_dpm_single_display() in radeon_pm.c.

Alex

Reply via email to