Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-20 Thread Logan Gunthorpe


On 20/07/17 06:36 AM, Horia Geantă wrote:
> include/asm-generic/iomap.h is included before
> include/linux/io-64-nonatomic-lo-hi.h:
> 
> include/linux/io.h -> arch/powerpc/include/asm/io.h ->
> include/asm-generic/iomap.h
> 
> Thus, the "extern" version of ioread64_lo_hi and friends will be used
> (and not the inline version from io-64-nonatomic-lo-hi.h).
> 
> But for this kernel .config:
> -CONFIG_GENERIC_IOMAP=n and
> -there is no implementation of io{read|write}64[be]{_lo_hi|_hi_lo} in
> arch/powerpc/kernel/iomap.c

Ah, thanks for the triage. I'll take a look at fixing this for a v5.

Logan


Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-20 Thread Horia Geantă
On 7/20/2017 1:27 PM, Horia Geantă wrote:
> On 7/19/2017 7:04 PM, Logan Gunthorpe wrote:
>>
>>
>> On 18/07/17 11:57 PM, Michael Ellerman wrote:
>>> Seems fair enough, have you tested it at all?
>>
>> It's only been compile tested and the kbuild robot has beat up on it a bit.
>>
> Looks like the patch set does not compile on PPC (.config generated
> using make corenet64_smp_defconfig):
> 
> [...]
>   LD  vmlinux.o
>   MODPOST vmlinux.o
> drivers/crypto/caam/jr.o: In function `rd_reg64':
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154:
> undefined reference to `.ioread64be_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151:
> undefined reference to `.ioread64_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151:
> undefined reference to `.ioread64_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154:
> undefined reference to `.ioread64be_lo_hi'
> drivers/crypto/caam/jr.o: In function `wr_reg64':
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141:
> undefined reference to `.iowrite64_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141:
> undefined reference to `.iowrite64_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144:
> undefined reference to `.iowrite64be_lo_hi'
> /home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144:
> undefined reference to `.iowrite64be_lo_hi'
> make: *** [vmlinux] Error 1
> 
include/asm-generic/iomap.h is included before
include/linux/io-64-nonatomic-lo-hi.h:

include/linux/io.h -> arch/powerpc/include/asm/io.h ->
include/asm-generic/iomap.h

Thus, the "extern" version of ioread64_lo_hi and friends will be used
(and not the inline version from io-64-nonatomic-lo-hi.h).

But for this kernel .config:
-CONFIG_GENERIC_IOMAP=n and
-there is no implementation of io{read|write}64[be]{_lo_hi|_hi_lo} in
arch/powerpc/kernel/iomap.c

Regards,
Horia


Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-20 Thread Michael Ellerman
Logan Gunthorpe  writes:

> On 18/07/17 11:57 PM, Michael Ellerman wrote:
>> Seems fair enough, have you tested it at all?
>
> It's only been compile tested and the kbuild robot has beat up on it a bit.

OK. I don't think I see any way it can break anything, so feel free to
merge it, it'll get boot testing on powerpc once it's in linux-next.

Acked-by: Michael Ellerman 

cheers


Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-20 Thread Horia Geantă
On 7/19/2017 7:04 PM, Logan Gunthorpe wrote:
> 
> 
> On 18/07/17 11:57 PM, Michael Ellerman wrote:
>> Seems fair enough, have you tested it at all?
> 
> It's only been compile tested and the kbuild robot has beat up on it a bit.
> 
Looks like the patch set does not compile on PPC (.config generated
using make corenet64_smp_defconfig):

[...]
  LD  vmlinux.o
  MODPOST vmlinux.o
drivers/crypto/caam/jr.o: In function `rd_reg64':
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154:
undefined reference to `.ioread64be_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151:
undefined reference to `.ioread64_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:151:
undefined reference to `.ioread64_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:154:
undefined reference to `.ioread64be_lo_hi'
drivers/crypto/caam/jr.o: In function `wr_reg64':
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141:
undefined reference to `.iowrite64_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:141:
undefined reference to `.iowrite64_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144:
undefined reference to `.iowrite64be_lo_hi'
/home/b05471/repos/cryptodev-2.6/drivers/crypto/caam/regs.h:144:
undefined reference to `.iowrite64be_lo_hi'
make: *** [vmlinux] Error 1

Regards,
Horia


Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-19 Thread Logan Gunthorpe


On 18/07/17 11:57 PM, Michael Ellerman wrote:
> Seems fair enough, have you tested it at all?

It's only been compile tested and the kbuild robot has beat up on it a bit.

Thanks,

Logan


Re: [PATCH v4 1/5] powerpc: io.h: move iomap.h include so that it can use readq/writeq defs

2017-07-18 Thread Michael Ellerman
Logan Gunthorpe  writes:

> Subsequent patches in this series makes use of the readq and writeq
> defines in iomap.h. However, as is, they get missed on the powerpc
> platform seeing the include comes before the define. This patch
> moves the include down to fix this.
>
> Signed-off-by: Logan Gunthorpe 
> Cc: Benjamin Herrenschmidt 
> Cc: Paul Mackerras 
> Cc: Michael Ellerman 
> Cc: Nicholas Piggin 
> Cc: Suresh Warrier 
> Cc: "Oliver O'Halloran" 
> ---
>  arch/powerpc/include/asm/io.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Seems fair enough, have you tested it at all?

cheers