summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Shan2015-06-19 04:26:16 +0200
committerMichael Ellerman2015-07-13 08:12:00 +0200
commite9dc4d7f72a375020ecbc9ca35b098fd9018910b (patch)
tree541c18edf40b127fdda00faf52cb3b71e851e25a
parentpowerpc: Remove mtmsrd(), use existing mtmsr() (diff)
downloadkernel-qcow2-linux-e9dc4d7f72a375020ecbc9ca35b098fd9018910b.tar.gz
kernel-qcow2-linux-e9dc4d7f72a375020ecbc9ca35b098fd9018910b.tar.xz
kernel-qcow2-linux-e9dc4d7f72a375020ecbc9ca35b098fd9018910b.zip
powerpc/powernv: Allow to reserve one PE for multiple times
The PE numbers are reserved according to root port's M64 window, which is aligned to M64 segment finely. So one PE shouldn't be reserved for multiple times. We will reserve PE numbers according to the M64 BARs of PCI device in subsequent patches, which aren't aligned to M64 segment size finely. It means one particular PE could be reserved for multiple times. The patch allows one PE to be reserved for multiple times and we print the warning message at debugging level. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/platforms/powernv/pci-ioda.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 2c286b57e520..4775f9544f5c 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -140,11 +140,9 @@ static void pnv_ioda_reserve_pe(struct pnv_phb *phb, int pe_no)
return;
}
- if (test_and_set_bit(pe_no, phb->ioda.pe_alloc)) {
- pr_warn("%s: PE %d was assigned on PHB#%x\n",
- __func__, pe_no, phb->hose->global_number);
- return;
- }
+ if (test_and_set_bit(pe_no, phb->ioda.pe_alloc))
+ pr_debug("%s: PE %d was reserved on PHB#%x\n",
+ __func__, pe_no, phb->hose->global_number);
phb->ioda.pe_array[pe_no].phb = phb;
phb->ioda.pe_array[pe_no].pe_number = pe_no;