Skip to content

Commit 4906c05

Browse files
Kefeng WangLorenzo Pieralisi
authored andcommitted
PCI: mobiveil: Fix csr_read()/write() build issue
RISCV has csr_read()/write() macros in arch/riscv/include/asm/csr.h. The same function naming is used in the PCI mobiveil driver thus causing build error. Rename csr_[read,write][l,] to mobiveil_csr_read()/write() to fix it. drivers/pci/controller/pcie-mobiveil.c:238:69: error: macro "csr_read" passed 3 arguments, but takes just 1 static u32 csr_read(struct mobiveil_pcie *pcie, u32 off, size_t size) drivers/pci/controller/pcie-mobiveil.c:253:80: error: macro "csr_write" passed 4 arguments, but takes just 2 static void csr_write(struct mobiveil_pcie *pcie, u32 val, u32 off, size_t size) Fixes: bcbe0d9 ("PCI: mobiveil: Unify register accessors") Signed-off-by: Kefeng Wang <[email protected]> Signed-off-by: Lorenzo Pieralisi <[email protected]> Reviewed-by: Andrew Murray <[email protected]> Cc: Hou Zhiqiang <[email protected]> Cc: Lorenzo Pieralisi <[email protected]> Cc: Minghuan Lian <[email protected]> Cc: Subrahmanya Lingappa <[email protected]> Cc: Andrew Murray <[email protected]>
1 parent 54ecb8f commit 4906c05

File tree

1 file changed

+62
-57
lines changed

1 file changed

+62
-57
lines changed

drivers/pci/controller/pcie-mobiveil.c

Lines changed: 62 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ static int mobiveil_pcie_write(void __iomem *addr, int size, u32 val)
235235
return PCIBIOS_SUCCESSFUL;
236236
}
237237

238-
static u32 csr_read(struct mobiveil_pcie *pcie, u32 off, size_t size)
238+
static u32 mobiveil_csr_read(struct mobiveil_pcie *pcie, u32 off, size_t size)
239239
{
240240
void *addr;
241241
u32 val;
@@ -250,7 +250,8 @@ static u32 csr_read(struct mobiveil_pcie *pcie, u32 off, size_t size)
250250
return val;
251251
}
252252

253-
static void csr_write(struct mobiveil_pcie *pcie, u32 val, u32 off, size_t size)
253+
static void mobiveil_csr_write(struct mobiveil_pcie *pcie, u32 val, u32 off,
254+
size_t size)
254255
{
255256
void *addr;
256257
int ret;
@@ -262,19 +263,19 @@ static void csr_write(struct mobiveil_pcie *pcie, u32 val, u32 off, size_t size)
262263
dev_err(&pcie->pdev->dev, "write CSR address failed\n");
263264
}
264265

265-
static u32 csr_readl(struct mobiveil_pcie *pcie, u32 off)
266+
static u32 mobiveil_csr_readl(struct mobiveil_pcie *pcie, u32 off)
266267
{
267-
return csr_read(pcie, off, 0x4);
268+
return mobiveil_csr_read(pcie, off, 0x4);
268269
}
269270

270-
static void csr_writel(struct mobiveil_pcie *pcie, u32 val, u32 off)
271+
static void mobiveil_csr_writel(struct mobiveil_pcie *pcie, u32 val, u32 off)
271272
{
272-
csr_write(pcie, val, off, 0x4);
273+
mobiveil_csr_write(pcie, val, off, 0x4);
273274
}
274275

275276
static bool mobiveil_pcie_link_up(struct mobiveil_pcie *pcie)
276277
{
277-
return (csr_readl(pcie, LTSSM_STATUS) &
278+
return (mobiveil_csr_readl(pcie, LTSSM_STATUS) &
278279
LTSSM_STATUS_L0_MASK) == LTSSM_STATUS_L0;
279280
}
280281

@@ -323,7 +324,7 @@ static void __iomem *mobiveil_pcie_map_bus(struct pci_bus *bus,
323324
PCI_SLOT(devfn) << PAB_DEVICE_SHIFT |
324325
PCI_FUNC(devfn) << PAB_FUNCTION_SHIFT;
325326

326-
csr_writel(pcie, value, PAB_AXI_AMAP_PEX_WIN_L(WIN_NUM_0));
327+
mobiveil_csr_writel(pcie, value, PAB_AXI_AMAP_PEX_WIN_L(WIN_NUM_0));
327328

328329
return pcie->config_axi_slave_base + where;
329330
}
@@ -353,13 +354,14 @@ static void mobiveil_pcie_isr(struct irq_desc *desc)
353354
chained_irq_enter(chip, desc);
354355

355356
/* read INTx status */
356-
val = csr_readl(pcie, PAB_INTP_AMBA_MISC_STAT);
357-
mask = csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
357+
val = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_STAT);
358+
mask = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
358359
intr_status = val & mask;
359360

360361
/* Handle INTx */
361362
if (intr_status & PAB_INTP_INTX_MASK) {
362-
shifted_status = csr_readl(pcie, PAB_INTP_AMBA_MISC_STAT);
363+
shifted_status = mobiveil_csr_readl(pcie,
364+
PAB_INTP_AMBA_MISC_STAT);
363365
shifted_status &= PAB_INTP_INTX_MASK;
364366
shifted_status >>= PAB_INTX_START;
365367
do {
@@ -373,12 +375,13 @@ static void mobiveil_pcie_isr(struct irq_desc *desc)
373375
bit);
374376

375377
/* clear interrupt handled */
376-
csr_writel(pcie, 1 << (PAB_INTX_START + bit),
377-
PAB_INTP_AMBA_MISC_STAT);
378+
mobiveil_csr_writel(pcie,
379+
1 << (PAB_INTX_START + bit),
380+
PAB_INTP_AMBA_MISC_STAT);
378381
}
379382

380-
shifted_status = csr_readl(pcie,
381-
PAB_INTP_AMBA_MISC_STAT);
383+
shifted_status = mobiveil_csr_readl(pcie,
384+
PAB_INTP_AMBA_MISC_STAT);
382385
shifted_status &= PAB_INTP_INTX_MASK;
383386
shifted_status >>= PAB_INTX_START;
384387
} while (shifted_status != 0);
@@ -413,7 +416,7 @@ static void mobiveil_pcie_isr(struct irq_desc *desc)
413416
}
414417

415418
/* Clear the interrupt status */
416-
csr_writel(pcie, intr_status, PAB_INTP_AMBA_MISC_STAT);
419+
mobiveil_csr_writel(pcie, intr_status, PAB_INTP_AMBA_MISC_STAT);
417420
chained_irq_exit(chip, desc);
418421
}
419422

@@ -474,24 +477,24 @@ static void program_ib_windows(struct mobiveil_pcie *pcie, int win_num,
474477
return;
475478
}
476479

477-
value = csr_readl(pcie, PAB_PEX_AMAP_CTRL(win_num));
480+
value = mobiveil_csr_readl(pcie, PAB_PEX_AMAP_CTRL(win_num));
478481
value &= ~(AMAP_CTRL_TYPE_MASK << AMAP_CTRL_TYPE_SHIFT | WIN_SIZE_MASK);
479482
value |= type << AMAP_CTRL_TYPE_SHIFT | 1 << AMAP_CTRL_EN_SHIFT |
480483
(lower_32_bits(size64) & WIN_SIZE_MASK);
481-
csr_writel(pcie, value, PAB_PEX_AMAP_CTRL(win_num));
484+
mobiveil_csr_writel(pcie, value, PAB_PEX_AMAP_CTRL(win_num));
482485

483-
csr_writel(pcie, upper_32_bits(size64),
484-
PAB_EXT_PEX_AMAP_SIZEN(win_num));
486+
mobiveil_csr_writel(pcie, upper_32_bits(size64),
487+
PAB_EXT_PEX_AMAP_SIZEN(win_num));
485488

486-
csr_writel(pcie, lower_32_bits(cpu_addr),
487-
PAB_PEX_AMAP_AXI_WIN(win_num));
488-
csr_writel(pcie, upper_32_bits(cpu_addr),
489-
PAB_EXT_PEX_AMAP_AXI_WIN(win_num));
489+
mobiveil_csr_writel(pcie, lower_32_bits(cpu_addr),
490+
PAB_PEX_AMAP_AXI_WIN(win_num));
491+
mobiveil_csr_writel(pcie, upper_32_bits(cpu_addr),
492+
PAB_EXT_PEX_AMAP_AXI_WIN(win_num));
490493

491-
csr_writel(pcie, lower_32_bits(pci_addr),
492-
PAB_PEX_AMAP_PEX_WIN_L(win_num));
493-
csr_writel(pcie, upper_32_bits(pci_addr),
494-
PAB_PEX_AMAP_PEX_WIN_H(win_num));
494+
mobiveil_csr_writel(pcie, lower_32_bits(pci_addr),
495+
PAB_PEX_AMAP_PEX_WIN_L(win_num));
496+
mobiveil_csr_writel(pcie, upper_32_bits(pci_addr),
497+
PAB_PEX_AMAP_PEX_WIN_H(win_num));
495498

496499
pcie->ib_wins_configured++;
497500
}
@@ -515,27 +518,29 @@ static void program_ob_windows(struct mobiveil_pcie *pcie, int win_num,
515518
* program Enable Bit to 1, Type Bit to (00) base 2, AXI Window Size Bit
516519
* to 4 KB in PAB_AXI_AMAP_CTRL register
517520
*/
518-
value = csr_readl(pcie, PAB_AXI_AMAP_CTRL(win_num));
521+
value = mobiveil_csr_readl(pcie, PAB_AXI_AMAP_CTRL(win_num));
519522
value &= ~(WIN_TYPE_MASK << WIN_TYPE_SHIFT | WIN_SIZE_MASK);
520523
value |= 1 << WIN_ENABLE_SHIFT | type << WIN_TYPE_SHIFT |
521524
(lower_32_bits(size64) & WIN_SIZE_MASK);
522-
csr_writel(pcie, value, PAB_AXI_AMAP_CTRL(win_num));
525+
mobiveil_csr_writel(pcie, value, PAB_AXI_AMAP_CTRL(win_num));
523526

524-
csr_writel(pcie, upper_32_bits(size64), PAB_EXT_AXI_AMAP_SIZE(win_num));
527+
mobiveil_csr_writel(pcie, upper_32_bits(size64),
528+
PAB_EXT_AXI_AMAP_SIZE(win_num));
525529

526530
/*
527531
* program AXI window base with appropriate value in
528532
* PAB_AXI_AMAP_AXI_WIN0 register
529533
*/
530-
csr_writel(pcie, lower_32_bits(cpu_addr) & (~AXI_WINDOW_ALIGN_MASK),
531-
PAB_AXI_AMAP_AXI_WIN(win_num));
532-
csr_writel(pcie, upper_32_bits(cpu_addr),
533-
PAB_EXT_AXI_AMAP_AXI_WIN(win_num));
534+
mobiveil_csr_writel(pcie,
535+
lower_32_bits(cpu_addr) & (~AXI_WINDOW_ALIGN_MASK),
536+
PAB_AXI_AMAP_AXI_WIN(win_num));
537+
mobiveil_csr_writel(pcie, upper_32_bits(cpu_addr),
538+
PAB_EXT_AXI_AMAP_AXI_WIN(win_num));
534539

535-
csr_writel(pcie, lower_32_bits(pci_addr),
536-
PAB_AXI_AMAP_PEX_WIN_L(win_num));
537-
csr_writel(pcie, upper_32_bits(pci_addr),
538-
PAB_AXI_AMAP_PEX_WIN_H(win_num));
540+
mobiveil_csr_writel(pcie, lower_32_bits(pci_addr),
541+
PAB_AXI_AMAP_PEX_WIN_L(win_num));
542+
mobiveil_csr_writel(pcie, upper_32_bits(pci_addr),
543+
PAB_AXI_AMAP_PEX_WIN_H(win_num));
539544

540545
pcie->ob_wins_configured++;
541546
}
@@ -579,42 +584,42 @@ static int mobiveil_host_init(struct mobiveil_pcie *pcie)
579584
struct resource_entry *win;
580585

581586
/* setup bus numbers */
582-
value = csr_readl(pcie, PCI_PRIMARY_BUS);
587+
value = mobiveil_csr_readl(pcie, PCI_PRIMARY_BUS);
583588
value &= 0xff000000;
584589
value |= 0x00ff0100;
585-
csr_writel(pcie, value, PCI_PRIMARY_BUS);
590+
mobiveil_csr_writel(pcie, value, PCI_PRIMARY_BUS);
586591

587592
/*
588593
* program Bus Master Enable Bit in Command Register in PAB Config
589594
* Space
590595
*/
591-
value = csr_readl(pcie, PCI_COMMAND);
596+
value = mobiveil_csr_readl(pcie, PCI_COMMAND);
592597
value |= PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER;
593-
csr_writel(pcie, value, PCI_COMMAND);
598+
mobiveil_csr_writel(pcie, value, PCI_COMMAND);
594599

595600
/*
596601
* program PIO Enable Bit to 1 (and PEX PIO Enable to 1) in PAB_CTRL
597602
* register
598603
*/
599-
pab_ctrl = csr_readl(pcie, PAB_CTRL);
604+
pab_ctrl = mobiveil_csr_readl(pcie, PAB_CTRL);
600605
pab_ctrl |= (1 << AMBA_PIO_ENABLE_SHIFT) | (1 << PEX_PIO_ENABLE_SHIFT);
601-
csr_writel(pcie, pab_ctrl, PAB_CTRL);
606+
mobiveil_csr_writel(pcie, pab_ctrl, PAB_CTRL);
602607

603-
csr_writel(pcie, (PAB_INTP_INTX_MASK | PAB_INTP_MSI_MASK),
604-
PAB_INTP_AMBA_MISC_ENB);
608+
mobiveil_csr_writel(pcie, (PAB_INTP_INTX_MASK | PAB_INTP_MSI_MASK),
609+
PAB_INTP_AMBA_MISC_ENB);
605610

606611
/*
607612
* program PIO Enable Bit to 1 and Config Window Enable Bit to 1 in
608613
* PAB_AXI_PIO_CTRL Register
609614
*/
610-
value = csr_readl(pcie, PAB_AXI_PIO_CTRL);
615+
value = mobiveil_csr_readl(pcie, PAB_AXI_PIO_CTRL);
611616
value |= APIO_EN_MASK;
612-
csr_writel(pcie, value, PAB_AXI_PIO_CTRL);
617+
mobiveil_csr_writel(pcie, value, PAB_AXI_PIO_CTRL);
613618

614619
/* Enable PCIe PIO master */
615-
value = csr_readl(pcie, PAB_PEX_PIO_CTRL);
620+
value = mobiveil_csr_readl(pcie, PAB_PEX_PIO_CTRL);
616621
value |= 1 << PIO_ENABLE_SHIFT;
617-
csr_writel(pcie, value, PAB_PEX_PIO_CTRL);
622+
mobiveil_csr_writel(pcie, value, PAB_PEX_PIO_CTRL);
618623

619624
/*
620625
* we'll program one outbound window for config reads and
@@ -647,10 +652,10 @@ static int mobiveil_host_init(struct mobiveil_pcie *pcie)
647652
}
648653

649654
/* fixup for PCIe class register */
650-
value = csr_readl(pcie, PAB_INTP_AXI_PIO_CLASS);
655+
value = mobiveil_csr_readl(pcie, PAB_INTP_AXI_PIO_CLASS);
651656
value &= 0xff;
652657
value |= (PCI_CLASS_BRIDGE_PCI << 16);
653-
csr_writel(pcie, value, PAB_INTP_AXI_PIO_CLASS);
658+
mobiveil_csr_writel(pcie, value, PAB_INTP_AXI_PIO_CLASS);
654659

655660
/* setup MSI hardware registers */
656661
mobiveil_pcie_enable_msi(pcie);
@@ -668,9 +673,9 @@ static void mobiveil_mask_intx_irq(struct irq_data *data)
668673
pcie = irq_desc_get_chip_data(desc);
669674
mask = 1 << ((data->hwirq + PAB_INTX_START) - 1);
670675
raw_spin_lock_irqsave(&pcie->intx_mask_lock, flags);
671-
shifted_val = csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
676+
shifted_val = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
672677
shifted_val &= ~mask;
673-
csr_writel(pcie, shifted_val, PAB_INTP_AMBA_MISC_ENB);
678+
mobiveil_csr_writel(pcie, shifted_val, PAB_INTP_AMBA_MISC_ENB);
674679
raw_spin_unlock_irqrestore(&pcie->intx_mask_lock, flags);
675680
}
676681

@@ -684,9 +689,9 @@ static void mobiveil_unmask_intx_irq(struct irq_data *data)
684689
pcie = irq_desc_get_chip_data(desc);
685690
mask = 1 << ((data->hwirq + PAB_INTX_START) - 1);
686691
raw_spin_lock_irqsave(&pcie->intx_mask_lock, flags);
687-
shifted_val = csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
692+
shifted_val = mobiveil_csr_readl(pcie, PAB_INTP_AMBA_MISC_ENB);
688693
shifted_val |= mask;
689-
csr_writel(pcie, shifted_val, PAB_INTP_AMBA_MISC_ENB);
694+
mobiveil_csr_writel(pcie, shifted_val, PAB_INTP_AMBA_MISC_ENB);
690695
raw_spin_unlock_irqrestore(&pcie->intx_mask_lock, flags);
691696
}
692697

0 commit comments

Comments
 (0)