Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/radeon: Fix max_vblank_count value for current display engines

The value was much too low, which could cause the userspace visible
vblank counter to move backwards when the hardware counter wrapped
around.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Michel Dänzer and committed by
Alex Deucher
b0b9bb4d 161ab658

+7 -1
+7 -1
drivers/gpu/drm/radeon/radeon_irq_kms.c
··· 145 145 */ 146 146 int radeon_driver_irq_postinstall_kms(struct drm_device *dev) 147 147 { 148 - dev->max_vblank_count = 0x001fffff; 148 + struct radeon_device *rdev = dev->dev_private; 149 + 150 + if (ASIC_IS_AVIVO(rdev)) 151 + dev->max_vblank_count = 0x00ffffff; 152 + else 153 + dev->max_vblank_count = 0x001fffff; 154 + 149 155 return 0; 150 156 } 151 157