[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Getting Dual Independent Heads to work on Debian(sid) on iBook



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: