diff options
author | Felix Kuehling | 2012-02-24 01:16:12 +0100 |
---|---|---|
committer | Dave Airlie | 2012-02-29 11:23:50 +0100 |
commit | 81ffbbedc37c6043e5f5b123da926aa7dd8ad60a (patch) | |
tree | f092c02ae2baca58e695f59a3d25f9881dfe43b2 /drivers/gpu/drm/drm_platform.c | |
parent | drm: remove unused code (diff) | |
download | kernel-qcow2-linux-81ffbbedc37c6043e5f5b123da926aa7dd8ad60a.tar.gz kernel-qcow2-linux-81ffbbedc37c6043e5f5b123da926aa7dd8ad60a.tar.xz kernel-qcow2-linux-81ffbbedc37c6043e5f5b123da926aa7dd8ad60a.zip |
drm/radeon: fix deferred page-flip detection logic on Avivo-based ASICs
This fixes page-flip-related flickering observed on Iconia Tab W500.
The update_pending status returned by radeon_page_flip is very accurate on
Avivo-based ASICs when vpos is negative.
Experiments were conducted on several ASIC generations ranging from RS690
to Cayman where the page flip was artificially timed to occur at a specific
vpos. With negative vpos, overriding update_pending always lead to
flickering.
The same experiment on RV380 and RV410 showed that update_pending is not
accurate with negative vpos. In most cases update_pending == 1 is returned
although the flip would complete before the start of the next frame.
Therefore I left the behaviour unchanged for pre-AVIVO ASICs for
performance reasons, although this may result in flickering in rare cases.
This change also makes the logic a little easier to understand.
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_platform.c')
0 files changed, 0 insertions, 0 deletions