Which FB to use instead of vesafb?
Subsystems (2)
Which framebuffer works with a:
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go] (rev a3) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 10
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at ec000000 (32-bit, prefetchable) [size=64M]
Memory at ebf80000 (32-bit, prefetchable) [size=512K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: <available only to root>
Signature · 5 lines
Ralf Hildebrandt (Im Auftrag des Referat V a) [email protected] Charite Campus Mitte Tel. +49 (0)30-450 570-155 Referat V a - Kommunikationsnetze - Fax. +49 (0)30-450 570-916 Basic research is what I'm doing when I don't know what I'm doing. -- Wernher von Braun
Try rivafb, but I hear it is broken in 2.5 :)
Regards
Josh
Quoted 23 lines · Ralf Hildebrandt
Which framebuffer works with a:
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go] (rev a3) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 10
Memory atfd000000(32-bit, non-prefetchable) [size=16M]
Memory atec000000(32-bit, prefetchable) [size=64M]
Memory atebf80000(32-bit, prefetchable) [size=512K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: <available only to root>Signature · 11 lines
Ralf Hildebrandt (Im Auftrag des Referat V a) [email protected] Charite Campus Mitte Tel. +49 (0)30-450 570-155 Referat V a - Kommunikationsnetze - Fax. +49 (0)30-450 570-916 Basic research is what I'm doing when I don't know what I'm doing. -- Wernher von Braun - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Quoted 1 line · Joshua Kwan
Try rivafb, but I hear it is broken in 2.5 :)
Sound like to be broken..
Quoted 12 lines · Ralf Hildebrandt
Quoted 11 lines
Which framebuffer works with a:
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go] (rev a3) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 10
Memory atfd000000(32-bit, non-prefetchable) [size=16M]
Memory atec000000(32-bit, prefetchable) [size=64M]
Memory atebf80000(32-bit, prefetchable) [size=512K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: <available only to root>
There were patch around for 2.4. Search for Paul Richards on lkml, or apply this one (Richards version diffed against 2.4.21-pre3).
Signature · 3 lines
Ducrot Bruno http://www.poupinou.org Page profaissionelle http://toto.tu-me-saoules.com Haume page
drivers/video/riva/Makefile +3 -2
@@ -9,7 +9,8 @@ O_TARGET := rivafb.o -obj-y := fbdev.o riva_hw.o accel.o -obj-m := $(O_TARGET) +export-objs := fbdev.o + +obj-$(CONFIG_FB_RIVA) := fbdev.o nv_setup.o riva_hw.o accel.o include $(TOPDIR)/Rules.make
drivers/video/riva/accel.c +21 -0
@@ -243,10 +243,17 @@ setup: fbcon_riva8_setup, bmove: fbcon_riva_bmove, clear: fbcon_riva8_clear, +#ifdef __BIG_ENDIAN + putc: fbcon_cfb8_putc, + putcs: fbcon_cfb8_putcs, + revc: fbcon_cfb8_revc, + clear_margins: fbcon_cfb8_clear_margins, +#else putc: fbcon_riva8_putc, putcs: fbcon_riva8_putcs, revc: fbcon_riva8_revc, clear_margins: fbcon_riva8_clear_margins, +#endif fontwidthmask: FONTWIDTHRANGE(4, 16) };#endif
@@ -346,10 +353,17 @@ setup: fbcon_riva16_setup, bmove: fbcon_riva_bmove, clear: fbcon_riva16_clear, +#ifdef __BIG_ENDIAN + putc: fbcon_cfb16_putc, + putcs: fbcon_cfb16_putcs, + revc: fbcon_cfb16_revc, + clear_margins: fbcon_cfb16_clear_margins, +#else putc: fbcon_riva16_putc, putcs: fbcon_riva16_putcs, revc: fbcon_riva1632_revc, clear_margins: fbcon_riva16_clear_margins, +#endif fontwidthmask: FONTWIDTHRANGE(4, 16) };#endif
@@ -420,10 +434,17 @@ setup: fbcon_riva32_setup, bmove: fbcon_riva_bmove, clear: fbcon_riva32_clear, +#ifdef __BIG_ENDIAN + putc: fbcon_cfb32_putc, + putcs: fbcon_cfb32_putcs, + revc: fbcon_cfb32_revc, + clear_margins: fbcon_cfb32_clear_margins, +#else putc: fbcon_riva32_putc, putcs: fbcon_riva32_putcs, revc: fbcon_riva1632_revc, clear_margins: fbcon_riva32_clear_margins, +#endif fontwidthmask: FONTWIDTHRANGE(4, 16) };#endif
drivers/video/riva/fbdev.c +458 -116
815 lines not on this page · raw message
drivers/video/riva/riva_hw.c +325 -132
704 lines not on this page · raw message
drivers/video/riva/riva_hw.h +97 -12
285 lines not on this page · raw message
drivers/video/riva/riva_tbl.h +78 -21
245 lines not on this page · raw message
drivers/video/riva/rivafb.h +38 -1
@@ -16,6 +16,9 @@#define NUM_GRC_REGS 0x09#define NUM_ATC_REGS 0x15 + +#define RIVAFB_MAX_DRIVERS 10 +/* holds the state of the VGA core and extended Riva hw state from riva_hw.c. * From KGI originally. */ struct riva_regs {
@@ -27,11 +30,22 @@RIVA_HW_STATE ext; }; +struct rivafb_info ; +struct rivafb_driver { +struct list_head node; +char *name; +void *(*probe)(struct rivafb_info *rinfo); +void *(*remove)(struct rivafb_info *rinfo,void *data); +}; + +int rivafb_register_driver (struct rivafb_driver *driver); +void rivafb_unregister_driver (struct rivafb_driver *driver); + +typedef struct {unsigned char red, green, blue, transp; }riva_cfb8_cmap_t ; -struct rivafb_info ;struct rivafb_info {struct fb_info info;/* kernel framebuffer info */
@@ -51,12 +65,18 @@struct riva_regs initial_state;/* initial startup video mode */ struct riva_regs current_state; +unsigned char *EDID ; +struct display disp;int currcon;struct display *currcon_display;struct rivafb_info *next; +struct rivafb_driver *(drivers[RIVAFB_MAX_DRIVERS ]); +void *(drivers_data[RIVAFB_MAX_DRIVERS ]); +unsigned int drivers_count; +struct pci_dev *pd;/* pointer to board's pci info */ unsigned base0_region_size;/* size of control register region */ unsigned base1_region_size;/* size of framebuffer region */
@@ -67,6 +87,16 @@riva_cfb8_cmap_t palette[256 ];/* VGA DAC palette cache */ +int panel_xres, panel_yres; +int clock; +int hOver_plus, hSync_width, hblank; +int vOver_plus, vSync_width, vblank; +int hAct_high, vAct_high, interlaced; +int synct, misc; + +int use_default_var; +int got_dfpinfo; + #if defined(FBCON_HAS_CFB16) || defined(FBCON_HAS_CFB32) union { #ifdef FBCON_HAS_CFB16
@@ -80,6 +110,13 @@#ifdef CONFIG_MTRR struct {int vram;int vram_valid; } mtrr;#endif +unsigned int Chipset; +int forceCRTC; +Bool SecondCRTC; + int FlatPanel; }; + +void riva_common_setup (struct rivafb_info *); +#endif /* __RIVAFB_H */
include/linux/pci_ids.h +17 -0
@@ -912,12 +912,29 @@#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2 0x0151#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA 0x0152#define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO 0x0153 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_460 0x0170 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440 0x0171 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420 0x0172 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO 0x0174 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO 0x0175 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO_M32 0x0176 +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_500XGL 0x0178 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64 0x0179 +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_200 0x017A +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL 0x017B +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL 0x017C#define PCI_DEVICE_ID_NVIDIA_IGEFORCE2 0x01a0#define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE 0x01bc#define PCI_DEVICE_ID_NVIDIA_GEFORCE3 0x0200#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1 0x0201#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_2 0x0202#define PCI_DEVICE_ID_NVIDIA_QUADRO_DDC 0x0203 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4600 0x0250 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4400 0x0251 +#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4200 0x0253 +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258 +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259 +#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B#define PCI_VENDOR_ID_IMS 0x10e0#define PCI_DEVICE_ID_IMS_8849 0x8849
Quoted 4 lines
Quoted 2 lines
Try rivafb, but I hear it is broken in 2.5 :)
Sound like to be broken..
I have new patches at http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz.
Quoted 2 lines
There were patch around for 2.4. Search for Paul Richards on lkml, or apply this one (Richards version diffed against 2.4.21-pre3).
The above patch is basiclly his ported to the new api.
* Joshua Kwan <[email protected]>:
Quoted 1 line
Try rivafb, but I hear it is broken in 2.5 :)
Nevermind, I'm not mentally 2.5.x ready anyway. I'll stick to 2.4.21-sumthin
Signature · 6 lines
Ralf Hildebrandt (Im Auftrag des Referat V a) [email protected] Charite Campus Mitte Tel. +49 (0)30-450 570-155 Referat V a - Kommunikationsnetze - Fax. +49 (0)30-450 570-916 What about the four lusers of the apocalypse? I nominate: "advertising", "can't log in", "power switch" and "what backup?" Runners-up: "But I only changed one line" and "What's the any key"?