powerpc/powernv: Pick M64 PEs based on BARs
On PHB3, PE might be reserved in advance to reflect the M64 segments consumed by the PE according to M64 BARs (exclude VF BARs) of the PCI devices included in the PE. The PE is picked based on M64 BARs instead of the bridge's M64 windows, which might include VF BARs. Otherwise, wrong PE could be picked. The patch calculates the used M64 segments and PE numbers according to the M64 BARs, excluding VF BARs, of PCI devices in one particular PE, instead of the bridge's M64 windows. Then the right PE number is picked. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Dieser Commit ist enthalten in:

committet von
Michael Ellerman

Ursprung
d1203852df
Commit
26ba248d52
@@ -112,7 +112,7 @@ struct pnv_phb {
|
||||
int (*init_m64)(struct pnv_phb *phb);
|
||||
void (*reserve_m64_pe)(struct pci_bus *bus,
|
||||
unsigned long *pe_bitmap, bool all);
|
||||
int (*pick_m64_pe)(struct pnv_phb *phb, struct pci_bus *bus, bool all);
|
||||
int (*pick_m64_pe)(struct pci_bus *bus, bool all);
|
||||
int (*get_pe_state)(struct pnv_phb *phb, int pe_no);
|
||||
void (*freeze_pe)(struct pnv_phb *phb, int pe_no);
|
||||
int (*unfreeze_pe)(struct pnv_phb *phb, int pe_no, int opt);
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren