Hi, Here's my third attempt. This time we add functions to io-64-nonatomic-* which call io{read|write}32 twice so that the pio is done correctly. I've also included a patch that adds these functions to the generic iomap library so that readq/writeq can be used while still splitting pio operations (when appropriate). Thanks, Logan Horia Geantă (1): crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe (3): iomap: introduce io{read|write}64_{lo_hi|hi_lo} io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks drivers/crypto/caam/regs.h | 35 ++------- drivers/ntb/hw/intel/ntb_hw_intel.c | 31 +------- include/asm-generic/iomap.h | 26 +++++-- include/linux/io-64-nonatomic-hi-lo.h | 62 ++++++++++++++++ include/linux/io-64-nonatomic-lo-hi.h | 60 ++++++++++++++++ lib/iomap.c | 132 ++++++++++++++++++++++++++++++++++ 6 files changed, 280 insertions(+), 66 deletions(-) -- 2.11.0