diff mbox series

MIPS: jazz: fix 64bit build

Message ID 20190109171216.19992-1-tbogendoerfer@suse.de (mailing list archive)
State Mainlined
Commit 41af167fbc0032f9d7562854f58114eaa9270336
Headers show
Series MIPS: jazz: fix 64bit build | expand

Commit Message

Thomas Bogendoerfer Jan. 9, 2019, 5:12 p.m. UTC
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 <tbogendoerfer@suse.de>
---
 arch/mips/jazz/jazzdma.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Paul Burton Jan. 9, 2019, 10:19 p.m. UTC | #1
Hello,

Thomas Bogendoerfer wrote:
> 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 <tbogendoerfer@suse.de>

Applied to mips-fixes.

Thanks,
    Paul

[ This message was auto-generated; if you believe anything is incorrect
  then please email paul.burton@mips.com to report it. ]
diff mbox series

Patch

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);