Thread (15 messages) flat view 15 messages, 6 authors, 2003-08-15

Re: [Linux-fbdev-devel] Re: [Dri-devel] Rage128 and Radeon patches

From: Steven Newbury <hidden>
Date: 2003-08-14 18:32:55

On Thu, 2003-08-14 at 19:06, Alex Deucher wrote:
I haven't tried multiple radeon cards, but I seem to recall several
people having this problem right around when 4.3.0 was released.  I
don't think a "proper" fix ever went in and I think the issue was to be
revisited later.  I don't know if it's needed anymore or not.
It is still needed, Radeon as a secondary display only works on the
first initialisation (it can not find ROM on subsequent attempts) in all
XFree86 versions I have tried up to and including current CVS.  At least
on my hardware... :-/
quoted hunk ↗ jump to hunk
Alex
--- Jon Smirl <jonsmirl@yahoo.com> wrote:
quoted
--- Alex Deucher <agd5f@yahoo.com> wrote:
quoted
quoted
2) access ROM directly instead of relying on copy
in low RAM. This allows multiple cards. Required
MPP_TB_CONFIG fix in driver.
Is this patch necessary for xfree86?  It may address
some of the issues
in the email threads I sent out yesterday (ie,
problems with multiple
radeon cards and xfree86).  if so would you consider
making one?
Xfree code does not have the patch, but is Xfree
experiencing the bug? Xfree accesses the hardware very
differently than the framebuffer drivers.

I suspect that you would see this problem if you were
using something else for your primary video and a
Radeon for secondary. The first time you ran Xfree it
would work. But when you exited and restarted Xfree it
would hang when starting the secondary display.

Where does XFree reset the secondary card? The code
below needs to run right after the reset in the radeon
driver. I added it to my Rage128 driver too but I have
not observed the problem with them.

Framebuffer code is different and triggers the bug the
first time the secondary display is accessed.

/* Fix from ATI for problem with Radeon hardware not
leaving ROM enabled */
unsigned int temp;
temp = INREG(RADEON_MPP_TB_CONFIG);
temp &= 0x00ffffffu;
temp |= 0x04 << 24;
OUTREG(RADEON_MPP_TB_CONFIG, temp);
temp = INREG(RADEON_MPP_TB_CONFIG);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help