]> 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)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 11 Nov 2017 13:34:29 +0000 (13:34 +0000)
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: Ben Hutchings <ben@decadent.org.uk>
drivers/parisc/dino.c

index bcd5d54b7d4d2b3cfc938acf6141cc65bb4ec8ec..d12d2728d5dde7691c55c840e449f051a6510d14 100644 (file)
@@ -988,7 +988,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);