Luca Tettamanti a écrit : > On 4/12/07, Benjamin Herrenschmidt wrote: >> On Wed, 2007-04-11 at 14:17 +0200, Jimmy Jazz wrote: >> > Hello, >> > >> > i sent it without care and i forgot to add some diff files you will >> have >> > to apply to radeonfb.h, ati_ids.h and radeon_base.c with both >> > radeon_accel.c and radeon_monitor.c patches. Otherwise, you won't be >> > able to compile the kernel anymore. Sorry for the inconvenient. >> > >> > Thank you all of you who contributed to these patches, the initiator of >> > the radeonfb driver and of course the Xorg team who made ATI cards >> > compatible with the xorg server. >> >> There are already patches from Solomon for Atom BIOSes. > > I'm attaching the usual patch for the OP, rediffed against > git-current. Works here on a X850. > >> I admit that I never found the time to fully cleanup, split, test, >> etc... those along with other fixes I have in my queue. I could use a >> co-maintainer for radeonfb... > > Splitting the ATOM patch is PITA, the changes are very interdependent. > For other stuff: I can do testing and cleanup ;-) > > Luca Hi Luca, I added some lines to your code to make my ATI X800 work (it doesn't otherwise). Also DVI Flat panel owners will probably be happy :) I made the test on linux 2.6.21-rc6-r1 Andrew Morton's kernel release. Here have a look at the differences before and after i added my patch. As you can see, before applying the patch, the monitor isn't detected and is defaulted to CRT even if EDID data returns the right informations about the display connected. # cat /var/log/kern.log (THE BAD) Apr 13 21:58:01 seal Starting monitor auto detection... Apr 13 21:58:01 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 21:58:01 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 21:58:01 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 21:58:01 seal radeonfb: I2C (port 1) ... not found Apr 13 21:58:01 seal radeonfb: I2C (port 0) ... found CRT display Apr 13 21:58:01 seal * Connector 1 is VGA. Head -1, Monitor: None Apr 13 21:58:01 seal ddc port: 1, dac: 0, tmds: -1 Apr 13 21:58:01 seal * Connector 2 is DVI-I. Head 0, Monitor: CRT (EDID probed) Apr 13 21:58:01 seal ddc port: 0, dac: 1, tmds: 0 # cat /var/log/kern.log (THE GOOD) Apr 13 23:39:54 seal i2c-adapter i2c-1: nForce2 SMBus adapter at 0x4c40 Apr 13 23:39:54 seal radeonfb_pci_register BEGIN Apr 13 23:39:54 seal ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18 Apr 13 23:39:54 seal ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18 Apr 13 23:39:54 seal radeonfb (0000:01:00.0): Found 131072k of DDR 256 bits wide videoram Apr 13 23:39:54 seal radeonfb (0000:01:00.0): mapped 16384k videoram Apr 13 23:39:54 seal radeonfb: Found Intel x86 BIOS ROM Image Apr 13 23:39:54 seal Retrieved PLL infos from ATOM BIOS Apr 13 23:39:54 seal radeonfb: Reference=27.00 MHz (RefDiv=2) Memory=500.00 Mhz, System=500.00 MHz Apr 13 23:39:54 seal PLL min 20000 max 50000 Apr 13 23:39:54 seal TMDS PLL from BIOS: 16500 b011c Apr 13 23:39:54 seal id=1 GPIO: 0xbac4+0x64 Apr 13 23:39:54 seal id=2 GPIO: 0xbac4+0x68 Apr 13 23:39:54 seal Port 0: DDCType-1, DACType-0, TMDSType--1, ConnectorType-1 Apr 13 23:39:54 seal Port 1: DDCType-0, DACType-1, TMDSType-0, ConnectorType-2 Apr 13 23:39:54 seal Starting monitor auto detection... Apr 13 23:39:54 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 23:39:54 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 23:39:54 seal i2c-adapter i2c-3: unable to read EDID block. Apr 13 23:39:54 seal radeonfb: I2C (port 1) ... not found Apr 13 23:39:54 seal radeonfb: I2C (port 0) ... found TMDS panel Apr 13 23:39:54 seal * Connector 1 is VGA. Head -1, Monitor: None Apr 13 23:39:54 seal ddc port: 1, dac: 0, tmds: -1 Apr 13 23:39:54 seal * Connector 2 is DVI-I. Head 0, Monitor: DVI Flat panel (EDID probed) Apr 13 23:39:54 seal ddc port: 0, dac: 1, tmds: 0 You will find in attachment the diff code source. (AND THE UGLY) A lot of code was altered recently in xf86-video-ati-6.6.191. I think xorg team made the cleanup Benh asks for ;) IMHO that would have been great to unify kernel and xorg code regarding display drivers. @kofboy I'm unable to send you more than one mail a day. There should be something wrong with your ISP. Please join us on the list :) Jj