@@ -195,6 +195,7 @@ struct mc_pcie {
195195 struct irq_domain * event_domain ;
196196 raw_spinlock_t lock ;
197197 struct mc_msi msi ;
198+ void __iomem * bridge_addr ;
198199};
199200
200201struct cause {
@@ -339,8 +340,7 @@ static void mc_handle_msi(struct irq_desc *desc)
339340 struct irq_chip * chip = irq_desc_get_chip (desc );
340341 struct device * dev = port -> dev ;
341342 struct mc_msi * msi = & port -> msi ;
342- void __iomem * bridge_base_addr =
343- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
343+ void __iomem * bridge_base_addr = port -> bridge_addr ;
344344 unsigned long status ;
345345 u32 bit ;
346346 int ret ;
@@ -365,8 +365,7 @@ static void mc_handle_msi(struct irq_desc *desc)
365365static void mc_msi_bottom_irq_ack (struct irq_data * data )
366366{
367367 struct mc_pcie * port = irq_data_get_irq_chip_data (data );
368- void __iomem * bridge_base_addr =
369- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
368+ void __iomem * bridge_base_addr = port -> bridge_addr ;
370369 u32 bitpos = data -> hwirq ;
371370
372371 writel_relaxed (BIT (bitpos ), bridge_base_addr + ISTATUS_MSI );
@@ -488,8 +487,7 @@ static void mc_handle_intx(struct irq_desc *desc)
488487 struct mc_pcie * port = irq_desc_get_handler_data (desc );
489488 struct irq_chip * chip = irq_desc_get_chip (desc );
490489 struct device * dev = port -> dev ;
491- void __iomem * bridge_base_addr =
492- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
490+ void __iomem * bridge_base_addr = port -> bridge_addr ;
493491 unsigned long status ;
494492 u32 bit ;
495493 int ret ;
@@ -514,8 +512,7 @@ static void mc_handle_intx(struct irq_desc *desc)
514512static void mc_ack_intx_irq (struct irq_data * data )
515513{
516514 struct mc_pcie * port = irq_data_get_irq_chip_data (data );
517- void __iomem * bridge_base_addr =
518- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
515+ void __iomem * bridge_base_addr = port -> bridge_addr ;
519516 u32 mask = BIT (data -> hwirq + PM_MSI_INT_INTX_SHIFT );
520517
521518 writel_relaxed (mask , bridge_base_addr + ISTATUS_LOCAL );
@@ -524,8 +521,7 @@ static void mc_ack_intx_irq(struct irq_data *data)
524521static void mc_mask_intx_irq (struct irq_data * data )
525522{
526523 struct mc_pcie * port = irq_data_get_irq_chip_data (data );
527- void __iomem * bridge_base_addr =
528- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
524+ void __iomem * bridge_base_addr = port -> bridge_addr ;
529525 unsigned long flags ;
530526 u32 mask = BIT (data -> hwirq + PM_MSI_INT_INTX_SHIFT );
531527 u32 val ;
@@ -540,8 +536,7 @@ static void mc_mask_intx_irq(struct irq_data *data)
540536static void mc_unmask_intx_irq (struct irq_data * data )
541537{
542538 struct mc_pcie * port = irq_data_get_irq_chip_data (data );
543- void __iomem * bridge_base_addr =
544- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
539+ void __iomem * bridge_base_addr = port -> bridge_addr ;
545540 unsigned long flags ;
546541 u32 mask = BIT (data -> hwirq + PM_MSI_INT_INTX_SHIFT );
547542 u32 val ;
@@ -896,8 +891,7 @@ static void mc_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
896891static int mc_pcie_setup_windows (struct platform_device * pdev ,
897892 struct mc_pcie * port )
898893{
899- void __iomem * bridge_base_addr =
900- port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
894+ void __iomem * bridge_base_addr = port -> bridge_addr ;
901895 struct pci_host_bridge * bridge = platform_get_drvdata (pdev );
902896 struct resource_entry * entry ;
903897 u64 pci_addr ;
@@ -1081,6 +1075,7 @@ static int mc_host_probe(struct platform_device *pdev)
10811075 mc_disable_interrupts (port );
10821076
10831077 bridge_base_addr = port -> axi_base_addr + MC_PCIE_BRIDGE_ADDR ;
1078+ port -> bridge_addr = bridge_base_addr ;
10841079
10851080 /* Allow enabling MSI by disabling MSI-X */
10861081 val = readl (bridge_base_addr + PCIE_PCI_IRQ_DW0 );
0 commit comments