Re: Getting Dual Independent Heads to work on Debian(sid) on iBook
- To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
- Cc: debian-powerpc@lists.debian.org, devel@XFree86.Org
- Subject: Re: Getting Dual Independent Heads to work on Debian(sid) on iBook
- From: "Andreakis, Dean (MED)" <Dean.Andreakis@med.ge.com>
- Date: 13 Jun 2003 14:28:17 -0500
- Message-id: <1055532497.6446.90.camel@localhost.localdomain>
- In-reply-to: <1055518647.914.41.camel@gaston>
- References: <1055452689.6446.36.camel@localhost.localdomain> <1055513177.916.34.camel@gaston> <1055516939.6446.67.camel@localhost.localdomain> <1055518647.914.41.camel@gaston>
Ben,
Thanks again. I see the section in radeonfb.c you mentioned below:
You are probably hitting this:
>
> if ((var->xoffset + var->xres > var->xres_virtual)
> || (var->yoffset + var->yres > var->yres_virtual))
> return -EINVAL;
>
> In radeonfb fb_pan_display()
Just as a quick test I commented this check out and now I don't see the
error ((EE) RADEON (0): FBIOPAN_DISPLAY: Invalid argument) in my XF86
log but I am still in clone mode. I also see the following in the XF86
log:
(WW) RADEON (0): Static buffer allocation failed -- need at least 9216
kB video memory
(II) RADEON (0): Memory manager initialzed to (0,0) (10124,2048)
(II) RADEON (0): Reserved area from (0,768) to (1024, 770)
(II) RADEON (0): Largest offscreen area available: 1024 x 1278
...
(WW) RADEON (1): Static buffer allocation failed -- need at least 9216
kB video memory
(II) RADEON (1): Memory manager initialzed to (0,0) (10124,2048)
(II) RADEON (1): Reserved area from (0,768) to (1024, 770)
(II) RADEON (1): Largest offscreen area available: 1024 x 1278
It seems confusing to me since I have 16MBytes of video memory
installed. For 1024x768x32bpp mode (worste case) this only calculates to
3145728 bytes per screen but yet its telling me I need 9216 kBytes per
screen...hmmmm...must be more buffer allocation needed by the chip then
just the on-screen area frame buffer....
any thoughts?
thx...
-dean andreakis
On Fri, 2003-06-13 at 10:37, Benjamin Herrenschmidt wrote:
> On Fri, 2003-06-13 at 17:08, Andreakis, Dean (MED) wrote:
>
> > Given this result I tried comparing the sections of code in the kernel
> > fbdev driver and the XF86 radeon driver that sets up the PLL and there
> > was just a few minor diff's in the default min/max values. I went ahead
> > and changed these to match and recompiled/installed XFree86 4.3 etc. but
> > it didn't make any difference...the flickering still occured. Maybe I am
> > looking at the wrong parts of code....hmmm....
>
> Look for if (machine_is_compatible("PowerBook4,3")) in radeonfb, this
> is where I hard code the PLL value for the panel:
>
> if (machine_is_compatible("PowerBook4,3") && rinfo->arch == RADEON_M7)
> regs->ppll_div_3 = 0x000600ad;
>
> The yellow tint is usually a symptom of wrong endian. Look at the
> code that sets SURFACE_CNTL and tweak it (try setting bits for
> both apertures for example).
>
> > I guess the other weird thing is the color issue (yellowing). It also
> > seems to be related to the BusID setting. If I use 0:16:0 in the device
> > sections then its yellow. If I use 0:10:0 in just the external crt
> > device section (an incorrect value per your earlier comments) then the
> > colors are all ok on both screens etc...
>
> Hrm... Make no sense to me...
>
> > In any case I appreiciate your comments. I guess I really want to get
> > down to enabling the dual-head mode first and then I can worry about any
> > flickering and color issues secondarily. On that note I looked at my
> > XF86 log file and noticed the following error:
> >
> > (EE) RADEON (0): FBIOPAN_DISPLAY: Invalid argument
> >
> > This end up being in the fb_ioctl function in the kernel fbmem.c
> > module.I am not sure whats going on in this particular section so maybe
> > you can comment.
>
> You are probably hitting this:
>
> if ((var->xoffset + var->xres > var->xres_virtual)
> || (var->yoffset + var->yres > var->yres_virtual))
> return -EINVAL;
>
> In radeonfb fb_pan_display()
>
>
Reply to: