Skip to contentSkip to conversation

OLPC + Geode fixups

PATCH In review Jordan Crouse 2 participants 4 messages Jul 24, 2006 – Jul 26, 2006

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover OLPC + Geode fixups

The following two patches are in support of the OLPC project. I sent these patches before, but somewhere along the line I failed to correctly follow up.

The first one does some PCI ID cleanup (which is always nice), and the second allows one to disable VGA probing, which is essential when using the OLPC LinuxBIOS which doesn't have VGA/VESA support (yay!).

Signature · 4 lines
Jordan Crouse
Senior Linux Engineer
Advanced Micro Devices, Inc.
<www.amd.com/embeddedprocessors>
#1 lore raw

PATCH 1/2 GEODE: Update and fixup the PCI IDs for the CS5535

From: Jordan Crouse <[email protected]>

Clean up redundant and poorly worded PCI IDs

---

 drivers/video/geode/gxfb_core.c |    2 +-
 include/linux/pci_ids.h         |    5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)
drivers/video/geode/gxfb_core.c +1 -1
index 0d3643f..a454dcb 100644
@@ -380,7 +380,7 @@ static void gxfb_remove(struct pci_dev *
 }
 
 static struct pci_device_id gxfb_id_table[] = {
-	{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_VIDEO,
+	{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_GX_VIDEO,
 	  PCI_ANY_ID, PCI_ANY_ID, PCI_BASE_CLASS_DISPLAY << 16,
 	  0xff0000, 0 },
 	{ 0, }
include/linux/pci_ids.h +2 -3
index c09396d..ca1c50c 100644
@@ -390,7 +390,7 @@ #define PCI_DEVICE_ID_NS_CS5535_ISA	0x00
 #define PCI_DEVICE_ID_NS_CS5535_IDE	0x002d
 #define PCI_DEVICE_ID_NS_CS5535_AUDIO	0x002e
 #define PCI_DEVICE_ID_NS_CS5535_USB	0x002f
-#define PCI_DEVICE_ID_NS_CS5535_VIDEO	0x0030
+#define PCI_DEVICE_ID_NS_GX_VIDEO	0x0030
 #define PCI_DEVICE_ID_NS_SATURN		0x0035
 #define PCI_DEVICE_ID_NS_SCx200_BRIDGE	0x0500
 #define PCI_DEVICE_ID_NS_SCx200_SMI	0x0501
@@ -403,8 +403,7 @@ #define PCI_DEVICE_ID_NS_SC1100_SMI	0x05
 #define PCI_DEVICE_ID_NS_SC1100_XBUS	0x0515
 #define PCI_DEVICE_ID_NS_87410		0xd001
 
-#define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE  0x0028
-#define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE   0x002b
+#define PCI_DEVICE_ID_NS_GX_HOST_BRIDGE  0x0028
 
 #define PCI_VENDOR_ID_TSENG		0x100c
 #define PCI_DEVICE_ID_TSENG_W32P_2	0x3202
#2 lore raw

PATCH 2/2 Add a configuration option to avoid automatically probing VGA

In reply to Jordan Crouse

From: Jordan Crouse <[email protected]>

Some x86 implementations don't have a built in VGA / VESA BIOS. This configuration option (enabled when EMBEDDED is selected), allows us to avoid probing the VGA hardware during boot. This option also disables the VGA console option, which depends heavily on the VGA / VESA probing.

---

 arch/i386/Kconfig             |    9 +++++++++
 arch/i386/boot/setup.S        |    5 +++++
 drivers/video/Kconfig         |    6 +++---
 drivers/video/console/Kconfig |    4 ++--
 4 files changed, 19 insertions(+), 5 deletions(-)
arch/i386/Kconfig +9 -0
index daa75ce..d8935d9 100644
@@ -735,6 +735,15 @@ config SECCOMP
 
 	  If unsure, say Y. Only embedded should say N here.
 
+config VGA_NOPROBE
+       bool "Don't probe VGA at boot" if EMBEDDED
+       default n
+       help
+         Saying Y here will cause the kernel to not probe VGA at boot time.
+         This will break everything that depends on the probed screen
+         data.  Say N here unless you are absolutely sure this is what you
+         want.
+
 source kernel/Kconfig.hz
 
 config KEXEC
arch/i386/boot/setup.S +5 -0
index d2b684c..d63bd9d 100644
@@ -394,10 +394,13 @@ # Set the keyboard repeat rate to the ma
 	xorw	%bx, %bx
 	int	$0x16
 
+#ifndef CONFIG_VGA_NOPROBE
+
 # Check for video adapter and its parameters and allow the
 # user to browse video modes.
 	call	video				# NOTE: we need %ds pointing
 						# to bootsector
+#endif
 
 # Get hd0 data...
 	xorw	%ax, %ax
@@ -1006,9 +1009,11 @@ gdt_48:
 	.word	gdt_end - gdt - 1		# gdt limit
 	.word	0, 0				# gdt base (filled in later)
 
+#ifndef CONFIG_VGA_NOPROBE
 # Include video setup & detection code
 
 #include "video.S"
+#endif
 
 # Setup signature -- must be last
 setup_sig1:	.word	SIG1
drivers/video/Kconfig +3 -3
index 6533b0f..21bf515 100644
@@ -540,7 +540,7 @@ config FB_TGA
 
 config FB_VESA
 	bool "VESA VGA graphics support"
-	depends on (FB = y) && X86
+	depends on (FB = y) && X86 && !VGA_NOPROBE
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
@@ -828,7 +828,7 @@ config FB_I810_I2C
 
 config FB_INTEL
 	tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)"
-	depends on FB && EXPERIMENTAL && PCI && X86
+	depends on FB && EXPERIMENTAL && PCI && X86 && !VGA_NOPROBE
 	select AGP
 	select AGP_INTEL
 	select FB_MODE_HELPERS
@@ -1166,7 +1166,7 @@ config FB_SAVAGE_ACCEL
 
 config FB_SIS
 	tristate "SiS/XGI display support"
-	depends on FB && PCI
+	depends on FB && PCI && !VGA_NOPROBE
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
drivers/video/console/Kconfig +2 -2
index 4444bef..0be8e3b 100644
@@ -5,8 +5,8 @@ #
 menu "Console display driver support"
 
 config VGA_CONSOLE
-	bool "VGA text console" if EMBEDDED || !X86
-	depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE
+	bool "VGA text console" if (EMBEDDED || !X86)
+	depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE && !VGA_NOPROBE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a
#3 lore raw
In reply to Jordan Crouse
Quoted 2 lines · On Mon, 24 Jul 2006 10:50:46 -0600 "Jordan Crouse" <[email protected]>…

The following two patches are in support of the OLPC project. I sent these patches before, but somewhere along the line I failed to correctly follow up.

Actually I sneakily snuck
git://git.infradead.org/users/jcrouse/geode.git#linus-upstream into -mm (as git-geode.patch) a month ago - it's been there since 2.6.17-mm3.

So assuming that tree is being kept up-to-date, I don't need to do anything. Please arrange for the relevant subsystem maintainers to review the bits of your tree which affect them (as you have done) and then send a pull request to Linus at the appropriate time, cc'ing myself.

Unless there are significant bugfixes or this is a new subsystem, the appropriate time would be in the post-2.6.18 two-week merge window.

And please let me know when there are -mm-affecting changes in that git tree. Sometimes people add new branches without telling me, or they leave me carrying abandoned stuff.