Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 231075
b: refs/heads/master
c: 6e8af08
h: refs/heads/master
i:
  231073: 6894592
  231071: 7d0cc22
v: v3
  • Loading branch information
Narendra_K@Dell.com authored and Jesse Barnes committed Jan 14, 2011
1 parent 0c724d3 commit 2b65df6
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fe31e69740eddc7316071ed5165fed6703c8cd12
refs/heads/master: 6e8af08dfa40b747002207d3ce8e8b43a050d99f
41 changes: 41 additions & 0 deletions trunk/arch/x86/pci/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 |

unsigned int pci_early_dump_regs;
static int pci_bf_sort;
static int smbios_type_b1_flag;
int pci_routeirq;
int noioapicquirk;
#ifdef CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS
Expand Down Expand Up @@ -185,6 +186,39 @@ static int __devinit set_bf_sort(const struct dmi_system_id *d)
return 0;
}

static void __devinit read_dmi_type_b1(const struct dmi_header *dm,
void *private_data)
{
u8 *d = (u8 *)dm + 4;

if (dm->type != 0xB1)
return;
switch (((*(u32 *)d) >> 9) & 0x03) {
case 0x00:
printk(KERN_INFO "dmi type 0xB1 record - unknown flag\n");
break;
case 0x01: /* set pci=bfsort */
smbios_type_b1_flag = 1;
break;
case 0x02: /* do not set pci=bfsort */
smbios_type_b1_flag = 2;
break;
default:
break;
}
}

static int __devinit find_sort_method(const struct dmi_system_id *d)
{
dmi_walk(read_dmi_type_b1, NULL);

if (smbios_type_b1_flag == 1) {
set_bf_sort(d);
return 0;
}
return -1;
}

/*
* Enable renumbering of PCI bus# ranges to reach all PCI busses (Cardbus)
*/
Expand Down Expand Up @@ -212,6 +246,13 @@ static const struct dmi_system_id __devinitconst pciprobe_dmi_table[] = {
},
},
#endif /* __i386__ */
{
.callback = find_sort_method,
.ident = "Dell System",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
},
},
{
.callback = set_bf_sort,
.ident = "Dell PowerEdge 1950",
Expand Down

0 comments on commit 2b65df6

Please sign in to comment.