aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2012-10-04 15:45:54 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2012-10-04 15:45:54 +0000
commit07234dc8bd2a9bd7948220b146f13cf95580b1a2 (patch)
tree1c5b55568610eb994dfd7a78261b239b058e98a6 /target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch
parent281989083994b97864e0f1fc221eae6c1ea1df2a (diff)
downloadupstream-07234dc8bd2a9bd7948220b146f13cf95580b1a2.tar.gz
upstream-07234dc8bd2a9bd7948220b146f13cf95580b1a2.tar.bz2
upstream-07234dc8bd2a9bd7948220b146f13cf95580b1a2.zip
bcma: do not initialize deactivated PCIe cores
Before it was tried to initialize the deactivated PCIe core in client mode, but this causes the SoC to hang. Just do not initialize it at all and ignore the core it is not working and nothing is connected to it when the specific bit is set in the boardflags. SVN-Revision: 33620
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch b/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch
index 874c249b0f..91b8a4191c 100644
--- a/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch
+++ b/target/linux/brcm47xx/patches-3.3/240-bcma-pcie-config-access.patch
@@ -1,6 +1,6 @@
--- a/drivers/bcma/driver_pci_host.c
+++ b/drivers/bcma/driver_pci_host.c
-@@ -99,19 +99,19 @@ static int bcma_extpci_read_config(struc
+@@ -94,19 +94,19 @@ static int bcma_extpci_read_config(struc
if (dev == 0) {
/* we support only two functions on device 0 */
if (func > 1)
@@ -23,7 +23,7 @@
val = pcicore_read32(pc, addr);
}
} else {
-@@ -127,8 +127,6 @@ static int bcma_extpci_read_config(struc
+@@ -122,8 +122,6 @@ static int bcma_extpci_read_config(struc
val = 0xffffffff;
goto unmap;
}
@@ -32,7 +32,7 @@
}
val >>= (8 * (off & 3));
-@@ -156,7 +154,7 @@ static int bcma_extpci_write_config(stru
+@@ -151,7 +149,7 @@ static int bcma_extpci_write_config(stru
const void *buf, int len)
{
int err = -EINVAL;
@@ -41,7 +41,7 @@
void __iomem *mmio = 0;
u16 chipid = pc->core->bus->chipinfo.id;
-@@ -164,16 +162,22 @@ static int bcma_extpci_write_config(stru
+@@ -159,16 +157,22 @@ static int bcma_extpci_write_config(stru
if (unlikely(len != 1 && len != 2 && len != 4))
goto out;
if (dev == 0) {
@@ -70,7 +70,7 @@
}
} else {
addr = bcma_get_cfgspace_addr(pc, dev, func, off);
-@@ -192,12 +196,10 @@ static int bcma_extpci_write_config(stru
+@@ -187,12 +191,10 @@ static int bcma_extpci_write_config(stru
switch (len) {
case 1:
@@ -83,7 +83,7 @@
val &= ~(0xFFFF << (8 * (off & 3)));
val |= *((const u16 *)buf) << (8 * (off & 3));
break;
-@@ -205,13 +207,14 @@ static int bcma_extpci_write_config(stru
+@@ -200,13 +202,14 @@ static int bcma_extpci_write_config(stru
val = *((const u32 *)buf);
break;
}