diff mbox

[v1,14/15] IB: Add PVRDMA driver

Message ID 1467785688-23229-15-git-send-email-aditr@vmware.com (mailing list archive)
State Superseded
Headers show

Commit Message

Adit Ranadive July 6, 2016, 6:14 a.m. UTC
This patch updates the InfiniBand subsystem to build the PVRDMA driver.

Reviewed-by: Jorgen Hansen <jhansen@vmware.com>
Reviewed-by: George Zhang <georgezhang@vmware.com>
Reviewed-by: Aditya Sarwade <asarwade@vmware.com>
Reviewed-by: Bryan Tan <bryantan@vmware.com>
Signed-off-by: Adit Ranadive <aditr@vmware.com>
---
 drivers/infiniband/Kconfig     | 1 +
 drivers/infiniband/hw/Makefile | 1 +
 2 files changed, 2 insertions(+)

Comments

kernel test robot July 6, 2016, 3:21 p.m. UTC | #1
Hi,

[auto build test ERROR on rdma/master]
[also build test ERROR on v4.7-rc6 next-20160706]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Adit-Ranadive/Add-Paravirtual-RDMA-Driver/20160706-145514
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git master
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/infiniband/hw/pvrdma/pvrdma_main.c: In function 'pvrdma_pci_probe':
>> drivers/infiniband/hw/pvrdma/pvrdma_main.c:934:9: error: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
            &dev->dsr->cmd_slot_dma,
            ^
   In file included from include/linux/skbuff.h:34:0,
                    from include/linux/ip.h:20,
                    from include/linux/inetdevice.h:8,
                    from drivers/infiniband/hw/pvrdma/pvrdma_main.c:47:
   include/linux/dma-mapping.h:398:21: note: expected 'dma_addr_t * {aka unsigned int *}' but argument is of type '__u64 * {aka long long unsigned int *}'
    static inline void *dma_alloc_coherent(struct device *dev, size_t size,
                        ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/pvrdma/pvrdma_main.c:943:10: error: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
             &dev->dsr->resp_slot_dma,
             ^
   In file included from include/linux/skbuff.h:34:0,
                    from include/linux/ip.h:20,
                    from include/linux/inetdevice.h:8,
                    from drivers/infiniband/hw/pvrdma/pvrdma_main.c:47:
   include/linux/dma-mapping.h:398:21: note: expected 'dma_addr_t * {aka unsigned int *}' but argument is of type '__u64 * {aka long long unsigned int *}'
    static inline void *dma_alloc_coherent(struct device *dev, size_t size,
                        ^~~~~~~~~~~~~~~~~~
   drivers/infiniband/hw/pvrdma/pvrdma_main.c:975:65: warning: right shift count >= width of type [-Wshift-count-overflow]
     pvrdma_write_reg(dev, PVRDMA_REG_DSRHIGH, (u32)((dev->dsrbase) >> 32));
                                                                    ^~
   cc1: some warnings being treated as errors

vim +/dma_alloc_coherent +934 drivers/infiniband/hw/pvrdma/pvrdma_main.c

323b1403 Adit Ranadive 2016-07-05  918  		ret = -ENOMEM;
323b1403 Adit Ranadive 2016-07-05  919  		goto err_uar_unmap;
323b1403 Adit Ranadive 2016-07-05  920  	}
323b1403 Adit Ranadive 2016-07-05  921  
323b1403 Adit Ranadive 2016-07-05  922  	/* Setup the shared region */
323b1403 Adit Ranadive 2016-07-05  923  	memset(dev->dsr, 0, sizeof(*dev->dsr));
323b1403 Adit Ranadive 2016-07-05  924  	dev->dsr->driver_version = PVRDMA_VERSION;
323b1403 Adit Ranadive 2016-07-05  925  	dev->dsr->gos_info.gos_bits = sizeof(void *) == 4 ?
323b1403 Adit Ranadive 2016-07-05  926  		PVRDMA_GOS_BITS_32 :
323b1403 Adit Ranadive 2016-07-05  927  		PVRDMA_GOS_BITS_64;
323b1403 Adit Ranadive 2016-07-05  928  	dev->dsr->gos_info.gos_type = PVRDMA_GOS_TYPE_LINUX;
323b1403 Adit Ranadive 2016-07-05  929  	dev->dsr->gos_info.gos_ver = 1;
323b1403 Adit Ranadive 2016-07-05  930  	dev->dsr->uar_pfn = dev->driver_uar.pfn;
323b1403 Adit Ranadive 2016-07-05  931  
323b1403 Adit Ranadive 2016-07-05  932  	/* Command slot. */
323b1403 Adit Ranadive 2016-07-05  933  	dev->cmd_slot = dma_alloc_coherent(&pdev->dev, PAGE_SIZE,
323b1403 Adit Ranadive 2016-07-05 @934  					   &dev->dsr->cmd_slot_dma,
323b1403 Adit Ranadive 2016-07-05  935  					   GFP_KERNEL);
323b1403 Adit Ranadive 2016-07-05  936  	if (!dev->cmd_slot) {
323b1403 Adit Ranadive 2016-07-05  937  		ret = -ENOMEM;
323b1403 Adit Ranadive 2016-07-05  938  		goto err_free_dsr;
323b1403 Adit Ranadive 2016-07-05  939  	}
323b1403 Adit Ranadive 2016-07-05  940  
323b1403 Adit Ranadive 2016-07-05  941  	/* Response slot. */
323b1403 Adit Ranadive 2016-07-05  942  	dev->resp_slot = dma_alloc_coherent(&pdev->dev, PAGE_SIZE,

:::::: The code at line 934 was first introduced by commit
:::::: 323b1403d6da2c33685e69f5c0e84b455f1aea71 IB/pvrdma: Add the main driver module for PVRDMA

:::::: TO: Adit Ranadive <aditr@vmware.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index 2137adf..d677d8f 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -86,5 +86,6 @@  source "drivers/infiniband/ulp/isert/Kconfig"
 source "drivers/infiniband/sw/rdmavt/Kconfig"
 
 source "drivers/infiniband/hw/hfi1/Kconfig"
+source "drivers/infiniband/hw/pvrdma/Kconfig"
 
 endif # INFINIBAND
diff --git a/drivers/infiniband/hw/Makefile b/drivers/infiniband/hw/Makefile
index c0c7cf8..eb24449 100644
--- a/drivers/infiniband/hw/Makefile
+++ b/drivers/infiniband/hw/Makefile
@@ -9,3 +9,4 @@  obj-$(CONFIG_INFINIBAND_NES)		+= nes/
 obj-$(CONFIG_INFINIBAND_OCRDMA)		+= ocrdma/
 obj-$(CONFIG_INFINIBAND_USNIC)		+= usnic/
 obj-$(CONFIG_INFINIBAND_HFI1)		+= hfi1/
+obj-$(CONFIG_INFINIBAND_PVRDMA)		+= pvrdma/