public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz
Cc: akpm@osdl.org
Subject: [PATCH] PCI: handle multiple video cards on the same bus
Date: Fri, 1 Apr 2005 15:47:54 -0800	[thread overview]
Message-ID: <1112399274112@kroah.com> (raw)
In-Reply-To: <11123992732759@kroah.com>

ChangeSet 1.2181.16.22, 2005/03/28 15:10:57-08:00, akpm@osdl.org

[PATCH] PCI: handle multiple video cards on the same bus

From: Jon Smirl <jonsmirl@gmail.com>

When detecting the boot video device, allow for the case of multiple
cards on the same bus. Check each candidate to make sure that the card
is active.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


 arch/i386/pci/fixup.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)


diff -Nru a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c
--- a/arch/i386/pci/fixup.c	2005-04-01 15:32:11 -08:00
+++ b/arch/i386/pci/fixup.c	2005-04-01 15:32:11 -08:00
@@ -343,7 +343,7 @@
 /*
  * Fixup to mark boot BIOS video selected by BIOS before it changes
  *
- * From information provided by "Jon Smirl" <jonsmirl@yahoo.com>
+ * From information provided by "Jon Smirl" <jonsmirl@gmail.com>
  *
  * The standard boot ROM sequence for an x86 machine uses the BIOS
  * to select an initial video card for boot display. This boot video 
@@ -354,12 +354,13 @@
  * See pci_map_rom() for use of this flag. IORESOURCE_ROM_SHADOW
  * is marked here since the boot video device will be the only enabled
  * video device at this point.
- *
- */static void __devinit pci_fixup_video(struct pci_dev *pdev)
+ */
+
+static void __devinit pci_fixup_video(struct pci_dev *pdev)
 {
 	struct pci_dev *bridge;
 	struct pci_bus *bus;
-	u16 l;
+	u16 config;
 
 	if ((pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
 		return;
@@ -369,12 +370,17 @@
 	while (bus) {
 		bridge = bus->self;
 		if (bridge) {
-			pci_read_config_word(bridge, PCI_BRIDGE_CONTROL, &l);
-			if (!(l & PCI_BRIDGE_CTL_VGA))
+			pci_read_config_word(bridge, PCI_BRIDGE_CONTROL,
+						&config);
+			if (!(config & PCI_BRIDGE_CTL_VGA))
 				return;
 		}
 		bus = bus->parent;
 	}
-	pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW;
+	pci_read_config_word(pdev, PCI_COMMAND, &config);
+	if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) {
+		pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW;
+		printk(KERN_DEBUG "Boot video device is %s\n", pci_name(pdev));
+	}
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_video);


  reply	other threads:[~2005-04-02  0:17 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-01 23:45 [BK PATCH] PCI update for 2.6.12-rc1 Greg KH
2005-04-01 23:47 ` PCI: increase the size of the pci.ids strings Greg KH
2005-04-01 23:47   ` Remove item from feature-removal-schedule.txt that was already removed from the kernel Greg KH
2005-04-01 23:47     ` PCI: add CONFIG_PCI_NAMES to the feature-removal-schedule.txt file Greg KH
2005-04-01 23:47       ` [PATCH] PCI: sync up with the latest pci.ids file from sf.net Greg KH
2005-04-01 23:47         ` [PATCH] PCI: Add PCI device ID for new Mellanox HCA Greg KH
2005-04-01 23:47           ` [PATCH] PCI: Patch for Serverworks chips in hotplug environment Greg KH
2005-04-01 23:47             ` PCI: fix an oops in some pci devices on hotplug remove when their resources are being freed Greg KH
2005-04-01 23:47               ` [PATCH] PCI: trivial DBG tidy-up Greg KH
2005-04-01 23:47                 ` [PATCH] PCI Hotplug: remove code duplication in drivers/pci/hotplug/ibmphp_pci.c Greg KH
2005-04-01 23:47                   ` [PATCH] PCI Hotplug: only call ibmphp_remove_resource() if argument is not NULL Greg KH
2005-04-01 23:47                     ` [PATCH] PCI: 80 column lines Greg KH
2005-04-01 23:47                       ` [PATCH] [PATCH] remove redundant devices list Greg KH
2005-04-01 23:47                         ` [PATCH] PCI busses are structs, not integers Greg KH
2005-04-01 23:47                           ` [PATCH] pci_ids.h correction for Intel ICH7M Greg KH
2005-04-01 23:47                             ` [PATCH] sort-out-pci_rom_address_enable-vs-ioresource_rom_enable.patch Greg KH
2005-04-01 23:47                               ` [PATCH] arch/i386/pci/i386.c: Use new for_each_pci_dev macro Greg KH
2005-04-01 23:47                                 ` PCI Hotplug: enforce the rule that a hotplug slot needs a release function Greg KH
2005-04-01 23:47                                   ` [PATCH] PCI Hotplug: add documentation about release pointer Greg KH
2005-04-01 23:47                                     ` [PATCH] PCI: Quirk for Asus M5N Greg KH
2005-04-01 23:47                                       ` [PATCH] drivers/pci/hotplug/cpqphp_core.c: fix a check after use Greg KH
2005-04-01 23:47                                         ` [PATCH] PCI: shrink drivers/pci/proc.c::pci_seq_start() Greg KH
2005-04-01 23:47                                           ` Greg KH [this message]
2005-04-01 23:47                                             ` [PATCH] PCI: remove pci_find_device usage from pci sysfs code Greg KH
2005-04-01 23:47                                               ` [PATCH] drivers/pci/msi.c: fix a check after use Greg KH
2005-04-01 23:47                                                 ` PCI: clean up the dynamic id logic a little bit Greg KH
2005-04-01 23:47                                                   ` [PATCH] PCI: create PCI_DEBUG config option to make it easier for users to enable pci debugging Greg KH
2005-04-02 12:20                   ` [PATCH] PCI Hotplug: remove code duplication in drivers/pci/hotplug/ibmphp_pci.c Rolf Eike Beer
2005-04-02 19:26                     ` Andrew Morton
2005-04-08  0:07                     ` Greg KH
2005-04-08  7:02                       ` Rolf Eike Beer
2005-04-02  1:10               ` PCI: fix an oops in some pci devices on hotplug remove when their resources are being freed Matthew Wilcox
2005-04-02  3:31                 ` Greg KH
2005-04-02  3:53                   ` Matthew Wilcox
2005-04-02  4:04                     ` Greg KH
2005-04-04 20:11   ` PCI: increase the size of the pci.ids strings Giuseppe Bilotta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112399274112@kroah.com \
    --to=gregkh@suse.de \
    --cc=akpm@osdl.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox