Mailinglist Archive: radeonhd (288 mails)

< Previous Next >
Re: [radeonhd] HDMI audio on the Radeon HD 4350
Am Samstag, den 25.07.2009, 00:27 -0500 schrieb Samir Unni:
$ sudo ./rhd_dump -w 0x7410 0x05001031 1:00.0
$ sudo ./rhd_dump -w 0x7454 0x80283D7A 1:00.0
$ sudo ./rhd_dump -w 0x7458 0x00000010 1:00.0

in any order will cause the screen to turn green. None of the other commands
seem to have any impact at all. Running just any two of those three commands
has no impact either. I switched to a VT and back after each sequence of
commands to ensure that I was starting "clean" each time.
Good, this at least eliminates the 0x7400 as possible source of the
problem, and it only looks like ATI introduced some new bits in the
0x7410 register, wich affects the AV Info Frame.

I've attached the dumps; they look a lot more pertinent, as there are only
differences on two of the lines.
At least the first difference look very odd, the 0x0514 and 0x0518
registers are the multiplier/divider for the audio timing. 0x0514 is
initialized to a constant value (48000*50), while the 0x0518 is set to
the current pixel clock*100. The pixel clock depend on the current
resolution, so if you use the same resolution for your fglrx and
radeonhd setup this value should be the same, but that isn't the
case....

Do you use the same resolution for both? Or are fglrx and radeonhd run
at different resolutions?

Even when I turn up the volume on the TV all the way and put my ear right up
against a speaker, I can't hear anything.
Then the bug is somewere in the stream setup, or the debugging facility
works different on this hardware. Try the command
sudo ./rhd_dump -w 0x7408 0x00021011 1:00.0
with fglrx! Does this work? Is there a recognizable sound?

If the facility works on fglrx as expected then we should first try to
also get this working on radeonhd. Try (again) writing all differences
between fglrx and radeonhd, but this time with the debugging facility
turned on:
sudo ./rhd_dump -w 0x7408 0x00021011 1:00.0
sudo ./rhd_dump -w 0x740C 0x00011000 1:00.0
sudo ./rhd_dump -w 0x7410 0x05001031 1:00.0
sudo ./rhd_dump -w 0x7460 0x02000000 1:00.0
sudo ./rhd_dump -w 0x74D4 0x00100000 1:00.0
sudo ./rhd_dump -w 0x74D8 0x00200000 1:00.0
sudo ./rhd_dump -w 0x74DC 0x00000000 1:00.0
sudo ./rhd_dump -w 0x74E0 0x00000000 1:00.0
sudo ./rhd_dump -w 0x74E4 0x00000000 1:00.0
sudo ./rhd_dump -w 0x74E8 0x00000000 1:00.0
sudo ./rhd_dump -w 0x74EC 0x00000000 1:00.0
sudo ./rhd_dump -w 0x74F0 0x00876543 1:00.0

If that still doesn't yield any result try changing the timing register
0x0518
sudo ./rhd_dump -w 0x0518 0x00714BE8 1:00.0

What's required to fix this problem?
In general speaking, let us find the source of it.
As me and Rafał Miłecki tried to figure out how hdmi audio works on the
M86 chipset we spend more than 2 month on that, and the resolution of
the problem was coded in less than an hour.
The end result of all this try and error is usually some new knowledge
about the hardware (remember everything we know about the audio/hdmi
engine is reverse engineered), so it worth the work.

Bye,
Christian.


--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups