]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>
Sat, 12 Aug 2017 21:36:47 +0000 (23:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Aug 2017 00:02:35 +0000 (17:02 -0700)
commit 4098116039911e8870d84c975e2ec22dab65a909 upstream.

For 64bit kernels the lmmio_space_offset of the host bridge window
isn't set correctly on systems with dino/cujo PCI host bridges.
This leads to not assigned memory bars and failing drivers, which
need to use these bars.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parisc/dino.c

index 7b0ca1551d7bcad108c57a42d80368bcbf239044..005ea632ba530423dc07156432ff5a7629ab1279 100644 (file)
@@ -954,7 +954,7 @@ static int __init dino_probe(struct parisc_device *dev)
 
        dino_dev->hba.dev = dev;
        dino_dev->hba.base_addr = ioremap_nocache(hpa, 4096);
-       dino_dev->hba.lmmio_space_offset = 0;   /* CPU addrs == bus addrs */
+       dino_dev->hba.lmmio_space_offset = PCI_F_EXTEND;
        spin_lock_init(&dino_dev->dinosaur_pen);
        dino_dev->hba.iommu = ccio_get_iommu(dev);