Chameleon

Issue 164: AMD 6670 support broken after ati.c r1339

Reported by MacMan, Aug 29, 2011

There was a code change in ati.c somewhere after r1339 that breaks 
support for the AMD HD 6670. If the device ID for the card is added 
to the latest version of ati.c (r1379) you get a white screen using 
Bulrushes for the frame buffer. If you do the same with ati.c r1339 
it works fine,

Comment 1 by Azimutz, Aug 29, 2011

Hi Macman,
try using AtiPorts=3. I removed the 3 port limit imposed to all 
chipsets above Cedar on r1375; maybe that's the problem!? That's all 
i can think of.

Comment 2 by MacMan, Aug 30, 2011

Using AtiPorts with any number less than 6 solves the problem. I 
only see the white screen when AtiPorts=6 or when using the frame 
buffer default of 6. 

Are we sure 6 ports is correct for Bulrushes? Or is the issue with 
the card?

Comment 3 by Azimutz, Aug 30, 2011

The info about the framebuffers i've been using comes mostly from 
bcc9's topic tools/guide:
http://www.insanelymac.com/forum/index.php?showtopic=249642

it's based on info collected from real Mac's, so i assume it's 
correct. Nr of ports seems to be a hardware limitation; the tip for 
the AtiPorts key comes from this post:
http://forum.voodooprojects.org/index.php/topic,1959.msg10402.html#ms
g10402

Comment 4 by MacMan, Aug 30, 2011

Thanks, good stuff in bcc9's post. Using his tool I see that 
Bulrushes is 6 ports. 

I wonder if the issue is only with the Gigabyte card I have or all 
6670's? If it's all then it's easier to work around it.

Comment 5 by Azimutz, Aug 30, 2011

Your welcome. I saw this one coming, backfiring on me :) so i have 
some stuff half cooked up. Will put it up to my branch soon, for 
evaluation...

Comment 6 by Azimutz, Aug 31, 2011

Take a look at r1486/87 and see if it makes any sense.
Works fine on my tests...

Comment 7 by MacMan, Aug 31, 2011

Makes sense to me. 

I'll give it a try with using 3 for the 6670 and let you know how it 
works.

Comment 8 by MacMan, Aug 31, 2011

I built r1488 with a couple of additional cards and tested it with a 
HD 5770, HD 6670 and a HD 6850 and it worked as expected. 

Suggested changes for lines 1366 and 1370:

1366 from:

verbose("Nr of ports set to framebuffer's default: %d\n", 
card->ports);

to:

verbose("Nr of ports set using framebuffer default: %d\n", 
card->ports);

1370 from:

verbose("Nr of ports set to card's ?? max: %d\n", 
card->ports);

To:

verbose("Nr of ports set using framebuffer port override: 
%d\n", card->ports);

Comment 9 by Azimutz, Sep 5, 2011

Hi Macman... sorry for the delay.
About the code, i still have my doubts... this all depends on user 
feedback and... we'll see.
About the debug messages, they are not thought as final;
will review as i go (if i go); i just don't agree with 
"override" for this code change, which i consider to be in 
the "user action" scope. Sure, the code does a similar 
thing, replacing the key, but it's more a "limit" than an 
override.
Anyway, think you can close the issue; we can talk about this some 
were else.

Comment 10 by Cosmosis Jones, Sep 5, 2011

Macman you can change the debug lines in your branch. we may merge 
them later...
Status: Invalid

Created: 6 years 22 days ago by MacMan

Updated: 6 years 15 days ago

Status: Invalid

Owner: MacMan

Followed by: 2 persons

Labels:
Type:Defect
Priority:Critical