/[linux-patches]/genpatches-2.6/tags/2.6.12-12/1315_amd64-cardbus.patch
Gentoo

Diff of /genpatches-2.6/tags/2.6.12-12/1315_amd64-cardbus.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 133 Revision 136
1From: Greg Kroah-Hartman <gregkh@suse.de> 1--- linux-2.6.12-gentoo-r8/drivers/pci/probe.c 2005-06-17 20:48:29.000000000 +0100
2Date: Thu, 2 Jun 2005 22:41:48 +0000 (-0700) 2+++ linux-dsd/drivers/pci/probe.c 2005-08-09 21:44:41.000000000 +0100
3Subject: [PATCH] PCI: Fix up PCI routing in parent bridge
4X-Git-Tag: v2.6.13-rc2
5X-Git-Url: http://www.kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=26f674ae0e37190bf61c988e52911e4372fdb5f5
6
7 [PATCH] PCI: Fix up PCI routing in parent bridge
8
9 When the cardbus bridge is behind another bridge change the routing
10 in the parent bridge for new cards. This fixes Cardbus on various AMD64
11 laptops.
12
13 Signed-off-by: Andi Kleen <ak@suse.de>
14 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15---
16
17--- a/drivers/pci/probe.c
18+++ b/drivers/pci/probe.c
19@@ -398,6 +398,16 @@ static void pci_enable_crs(struct pci_de 3@@ -395,6 +395,16 @@ static void pci_enable_crs(struct pci_de
20 pci_write_config_word(dev, rpcap + PCI_EXP_RTCTL, rpctl); 4 pci_write_config_word(dev, rpcap + PCI_EXP_RTCTL, rpctl);
21 } 5 }
22 6
23+static void __devinit pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max) 7+static void __devinit pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
24+{ 8+{
31+} 15+}
32+ 16+
33 unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus); 17 unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus);
34 18
35 /* 19 /*
36@@ -499,7 +509,13 @@ int __devinit pci_scan_bridge(struct pci 20@@ -492,7 +502,13 @@ int __devinit pci_scan_bridge(struct pci
37 21
38 if (!is_cardbus) { 22 if (!is_cardbus) {
39 child->bridge_ctl = PCI_BRIDGE_CTL_NO_ISA; 23 child->bridge_ctl = PCI_BRIDGE_CTL_NO_ISA;
40- 24-
41+ /* 25+ /*
46+ */ 30+ */
47+ pci_fixup_parent_subordinate_busnr(child, max); 31+ pci_fixup_parent_subordinate_busnr(child, max);
48 /* Now we can scan all subordinate buses... */ 32 /* Now we can scan all subordinate buses... */
49 max = pci_scan_child_bus(child); 33 max = pci_scan_child_bus(child);
50 } else { 34 } else {
51@@ -513,6 +529,7 @@ int __devinit pci_scan_bridge(struct pci 35@@ -502,6 +518,7 @@ int __devinit pci_scan_bridge(struct pci
52 max+i+1)) 36 * inserted later.
53 break; 37 */
54 max += i; 38 max += CARDBUS_RESERVE_BUSNR;
55+ pci_fixup_parent_subordinate_busnr(child, max); 39+ pci_fixup_parent_subordinate_busnr(child, max);
56 } 40 }
57 /* 41 /*
58 * Set the subordinate bus number to its real value. 42 * Set the subordinate bus number to its real value.

Legend:
Removed from v.133  
changed lines
  Added in v.136

  ViewVC Help
Powered by ViewVC 1.1.20