|
|
@@ -892,7 +892,7 @@ static int rcar_pcie_enable_msi(struct rcar_pcie *pcie)
|
|
|
{
|
|
|
struct device *dev = pcie->dev;
|
|
|
struct rcar_msi *msi = &pcie->msi;
|
|
|
- unsigned long base;
|
|
|
+ phys_addr_t base;
|
|
|
int err, i;
|
|
|
|
|
|
mutex_init(&msi->lock);
|
|
|
@@ -937,8 +937,8 @@ static int rcar_pcie_enable_msi(struct rcar_pcie *pcie)
|
|
|
}
|
|
|
base = virt_to_phys((void *)msi->pages);
|
|
|
|
|
|
- rcar_pci_write_reg(pcie, base | MSIFE, PCIEMSIALR);
|
|
|
- rcar_pci_write_reg(pcie, 0, PCIEMSIAUR);
|
|
|
+ rcar_pci_write_reg(pcie, lower_32_bits(base) | MSIFE, PCIEMSIALR);
|
|
|
+ rcar_pci_write_reg(pcie, upper_32_bits(base), PCIEMSIAUR);
|
|
|
|
|
|
/* enable all MSI interrupts */
|
|
|
rcar_pci_write_reg(pcie, 0xffffffff, PCIEMSIIER);
|