drm/radeon: do not reenable crtc after moving vram start address
authorJerome Glisse <jglisse@redhat.com>
Fri, 27 Jul 2012 20:32:24 +0000 (16:32 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 26 Aug 2012 22:00:41 +0000 (15:00 -0700)
commit3407b51859d0e65ed66ccb0080c495a1f03cda6a
tree035b7982afad0b96c509d5e490a0670322e4410d
parentb248464f145eee69818dff9945096745988aa3ce
drm/radeon: do not reenable crtc after moving vram start address

commit 81ee8fb6b52ec69eeed37fe7943446af1dccecc5 upstream.

It seems we can not update the crtc scanout address. After disabling
crtc, update to base address do not take effect after crtc being
reenable leading to at least frame being scanout from the old crtc
base address. Disabling crtc display request lead to same behavior.

So after changing the vram address if we don't keep crtc disabled
we will have the GPU trying to read some random system memory address
with some iommu this will broke the crtc engine and will lead to
broken display and iommu error message.

So to avoid this, disable crtc. For flicker less boot we will need
to avoid moving the vram start address.

This patch should also fix :

https://bugs.freedesktop.org/show_bug.cgi?id=42373

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/rv515.c