64bit JAZZ builds failed with

linux-next/arch/mips/jazz/jazzdma.c: In function ‘vdma_init’:
/linux-next/arch/mips/jazz/jazzdma.c:77:30: error: implicit declaration of 
function ‘KSEG1ADDR’; did you mean ‘CKSEG1ADDR’? 
[-Werror=implicit-function-declaration]
  pgtbl = (VDMA_PGTBL_ENTRY *)KSEG1ADDR(pgtbl);
                              ^~~~~~~~~
                              CKSEG1ADDR
/linux-next/arch/mips/jazz/jazzdma.c:77:10: error: cast to pointer from integer 
of different size [-Werror=int-to-pointer-cast]
  pgtbl = (VDMA_PGTBL_ENTRY *)KSEG1ADDR(pgtbl);
          ^
In file included from /linux-next/arch/mips/include/asm/barrier.h:11:0,
                 from /linux-next/include/linux/compiler.h:248,
                 from /linux-next/include/linux/kernel.h:10,
                 from /linux-next/arch/mips/jazz/jazzdma.c:11:
/linux-next/arch/mips/include/asm/addrspace.h:41:29: error: cast from pointer 
to integer of different size [-Werror=pointer-to-int-cast]
 #define _ACAST32_  (_ATYPE_)(_ATYPE32_) /* widen if necessary */
                             ^
/linux-next/arch/mips/include/asm/addrspace.h:53:25: note: in expansion of 
macro ‘_ACAST32_’
 #define CPHYSADDR(a)  ((_ACAST32_(a)) & 0x1fffffff)
                         ^~~~~~~~~
/linux-next/arch/mips/jazz/jazzdma.c:84:44: note: in expansion of macro 
‘CPHYSADDR’
  r4030_write_reg32(JAZZ_R4030_TRSTBL_BASE, CPHYSADDR(pgtbl));

Using correct casts and CKSEG1ADDR when dealing with the pgtbl setup
fixes this.

Signed-off-by: Thomas Bogendoerfer <tbogendoer...@suse.de>
---
 arch/mips/jazz/jazzdma.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/mips/jazz/jazzdma.c b/arch/mips/jazz/jazzdma.c
index 6256d35dbf4d..bedb5047aff3 100644
--- a/arch/mips/jazz/jazzdma.c
+++ b/arch/mips/jazz/jazzdma.c
@@ -74,14 +74,15 @@ static int __init vdma_init(void)
                                                    get_order(VDMA_PGTBL_SIZE));
        BUG_ON(!pgtbl);
        dma_cache_wback_inv((unsigned long)pgtbl, VDMA_PGTBL_SIZE);
-       pgtbl = (VDMA_PGTBL_ENTRY *)KSEG1ADDR(pgtbl);
+       pgtbl = (VDMA_PGTBL_ENTRY *)CKSEG1ADDR((unsigned long)pgtbl);
 
        /*
         * Clear the R4030 translation table
         */
        vdma_pgtbl_init();
 
-       r4030_write_reg32(JAZZ_R4030_TRSTBL_BASE, CPHYSADDR(pgtbl));
+       r4030_write_reg32(JAZZ_R4030_TRSTBL_BASE,
+                         CPHYSADDR((unsigned long)pgtbl));
        r4030_write_reg32(JAZZ_R4030_TRSTBL_LIM, VDMA_PGTBL_SIZE);
        r4030_write_reg32(JAZZ_R4030_TRSTBL_INV, 0);
 
-- 
2.13.7

Reply via email to