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()