Message ID | 1682450993-17711-4-git-send-email-selvin.xavier@broadcom.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | RDMA/bnxt_re: driver update for supporting low latency push | expand |
Hi Selvin, kernel test robot noticed the following build warnings: [auto build test WARNING on rdma/for-next] [also build test WARNING on linus/master v6.3 next-20230425] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Selvin-Xavier/RDMA-bnxt_re-Use-the-common-mmap-helper-functions/20230426-033131 base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next patch link: https://lore.kernel.org/r/1682450993-17711-4-git-send-email-selvin.xavier%40broadcom.com patch subject: [PATCH v2 for-next 3/6] RDMA/bnxt_re: Query function capabilities from firmware config: ia64-allyesconfig (https://download.01.org/0day-ci/archive/20230426/202304260421.Wr6M1Ys9-lkp@intel.com/config) compiler: ia64-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/2e3cab6bf041dd376d6aeae617adfdcdd68f8a4b git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Selvin-Xavier/RDMA-bnxt_re-Use-the-common-mmap-helper-functions/20230426-033131 git checkout 2e3cab6bf041dd376d6aeae617adfdcdd68f8a4b # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/infiniband/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202304260421.Wr6M1Ys9-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/infiniband/hw/bnxt_re/main.c: In function 'bnxt_re_hwrm_qcaps': >> drivers/infiniband/hw/bnxt_re/main.c:347:37: warning: variable 'cctx' set but not used [-Wunused-but-set-variable] 347 | struct bnxt_qplib_chip_ctx *cctx; | ^~~~ vim +/cctx +347 drivers/infiniband/hw/bnxt_re/main.c 340 341 /* Query function capabilities using common hwrm */ 342 int bnxt_re_hwrm_qcaps(struct bnxt_re_dev *rdev) 343 { 344 struct bnxt_en_dev *en_dev = rdev->en_dev; 345 struct hwrm_func_qcaps_output resp = {0}; 346 struct hwrm_func_qcaps_input req = {0}; > 347 struct bnxt_qplib_chip_ctx *cctx; 348 struct bnxt_fw_msg fw_msg; 349 350 cctx = rdev->chip_ctx; 351 memset(&fw_msg, 0, sizeof(fw_msg)); 352 bnxt_re_init_hwrm_hdr(rdev, (void *)&req, 353 HWRM_FUNC_QCAPS, -1, -1); 354 req.fid = cpu_to_le16(0xffff); 355 bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, 356 sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); 357 return bnxt_send_msg(en_dev, &fw_msg); 358 } 359
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index a866951..993fb62 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -83,6 +83,7 @@ static int bnxt_re_netdev_event(struct notifier_block *notifier, unsigned long event, void *ptr); static struct bnxt_re_dev *bnxt_re_from_netdev(struct net_device *netdev); static void bnxt_re_dev_uninit(struct bnxt_re_dev *rdev); +static int bnxt_re_hwrm_qcaps(struct bnxt_re_dev *rdev); static void bnxt_re_set_drv_mode(struct bnxt_re_dev *rdev, u8 mode) { @@ -91,6 +92,9 @@ static void bnxt_re_set_drv_mode(struct bnxt_re_dev *rdev, u8 mode) cctx = rdev->chip_ctx; cctx->modes.wqe_mode = bnxt_qplib_is_chip_gen_p5(rdev->chip_ctx) ? mode : BNXT_QPLIB_WQE_MODE_STATIC; + if (bnxt_re_hwrm_qcaps(rdev)) + dev_err(rdev_to_dev(rdev), + "Failed to query hwrm qcaps\n"); } static void bnxt_re_destroy_chip_ctx(struct bnxt_re_dev *rdev) @@ -334,6 +338,25 @@ static void bnxt_re_fill_fw_msg(struct bnxt_fw_msg *fw_msg, void *msg, fw_msg->timeout = timeout; } +/* Query function capabilities using common hwrm */ +int bnxt_re_hwrm_qcaps(struct bnxt_re_dev *rdev) +{ + struct bnxt_en_dev *en_dev = rdev->en_dev; + struct hwrm_func_qcaps_output resp = {0}; + struct hwrm_func_qcaps_input req = {0}; + struct bnxt_qplib_chip_ctx *cctx; + struct bnxt_fw_msg fw_msg; + + cctx = rdev->chip_ctx; + memset(&fw_msg, 0, sizeof(fw_msg)); + bnxt_re_init_hwrm_hdr(rdev, (void *)&req, + HWRM_FUNC_QCAPS, -1, -1); + req.fid = cpu_to_le16(0xffff); + bnxt_re_fill_fw_msg(&fw_msg, (void *)&req, sizeof(req), (void *)&resp, + sizeof(resp), DFLT_HWRM_CMD_TIMEOUT); + return bnxt_send_msg(en_dev, &fw_msg); +} + static int bnxt_re_net_ring_free(struct bnxt_re_dev *rdev, u16 fw_ring_id, int type) {
Query Function capabilities to enable advanced features. Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> --- v1 - v2: - Removed unnecessary error prints drivers/infiniband/hw/bnxt_re/main.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)