Re: [PATCH 2/7] RDMA/bnxt_re: Add 64bit doorbells for 57500 series

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 3, 2019 at 2:25 AM Jason Gunthorpe <jgg@xxxxxxxxxxxx> wrote:
>
> On Tue, Jan 01, 2019 at 11:31:39AM +0800, kbuild test robot wrote:
> > Hi Devesh,
> >
> > I love your patch! Yet something to improve:
> >
> > [auto build test ERROR on rdma/for-next]
> > [also build test ERROR on v4.20 next-20181224]
> > [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/Devesh-Sharma/Add-support-Broadcom-s-57500-series-of-adapters/20181231-151329
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
> > config: arm-allmodconfig (attached as .config)
> > compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
> > reproduce:
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # save the attached .config to linux build tree
> >         GCC_VERSION=7.2.0 make.cross ARCH=arm
> >
> > All errors (new ones prefixed by >>):
> >
> >    In file included from drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:49:0:
> >    drivers/infiniband/hw/bnxt_re/qplib_rcfw.h: In function 'bnxt_qplib_ring_creq_db64':
> > >> drivers/infiniband/hw/bnxt_re/qplib_rcfw.h:175:2: error: implicit declaration of function 'writeq'; did you mean 'writeb'? [-Werror=implicit-function-declaration]
> >      writeq(*val, db);
> >      ^~~~~~
> >      writeb
> >    cc1: some warnings being treated as errors
> >
> > vim +175 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h
> >
> >    147
> >    148        #define CREQ_CMP_VALID(hdr, raw_cons, cp_bit)                   \
> >    149                (!!((hdr)->v & CREQ_BASE_V) ==                          \
> >    150                   !((raw_cons) & (cp_bit)))
> >    151
> >    152        #define CREQ_DB_KEY_CP                  (0x2 << CMPL_DOORBELL_KEY_SFT)
> >    153        #define CREQ_DB_IDX_VALID               CMPL_DOORBELL_IDX_VALID
> >    154        #define CREQ_DB_IRQ_DIS                 CMPL_DOORBELL_MASK
> >    155        #define CREQ_DB_CP_FLAGS_REARM          (CREQ_DB_KEY_CP |       \
> >    156                                                 CREQ_DB_IDX_VALID)
> >    157        #define CREQ_DB_CP_FLAGS                (CREQ_DB_KEY_CP |       \
> >    158                                                 CREQ_DB_IDX_VALID |    \
> >    159                                                 CREQ_DB_IRQ_DIS)
> >    160
> >    161        static inline void bnxt_qplib_ring_creq_db64(void __iomem *db, u32 index,
> >    162                                                     u16 xid, bool arm)
> >    163        {
> >    164                struct dbc_dbc  hdr64 = { 0 };
> >    165                u32 tmp = 0;
> >    166                u64 *val;
> >    167
> >    168                hdr64.index = cpu_to_le32(index & DBC_DBC_INDEX_MASK);
> >    169                tmp = xid & DBC_DBC_XID_MASK;
> >    170                tmp |= DBC_DBC_PATH_ROCE;
> >    171                tmp |= arm ? DBC_DBC_TYPE_NQ_ARM : DBC_DBC_TYPE_NQ;
> >    172                hdr64.type_path_xid = cpu_to_le32(tmp);
> >    173                val = (u64 *)&hdr64.index;
> >    174                wmb();
> >  > 175                writeq(*val, db);
>
> You can probably use 'depends on 64BIT' in the kconfig? This is what
> qib does
>
I take the reference, thanks for the pointer.
> Jaason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux