Re: [Fwd: Re: Dual head on G4 Powerbook 400MHz]

2004-02-26 Thread David Stanaway
On Thu, 26 Feb 2004 at 09:17:49 +1100, Benjamin Herrenschmidt wrote: 
 In the normal case, we really want all displays opened. This make
 sure everything gets properly initialized by the firmware. The
 fact that m3mirror hack doesn't work in this case is a side
 effect ;) It could probably be fixed by other means though.

I compared the radeonfb.c to aty128fb.c. in 2.6.3

It looks like the radeonfb.c initialzes the displays by toggling a few
flags in some registers for CRTC2_GEN_CNTL and CRTC_EXT_CNTL. However,
aty128fb.c only deals with the CRTC_EXT_CNTL register. I am sure there
are lots of other differences too, but it is late.

In which kernel version was dual head mode first working with the
radeonfb driver?

What kind of tweaks for dual head were needed in the radeonfb driver?

Also, I am a little confused about the framebuffer. Is that only used
for the primary display? It only seems to be setup with color, and mode
information for the primary display in both drivers.

I haven't looked at the X drivers yet, I am sure that will answer my
questions. Again what version was dual head support introduced for the
radeon driver so I can see what was changes were needed.

-- 
David Stanaway [EMAIL PROTECTED]



Re: Dual head on G4 Powerbook 400MHz

2004-02-25 Thread David Stanaway
On Tue, 2004-02-24 at 13:18, Julien BLACHE wrote:
 There was a patch for the 2.4 kernel, but it doesn't work on 2.6. On
 2.4, you could also replace the prom_init.c file with the one from
 2.4.20 and that would allow you to use m3mirror to enable the crt
 output.

I have had a look at the differences, and the only things I can see are
some POWER4 additions, and improving the process for opening the
displays in check_display.

When I boot, the prom_init output scrolls past pretty fast, and I think
I just see one display get opened before the LCD gets reset to a
different graphics mode.

My device-tree has a parent node ATY,[EMAIL PROTECTED]  with 2 children
displays: ATY,RageM3p12A and ATY,RageM3p12B
A is LCD and B is the CRT.

Would a hack workaround be to change the sorting of display nodes so
that the CRT is opened first?

Also, is there a safe way to put a pause in before opening the displays
in prom_init to review the displays found in the first part of
check_displays?

I haven't looked through the aty128fb driver yet, but what is involved
in fixing up dualhead there?

-- 
David Stanaway [EMAIL PROTECTED]



Re: Dual head on G4 Powerbook 400MHz

2004-02-25 Thread Benjamin Herrenschmidt
On Wed, 2004-02-25 at 06:18, Julien BLACHE wrote:

 Maybe it's possible to reuse prom_init.c from 2.4.20 with a 2.6
 kernel, I haven't tried (yet).

No but you can obtain the same result by commenting out one line :)

Just force check_display() to only open the first fisplay.

 The proper solution would be to add dualhead support to
 aty128fb.c. (or pester BenH until he either writes the code or gives
 us enough information to do it -- now that radeonfb is mostly fixed,
 maybe we can get a chance ? ;)

Or to XFree r128 driver...

I don't have time to work on that and the information I have is
under NDA, so while I can use it to write code, I can't just publish
it... Sorry...

Ben.




Re: Dual head on G4 Powerbook 400MHz

2004-02-25 Thread Michael Schmitz
  I am trying to get dual head, or even just CRT only use from the Rage
  128 M3 on my TiBook without much luck.

 The good news is, the problem is known; the bad news is, nobody is
 working on it.
[...]
 The proper solution would be to add dualhead support to
 aty128fb.c. (or pester BenH until he either writes the code or gives
 us enough information to do it -- now that radeonfb is mostly fixed,

You described at least three different fixed for 2.4 - I would presume
that should provide enough information to do it already?

So it can't really be lack of information here. Do what I did to get
mirror support for the Rage LT Pro: Use the information available (from
2.4 or other sources) to write the necessary code.

Michael



[Fwd: Re: Dual head on G4 Powerbook 400MHz]

2004-02-25 Thread David Stanaway
I got this from BenH, looks like he ment to CC the list but typoed :P.

-- 
David Stanaway [EMAIL PROTECTED]
---BeginMessage---

 I could make it just open the first display if there were 2 and they
 were both M3s, but is there are more general test to see if this is
 necessary?

In the normal case, we really want all displays opened. This make
sure everything gets properly initialized by the firmware. The
fact that m3mirror hack doesn't work in this case is a side
effect ;) It could probably be fixed by other means though.
 
   The proper solution would be to add dualhead support to
   aty128fb.c. (or pester BenH until he either writes the code or gives
   us enough information to do it -- now that radeonfb is mostly fixed,
   maybe we can get a chance ? ;)
  
  Or to XFree r128 driver...
 
 Is is much of a hack to the build scripts (debian ones) for X to just
 have the r128 driver rebuilt and the .o files relinked as needed?
 Otherwise it will take ages and ages for itterative builds?
 
  I don't have time to work on that and the information I have is
  under NDA, so while I can use it to write code, I can't just publish
  it... Sorry...
 
 No problem. I will have a look at it, but I don't have alot of spare
 time.
-- 
Benjamin Herrenschmidt [EMAIL PROTECTED]

---End Message---


Dual head on G4 Powerbook 400MHz

2004-02-24 Thread David Stanaway
I am trying to get dual head, or even just CRT only use from the Rage
128 M3 on my TiBook without much luck.

I just got a Studio 21 display and I am not having any luck using it in
linux yet. 

I am using sid with X 4.3.0-2 and kernel 2.6.3 (I also build the drm
trunk from the source package in sid if that is relevant).

Should I be using framebuffer and the ati driver in X, or should I be
using the fb driver?

I can see the CRT and the LCD device entries in /proc/device-tree and I
can turn the lcd and the crt off and on with m3mirror, I just can't get
X to use the CRT.

-- 
David Stanaway [EMAIL PROTECTED]