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)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 13 Aug 2012 14:50:52 +0000 (10:50 -0400)
commit81ee8fb6b52ec69eeed37fe7943446af1dccecc5
treed1555065fd14f68eb17863ab77a67ca8d1b65165
parent5b23c9045a8b61352986270b2d109edf5085e113
drm/radeon: do not reenable crtc after moving vram start address

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

Cc: <stable@vger.kernel.org>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/radeon_asic.h
drivers/gpu/drm/radeon/rv515.c