Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 91685
b: refs/heads/master
c: c9e9e0b
h: refs/heads/master
i:
  91683: 5b84481
v: v3
  • Loading branch information
Bjorn Helgaas authored and Greg Kroah-Hartman committed Apr 21, 2008
1 parent c5ff4d0 commit 5eae11f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e789920d0497bb3d7eb146382b9ca8137662fabb
refs/heads/master: c9e9e0bfc52ae93c246149c3b9d3a1e11677ca1a
30 changes: 13 additions & 17 deletions trunk/arch/parisc/kernel/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -287,23 +287,15 @@ void pcibios_align_resource(void *data, struct resource *res,
*/
int pcibios_enable_device(struct pci_dev *dev, int mask)
{
u16 cmd;
int idx;
int err;
u16 cmd, old_cmd;

pci_read_config_word(dev, PCI_COMMAND, &cmd);

for (idx = 0; idx < DEVICE_COUNT_RESOURCE; idx++) {
struct resource *r = &dev->resource[idx];
err = pci_enable_resources(dev, mask);
if (err < 0)
return err;

/* only setup requested resources */
if (!(mask & (1<<idx)))
continue;

if (r->flags & IORESOURCE_IO)
cmd |= PCI_COMMAND_IO;
if (r->flags & IORESOURCE_MEM)
cmd |= PCI_COMMAND_MEMORY;
}
pci_read_config_word(dev, PCI_COMMAND, &cmd);
old_cmd = cmd;

cmd |= (PCI_COMMAND_SERR | PCI_COMMAND_PARITY);

Expand All @@ -312,8 +304,12 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
if (dev->bus->bridge_ctl & PCI_BRIDGE_CTL_FAST_BACK)
cmd |= PCI_COMMAND_FAST_BACK;
#endif
DBGC("PCIBIOS: Enabling device %s cmd 0x%04x\n", pci_name(dev), cmd);
pci_write_config_word(dev, PCI_COMMAND, cmd);

if (cmd != old_cmd) {
dev_info(&dev->dev, "enabling SERR and PARITY (%04x -> %04x)\n",
old_cmd, cmd);
pci_write_config_word(dev, PCI_COMMAND, cmd);
}
return 0;
}

Expand Down

0 comments on commit 5eae11f

Please sign in to comment.