powerpc/powernv: Set correct configuration space size for opencapi devices
The configuration space for opencapi devices doesn't have a PCI Express capability, therefore confusing linux in thinking it's of an old PCI type with a 256-byte configuration space size, instead of the desired 4k. So add a PCI fixup to declare the correct size. Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
7f2c39e91f
commit
228c2f4103
@ -4091,6 +4091,19 @@ void __init pnv_pci_init_npu2_opencapi_phb(struct device_node *np)
|
|||||||
pnv_pci_init_ioda_phb(np, 0, PNV_PHB_NPU_OCAPI);
|
pnv_pci_init_ioda_phb(np, 0, PNV_PHB_NPU_OCAPI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void pnv_npu2_opencapi_cfg_size_fixup(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
struct pci_controller *hose = pci_bus_to_host(dev->bus);
|
||||||
|
struct pnv_phb *phb = hose->private_data;
|
||||||
|
|
||||||
|
if (!machine_is(powernv))
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (phb->type == PNV_PHB_NPU_OCAPI)
|
||||||
|
dev->cfg_size = PCI_CFG_SPACE_EXP_SIZE;
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, pnv_npu2_opencapi_cfg_size_fixup);
|
||||||
|
|
||||||
void __init pnv_pci_init_ioda_hub(struct device_node *np)
|
void __init pnv_pci_init_ioda_hub(struct device_node *np)
|
||||||
{
|
{
|
||||||
struct device_node *phbn;
|
struct device_node *phbn;
|
||||||
|
Loading…
Reference in New Issue
Block a user