[ltp] big radeon patch (includes lvds+ internal tmds support)

Alex Deucher linux-thinkpad@linux-thinkpad.org
Sat, 25 Jun 2005 13:12:13 -0400


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

This is a big collection of all the fixing I've been working on over the la=
st
few weeks.  It's a big patch, but I can break it up when it's ready for cvs=
.=20
It's partly based on an old patch from Hui Yu as well as some tv-out sample=
 code
from ati.

New features:
- output mapping.  either crtc can drive any output.  An option, reversedis=
play,
lets you swap the crtc maps.  Works well
- tv-out.  I haven't done extensive testing, since I don't have a tv near m=
y pc.
pluging it into my tv-card results in an out of sync signal.  needs testing=
 and
fixing.  also tv auto-detect is not yet implemented as I don't know
how to do it.
- LVDS + internal TMDS.  if you have a laptop or docking station with LVDS =
and a
DVI port, set your monitorlayout to "LVDS, TMDS" and it should work, howeve=
r, I
don't have such a laptop/docking station to test with, so it may need some =
small
tweaks yet.  Please test and let me know how it goes.
- fix tiling on r3/4xx.  tiled framebuffer now works perfectly on
r3/4xx hardware
- fix dynamicclocks code.  several OUTREGs should have been OUTPLLs
- fix corruption on high res modes on on r3/4xx.  if displaypriority is set=
 to
HIGH, bump up the display priority in the memory controller.  according to =
the
databooks, this is the proper behavior for hi-res displays the controller c=
an't
handle with the default priority.

The patch is pretty invasive so there is a possibility that I've broken old
functionality or lost certain fixes.  I've tried to be careful, but it coul=
d
definitely use some more testing.

Similar to Hui's old patch, I've moved much of the display code to a new
radeon_display.c.  I've also added radeon_tvout.c and radeon_tvout.h to sup=
port
tv-out.  Add the new files and apply the patch.

The latest and greatest is available here:
http://www.botchco.com/alex/xorg/superpatch/

Alex