aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2012-04-08 15:48:52 -0400
committerJiri Kosina <jkosina@suse.cz>2012-04-08 15:48:52 -0400
commite75d660672ddd11704b7f0fdb8ff21968587b266 (patch)
treeccb9c107744c10b553c0373e450bee3971d16c00 /drivers/parisc
parent61282f37927143e45b03153f3e7b48d6b702147a (diff)
parent0034102808e0dbbf3a2394b82b1bb40b5778de9e (diff)
Merge branch 'master' into for-next
Merge with latest Linus' tree, as I have incoming patches that fix code that is newer than current HEAD of for-next. Conflicts: drivers/net/ethernet/realtek/r8169.c
Diffstat (limited to 'drivers/parisc')
-rw-r--r--drivers/parisc/dino.c28
-rw-r--r--drivers/parisc/iommu-helpers.h2
-rw-r--r--drivers/parisc/iosapic.c1
-rw-r--r--drivers/parisc/lba_pci.c32
4 files changed, 14 insertions, 49 deletions
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index 7ff10c1e8664..432d4bbcc62a 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -55,7 +55,6 @@
55 55
56#include <asm/pdc.h> 56#include <asm/pdc.h>
57#include <asm/page.h> 57#include <asm/page.h>
58#include <asm/system.h>
59#include <asm/io.h> 58#include <asm/io.h>
60#include <asm/hardware.h> 59#include <asm/hardware.h>
61 60
@@ -553,7 +552,6 @@ dino_fixup_bus(struct pci_bus *bus)
553 struct list_head *ln; 552 struct list_head *ln;
554 struct pci_dev *dev; 553 struct pci_dev *dev;
555 struct dino_device *dino_dev = DINO_DEV(parisc_walk_tree(bus->bridge)); 554 struct dino_device *dino_dev = DINO_DEV(parisc_walk_tree(bus->bridge));
556 int port_base = HBA_PORT_BASE(dino_dev->hba.hba_num);
557 555
558 DBG(KERN_WARNING "%s(0x%p) bus %d platform_data 0x%p\n", 556 DBG(KERN_WARNING "%s(0x%p) bus %d platform_data 0x%p\n",
559 __func__, bus, bus->secondary, 557 __func__, bus, bus->secondary,
@@ -599,8 +597,6 @@ dino_fixup_bus(struct pci_bus *bus)
599 597
600 598
601 list_for_each(ln, &bus->devices) { 599 list_for_each(ln, &bus->devices) {
602 int i;
603
604 dev = pci_dev_b(ln); 600 dev = pci_dev_b(ln);
605 if (is_card_dino(&dino_dev->hba.dev->id)) 601 if (is_card_dino(&dino_dev->hba.dev->id))
606 dino_card_fixup(dev); 602 dino_card_fixup(dev);
@@ -612,21 +608,6 @@ dino_fixup_bus(struct pci_bus *bus)
612 if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) 608 if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI)
613 continue; 609 continue;
614 610
615 /* Adjust the I/O Port space addresses */
616 for (i = 0; i < PCI_NUM_RESOURCES; i++) {
617 struct resource *res = &dev->resource[i];
618 if (res->flags & IORESOURCE_IO) {
619 res->start |= port_base;
620 res->end |= port_base;
621 }
622#ifdef __LP64__
623 /* Sign Extend MMIO addresses */
624 else if (res->flags & IORESOURCE_MEM) {
625 res->start |= F_EXTEND(0UL);
626 res->end |= F_EXTEND(0UL);
627 }
628#endif
629 }
630 /* null out the ROM resource if there is one (we don't 611 /* null out the ROM resource if there is one (we don't
631 * care about an expansion rom on parisc, since it 612 * care about an expansion rom on parisc, since it
632 * usually contains (x86) bios code) */ 613 * usually contains (x86) bios code) */
@@ -991,11 +972,14 @@ static int __init dino_probe(struct parisc_device *dev)
991 972
992 dev->dev.platform_data = dino_dev; 973 dev->dev.platform_data = dino_dev;
993 974
994 pci_add_resource(&resources, &dino_dev->hba.io_space); 975 pci_add_resource_offset(&resources, &dino_dev->hba.io_space,
976 HBA_PORT_BASE(dino_dev->hba.hba_num));
995 if (dino_dev->hba.lmmio_space.flags) 977 if (dino_dev->hba.lmmio_space.flags)
996 pci_add_resource(&resources, &dino_dev->hba.lmmio_space); 978 pci_add_resource_offset(&resources, &dino_dev->hba.lmmio_space,
979 dino_dev->hba.lmmio_space_offset);
997 if (dino_dev->hba.elmmio_space.flags) 980 if (dino_dev->hba.elmmio_space.flags)
998 pci_add_resource(&resources, &dino_dev->hba.elmmio_space); 981 pci_add_resource_offset(&resources, &dino_dev->hba.elmmio_space,
982 dino_dev->hba.lmmio_space_offset);
999 if (dino_dev->hba.gmmio_space.flags) 983 if (dino_dev->hba.gmmio_space.flags)
1000 pci_add_resource(&resources, &dino_dev->hba.gmmio_space); 984 pci_add_resource(&resources, &dino_dev->hba.gmmio_space);
1001 985
diff --git a/drivers/parisc/iommu-helpers.h b/drivers/parisc/iommu-helpers.h
index a9c46cc2db37..8c33491b21fe 100644
--- a/drivers/parisc/iommu-helpers.h
+++ b/drivers/parisc/iommu-helpers.h
@@ -1,3 +1,5 @@
1#include <linux/prefetch.h>
2
1/** 3/**
2 * iommu_fill_pdir - Insert coalesced scatter/gather chunks into the I/O Pdir. 4 * iommu_fill_pdir - Insert coalesced scatter/gather chunks into the I/O Pdir.
3 * @ioc: The I/O Controller. 5 * @ioc: The I/O Controller.
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 95930d016235..1f9e9fefb8e7 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -140,7 +140,6 @@
140#include <asm/pdc.h> 140#include <asm/pdc.h>
141#include <asm/pdcpat.h> 141#include <asm/pdcpat.h>
142#include <asm/page.h> 142#include <asm/page.h>
143#include <asm/system.h>
144#include <asm/io.h> /* read/write functions */ 143#include <asm/io.h> /* read/write functions */
145#ifdef CONFIG_SUPERIO 144#ifdef CONFIG_SUPERIO
146#include <asm/superio.h> 145#include <asm/superio.h>
diff --git a/drivers/parisc/lba_pci.c b/drivers/parisc/lba_pci.c
index d5f3d753a108..052fa230bc77 100644
--- a/drivers/parisc/lba_pci.c
+++ b/drivers/parisc/lba_pci.c
@@ -43,7 +43,6 @@
43#include <asm/pdc.h> 43#include <asm/pdc.h>
44#include <asm/pdcpat.h> 44#include <asm/pdcpat.h>
45#include <asm/page.h> 45#include <asm/page.h>
46#include <asm/system.h>
47 46
48#include <asm/ropes.h> 47#include <asm/ropes.h>
49#include <asm/hardware.h> /* for register_parisc_driver() stuff */ 48#include <asm/hardware.h> /* for register_parisc_driver() stuff */
@@ -635,7 +634,6 @@ lba_fixup_bus(struct pci_bus *bus)
635 u16 status; 634 u16 status;
636#endif 635#endif
637 struct lba_device *ldev = LBA_DEV(parisc_walk_tree(bus->bridge)); 636 struct lba_device *ldev = LBA_DEV(parisc_walk_tree(bus->bridge));
638 int lba_portbase = HBA_PORT_BASE(ldev->hba.hba_num);
639 637
640 DBG("lba_fixup_bus(0x%p) bus %d platform_data 0x%p\n", 638 DBG("lba_fixup_bus(0x%p) bus %d platform_data 0x%p\n",
641 bus, bus->secondary, bus->bridge->platform_data); 639 bus, bus->secondary, bus->bridge->platform_data);
@@ -726,27 +724,6 @@ lba_fixup_bus(struct pci_bus *bus)
726 if (!res->start) 724 if (!res->start)
727 continue; 725 continue;
728 726
729 if (res->flags & IORESOURCE_IO) {
730 DBG("lba_fixup_bus() I/O Ports [%lx/%lx] -> ",
731 res->start, res->end);
732 res->start |= lba_portbase;
733 res->end |= lba_portbase;
734 DBG("[%lx/%lx]\n", res->start, res->end);
735 } else if (res->flags & IORESOURCE_MEM) {
736 /*
737 ** Convert PCI (IO_VIEW) addresses to
738 ** processor (PA_VIEW) addresses
739 */
740 DBG("lba_fixup_bus() MMIO [%lx/%lx] -> ",
741 res->start, res->end);
742 res->start = PCI_HOST_ADDR(HBA_DATA(ldev), res->start);
743 res->end = PCI_HOST_ADDR(HBA_DATA(ldev), res->end);
744 DBG("[%lx/%lx]\n", res->start, res->end);
745 } else {
746 DBG("lba_fixup_bus() WTF? 0x%lx [%lx/%lx] XXX",
747 res->flags, res->start, res->end);
748 }
749
750 /* 727 /*
751 ** FIXME: this will result in whinging for devices 728 ** FIXME: this will result in whinging for devices
752 ** that share expansion ROMs (think quad tulip), but 729 ** that share expansion ROMs (think quad tulip), but
@@ -1514,11 +1491,14 @@ lba_driver_probe(struct parisc_device *dev)
1514 lba_dev->hba.lmmio_space.flags = 0; 1491 lba_dev->hba.lmmio_space.flags = 0;
1515 } 1492 }
1516 1493
1517 pci_add_resource(&resources, &lba_dev->hba.io_space); 1494 pci_add_resource_offset(&resources, &lba_dev->hba.io_space,
1495 HBA_PORT_BASE(lba_dev->hba.hba_num));
1518 if (lba_dev->hba.elmmio_space.start) 1496 if (lba_dev->hba.elmmio_space.start)
1519 pci_add_resource(&resources, &lba_dev->hba.elmmio_space); 1497 pci_add_resource_offset(&resources, &lba_dev->hba.elmmio_space,
1498 lba_dev->hba.lmmio_space_offset);
1520 if (lba_dev->hba.lmmio_space.flags) 1499 if (lba_dev->hba.lmmio_space.flags)
1521 pci_add_resource(&resources, &lba_dev->hba.lmmio_space); 1500 pci_add_resource_offset(&resources, &lba_dev->hba.lmmio_space,
1501 lba_dev->hba.lmmio_space_offset);
1522 if (lba_dev->hba.gmmio_space.flags) 1502 if (lba_dev->hba.gmmio_space.flags)
1523 pci_add_resource(&resources, &lba_dev->hba.gmmio_space); 1503 pci_add_resource(&resources, &lba_dev->hba.gmmio_space);
1524 1504