ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks

This change “ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks” in Linux kernel is authored by Logan Gunthorpe <logang [at] deltatee.com> on Wed Jan 16 11:25:22 2019 -0700.

ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks

Now that ioread64 and iowrite64 are available in io-64-nonatomic,
we can remove the hack at the top of ntb_hw_intel.c and replace it
with an include.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Acked-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

This Linux change may have been applied to various maintained Linux releases and you can find Linux releases including commit 0795ccd.

There are 30 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/ntb/hw/intel/ntb_hw_intel.h | 30 +-----------------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.h b/drivers/ntb/hw/intel/ntb_hw_intel.h
index c49ff89..e071e28 100644
--- a/drivers/ntb/hw/intel/ntb_hw_intel.h
+++ b/drivers/ntb/hw/intel/ntb_hw_intel.h
@@ -53,6 +53,7 @@
 #include <linux/ntb.h>
 #include <linux/pci.h>
+#include <linux/io-64-nonatomic-lo-hi.h>
 /* PCI device IDs */
@@ -218,33 +219,4 @@ static inline int pdev_is_gen3(struct pci_dev *pdev)
 	return 0;
-#ifndef ioread64
-#ifdef readq
-#define ioread64 readq
-#define ioread64 _ioread64
-static inline u64 _ioread64(void __iomem *mmio)
-	u64 low, high;
-	low = ioread32(mmio);
-	high = ioread32(mmio + sizeof(u32));
-	return low | (high << 32);
-#ifndef iowrite64
-#ifdef writeq
-#define iowrite64 writeq
-#define iowrite64 _iowrite64
-static inline void _iowrite64(u64 val, void __iomem *mmio)
-	iowrite32(val, mmio);
-	iowrite32(val >> 32, mmio + sizeof(u32));

The commit for this change in Linux stable tree is 0795ccd (patch).

Leave a Reply

Your email address will not be published. Required fields are marked *