@@ -503,7 +503,8 @@ int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
503
503
u32 msg_addr_lower , msg_addr_upper , reg ;
504
504
struct dw_pcie_ep_func * ep_func ;
505
505
struct pci_epc * epc = ep -> epc ;
506
- unsigned int aligned_offset ;
506
+ size_t map_size = sizeof (u32 );
507
+ size_t offset ;
507
508
u16 msg_ctrl , msg_data ;
508
509
bool has_upper ;
509
510
u64 msg_addr ;
@@ -531,14 +532,13 @@ int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, u8 func_no,
531
532
}
532
533
msg_addr = ((u64 )msg_addr_upper ) << 32 | msg_addr_lower ;
533
534
534
- aligned_offset = msg_addr & (epc -> mem -> window .page_size - 1 );
535
- msg_addr = ALIGN_DOWN (msg_addr , epc -> mem -> window .page_size );
535
+ msg_addr = dw_pcie_ep_align_addr (epc , msg_addr , & map_size , & offset );
536
536
ret = dw_pcie_ep_map_addr (epc , func_no , 0 , ep -> msi_mem_phys , msg_addr ,
537
- epc -> mem -> window . page_size );
537
+ map_size );
538
538
if (ret )
539
539
return ret ;
540
540
541
- writel (msg_data | (interrupt_num - 1 ), ep -> msi_mem + aligned_offset );
541
+ writel (msg_data | (interrupt_num - 1 ), ep -> msi_mem + offset );
542
542
543
543
dw_pcie_ep_unmap_addr (epc , func_no , 0 , ep -> msi_mem_phys );
544
544
@@ -589,8 +589,9 @@ int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
589
589
struct pci_epf_msix_tbl * msix_tbl ;
590
590
struct dw_pcie_ep_func * ep_func ;
591
591
struct pci_epc * epc = ep -> epc ;
592
+ size_t map_size = sizeof (u32 );
593
+ size_t offset ;
592
594
u32 reg , msg_data , vec_ctrl ;
593
- unsigned int aligned_offset ;
594
595
u32 tbl_offset ;
595
596
u64 msg_addr ;
596
597
int ret ;
@@ -615,14 +616,13 @@ int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
615
616
return - EPERM ;
616
617
}
617
618
618
- aligned_offset = msg_addr & (epc -> mem -> window .page_size - 1 );
619
- msg_addr = ALIGN_DOWN (msg_addr , epc -> mem -> window .page_size );
619
+ msg_addr = dw_pcie_ep_align_addr (epc , msg_addr , & map_size , & offset );
620
620
ret = dw_pcie_ep_map_addr (epc , func_no , 0 , ep -> msi_mem_phys , msg_addr ,
621
- epc -> mem -> window . page_size );
621
+ map_size );
622
622
if (ret )
623
623
return ret ;
624
624
625
- writel (msg_data , ep -> msi_mem + aligned_offset );
625
+ writel (msg_data , ep -> msi_mem + offset );
626
626
627
627
dw_pcie_ep_unmap_addr (epc , func_no , 0 , ep -> msi_mem_phys );
628
628
0 commit comments