Hi!
Any ideas?
Alex probably knows more about this, but it sounds like problems with switching the memory clocks on 3D load.
Try to disable power management completely with radeon.dpm=0 on the kernel command line or nailing the hardware at a specific power level using sysfs.
I tried that, but it still flickers.
It's probably pll stability. There seem to be a number of regressions since the pll code was rewritten to support matching the hdmi clocks more closely. Does this patch help?
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index dac78ad..b86f06a 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c @@ -569,6 +569,8 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, radeon_crtc->pll_flags = 0;
if (ASIC_IS_AVIVO(rdev)) {
radeon_crtc->pll_flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;
if ((rdev->family == CHIP_RS600) || (rdev->family == CHIP_RS690) || (rdev->family == CHIP_RS740))
Help.. maybe... it is tricky to tell. It definitely does _not_ fix the issue completely.
You could also try the old pll algorithm:
I reverted the patch above, and switched to the old algorithm.
The flicker is still there. (But maybe its less horrible, like with RADEON_PLL_PREFER_MINM_OVER_MAXP).
Thanks, Pavel