xenocara/driver/xf86-video-radeonhd/utils/conntest
matthieu 9c0e580e95 Update to xf86-video-radeonhd 1.2.5. Tested by eric@
Version 1.2.5 improvements:

  - Added 2D acceleration for R6xx and R7xx.
  - Added XVideo support for R6xx and R7xx.
  - Added support for RS880 and RV790.
  - Added RandR 1.3 mandatory properties.
  - Refactoring of MC code.
  - Enable DRI support by default on R5xx and RS6xx.
  - LUT (color lookup table) fixes.
  - Tons of quirk table entries and bug fixes.
  - Fix register accesses for processors that reorder memory writes.
2009-04-26 13:59:41 +00:00
..
git_version.h Update to xf86-video-radeonhd 1.2.5. Tested by eric@ 2009-04-26 13:59:41 +00:00
Imakefile update to xf86-video-radeonhd-1.2.1. 2008-04-19 14:02:04 +00:00
Makefile.am Update to xf86-video-radeonhd 1.2.0. Tested by jdixon@ and jasper@ 2008-04-19 13:41:45 +00:00
Makefile.in Update to xf86-video-radeonhd 1.2.4. 2009-01-28 14:43:56 +00:00
README Update to xf86-video-radeonhd 1.2.0. Tested by jdixon@ and jasper@ 2008-04-19 13:41:45 +00:00
rhd_conntest.c Update to xf86-video-radeonhd 1.2.5. Tested by eric@ 2009-04-26 13:59:41 +00:00
rhd_dump.c Update to xf86-video-radeonhd 1.2.5. Tested by eric@ 2009-04-26 13:59:41 +00:00

*********************
* radeonhd conntest *
*********************

A helper utility to test the status of the connectors of the AMD GPG
Radeon R5xx and R6xx graphics devices.

Build:
------

 * Make sure the pciutils development files and zlib are installed.
 * Descend into xf86-video-radeonhd/utils/conntest/
 * Run "make".

Usage:
------

As root run:
./rhd_conntest <pci tag> [-d] [-s] [-x num]

<pci tag> is in the form <bus>:<device>.<function>, the most common position
is 1:0.0. lspci happily provides you with this information.

The optional option -s will scan the known I2C for additional slaves (besides
the DDC slave on 0xA0). Depending on your hardware this may take long.

The optional argument -x <num> will dump <num> bytes of data from the
available DDC slaves. <num> must not be higher than 256.

To dump the content of the VBIOS run:
./rhd_conntest <pci tag> -d
This will dump the VBIOS to the file:
  <device_id>.<subsystem_vendor_id>.<subsystem_id>.vga.rom
to the current directory. Should the id information be unavailable the VBIOS
will be dumped to the file 'posted.vga.rom'.

DO NOT try to run rhd_conntest on the secondary PCI function. (1:0.1 in our
example). For R5xx this is just a fake device to fool some Microsoft operating
systems, and is of no use to us. For R6xx this is a HDMI sound device, and is
of no use for a video driver.

Background information:
-----------------------

R5xx and R6xx standalone cards usually have either 1 VGA and 1 DVI-I or 2
DVI-I connectors. Since we are not handling TV encoders yet in our driver, any
s-video or composite connector is still ignored at this point. Laptops with
R5xx or R6xx style hardware usually come with one panel and one VGA or DVI-I
connector.

These connectors share many things in them.

In case of a DVI-I, they connect up to two outputs: A TMDS encoder (DVI) and a
DAC (analog VGA/CRT); with a DDC bus (Display Data Channel) and a HPD pin (Hot
Plug Detect).

For a VGA connector, this is only a single DAC and a DDC bus.

For a Panel, this is using the LVDS encoder and possibly a DDC bus.

Currently up to 4 outputs are possible: DACA, DACB, TMDSA and LVTMA. DACA and
DACB are fully load detect capable, and our utility is able to do this for
you. TMDSA is also able to do load detection. LVTMA is a shared LVDS/TMDS
encoder. Sadly this lacks load detection and will not detect whether a DVI
cable is attached. If LVDS is initialised by the BIOS, then this utility will
gdump further information as well.

When looking at the component side of the graphics card, the PCI-E/AGP/PCI
should be seen as down, the connectors will be on the left hand side now.
As a convention, we treat the connector that is now towards the top of the
card as the first to go into our connector list. Please adhere to this
convention, or you and your fellow users will at one point be led into
confusion.

If there is anything unclear here, please contact the developers.

Procedure for standalone graphics cards:
----------------------------------------

Please read carefully through the background information section first, it
introduces important concepts and notions needed to successfully add connector
support for your card.

Create a small text file. Each step, mention which cable was connected where.

Go over each connector separately, and connect the analogue (VGA) cable once
and connect the DVI cable once (when possible). Each time running rhd_conntest
and saving the data rhd_conntest spews out.

Make sure that only one cable is attached at each time.

The resulting file, plus further information about the make and model of your
board will hopefully provide all the information the developers of the
radeonhd driver need.

Procedure for laptops:
----------------------

Please read carefully through the background information section first, it
introduces important concepts and notions needed to successfully add connector
support for your card.

Create a small text file. Each step, mention which cable was connected where.

First, run rhd_conntest without an external monitor attached. This will show
us if or whether a DDC bus is attached to the internal panel. Save the data.

Then attach a monitor through the analogue (VGA) connection, use the adaptor
plug when needed. Run rhd_conntest and save the data.

When available, attach a monitor through its DVI connection. Run rhd_conntest
and save the data.

The resulting file, plus further information about the make and model of your
laptop will hopefully provide all the information the developers of the
radeonhd driver need.

Where to get help and send results:
-----------------------------------

There is the mailing list: radeonhd@opensuse.org
You can subscribe to this list by sending a mail to:
     radeonhd+subscribe@opensuse.org

There is also an irc channel on freenode.net that's called #radeonhd.

Authors:
--------

Luc Verhaegen (aka libv) and Egbert Eich (aka egbert), reusing code from their
driver.