radeonfb: limit ioremap size & debug output
PATCH 1/1 radeonfb: limit ioremap size & debug output
Hi Linus !
This patch adds a limit on how much of the framebuffer is ioremap'ed by radeonfb, thus enabling it to work with 128Mb VRAM or more on an x86 with 900Mb of lowmem in the linear mapping.
It also adds a significant amount of debug messages and adds a CONFIG option to enable the debugging output, that should help with diagnosing new problems. Among others, it dumps the connector info as I understand them (so far, they give "strange" informations on laptops, I need more data on more various laptops to see if there's a pattern I can really use to figure out on which connector the LVDS is)
Regarding the "lid closed at boot", ultimately, we may want to default to the VGA output in those cases, though I'm not sure what logic to use here. Maybe we could standardize some way for the platform to provide this "environment" information to the driver, but i wouldn't rely on it.
More reliably, if we can find out that there is an LVDS output, and LVDS is disabled, just ignore the flat panel...
We could assume any mobility chip has LVDS, which is true, but that would still cause a problem for laptops with an additional DVI output (only Macs so far afaik).
Ben.
drivers/video/Kconfig +9 -0
@@ -650,6 +650,15 @@ help Say Y here if you want DDC/I2C support for your Radeon board. +config FB_RADEON_DEBUG + bool "Lots of debug output from Radeon driver" + depends on FB_RADEON + default n + help + Say Y here if you want the Radeon driver to output all sorts + of debugging informations to provide to the maintainer when + something goes wrong. + config FB_ATY128 tristate "ATI Rage128 display support" depends on FB && PCI
drivers/video/aty/radeon_base.c +88 -4
144 lines not on this page · raw message
drivers/video/aty/radeon_i2c.c +2 -1
@@ -243,7 +243,8 @@return MT_NONE ; }if (edid[0x14 ] &0x80 ) { -if (rinfo->is_mobility && conn == ddc_dvi && +/* Fix detection using BIOS tables */ +if (rinfo->is_mobility/*&& conn == ddc_dvi*/ && (INREG (LVDS_GEN_CNTL ) &LVDS_ON )) {RTRACE ("radeonfb: I2C (port %d) ... found LVDS panel\n" , conn);return MT_LCD ;
drivers/video/aty/radeon_monitor.c +78 -4
145 lines not on this page · raw message
drivers/video/aty/radeonfb.h +5 -0
@@ -282,6 +282,7 @@u8 family;u8 rev;unsigned long video_ram; +unsigned long mapped_vram;int pitch, bpp, depth;
@@ -332,7 +333,11 @@/* * Debugging stuffs */ +#ifdef CONFIG_FB_RADEON_DEBUG +#define DEBUG 1 +#else #define DEBUG 0 +#endif #if DEBUG #define RTRACE printk