All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Selvin Xavier <selvin.xavier@broadcom.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	Leon Romanovsky <leon@kernel.org>,
	Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
Subject: [linux-next:master 5887/9096] drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse: sparse: invalid assignment: |=
Date: Wed, 20 Dec 2023 05:26:08 +0800	[thread overview]
Message-ID: <202312200537.HoNqPL5L-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   aa4db8324c4d0e67aa4670356df4e9fae14b4d37
commit: 07f830ae4913d0b986c8c0ff88a7d597948b9bd8 [5887/9096] RDMA/bnxt_re: Adds MSN table capability for Gen P7 adapters
config: x86_64-randconfig-121-20231220 (https://download.01.org/0day-ci/archive/20231220/202312200537.HoNqPL5L-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231220/202312200537.HoNqPL5L-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312200537.HoNqPL5L-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse: sparse: invalid assignment: |=
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse:    left side has type restricted __le16
>> drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse:    right side has type unsigned long
   drivers/infiniband/hw/bnxt_re/qplib_rcfw.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, ...):
   include/linux/page-flags.h:242:46: sparse: sparse: self-comparison always evaluates to false
--
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: sparse: sparse: invalid assignment: |=
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: sparse:    left side has type restricted __le64
>> drivers/infiniband/hw/bnxt_re/qplib_fp.c:1620:44: sparse:    right side has type unsigned long long
   drivers/infiniband/hw/bnxt_re/qplib_fp.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/slab.h):
   include/linux/page-flags.h:242:46: sparse: sparse: self-comparison always evaluates to false

vim +909 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c

   828	
   829	int bnxt_qplib_init_rcfw(struct bnxt_qplib_rcfw *rcfw,
   830				 struct bnxt_qplib_ctx *ctx, int is_virtfn)
   831	{
   832		struct creq_initialize_fw_resp resp = {};
   833		struct cmdq_initialize_fw req = {};
   834		struct bnxt_qplib_cmdqmsg msg = {};
   835		u8 pgsz, lvl;
   836		int rc;
   837	
   838		bnxt_qplib_rcfw_cmd_prep((struct cmdq_base *)&req,
   839					 CMDQ_BASE_OPCODE_INITIALIZE_FW,
   840					 sizeof(req));
   841		/* Supply (log-base-2-of-host-page-size - base-page-shift)
   842		 * to bono to adjust the doorbell page sizes.
   843		 */
   844		req.log2_dbr_pg_size = cpu_to_le16(PAGE_SHIFT -
   845						   RCFW_DBR_BASE_PAGE_SHIFT);
   846		/*
   847		 * Gen P5 devices doesn't require this allocation
   848		 * as the L2 driver does the same for RoCE also.
   849		 * Also, VFs need not setup the HW context area, PF
   850		 * shall setup this area for VF. Skipping the
   851		 * HW programming
   852		 */
   853		if (is_virtfn)
   854			goto skip_ctx_setup;
   855		if (bnxt_qplib_is_chip_gen_p5_p7(rcfw->res->cctx))
   856			goto config_vf_res;
   857	
   858		lvl = ctx->qpc_tbl.level;
   859		pgsz = bnxt_qplib_base_pg_size(&ctx->qpc_tbl);
   860		req.qpc_pg_size_qpc_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   861					   lvl;
   862		lvl = ctx->mrw_tbl.level;
   863		pgsz = bnxt_qplib_base_pg_size(&ctx->mrw_tbl);
   864		req.mrw_pg_size_mrw_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   865					   lvl;
   866		lvl = ctx->srqc_tbl.level;
   867		pgsz = bnxt_qplib_base_pg_size(&ctx->srqc_tbl);
   868		req.srq_pg_size_srq_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   869					   lvl;
   870		lvl = ctx->cq_tbl.level;
   871		pgsz = bnxt_qplib_base_pg_size(&ctx->cq_tbl);
   872		req.cq_pg_size_cq_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   873					 lvl;
   874		lvl = ctx->tim_tbl.level;
   875		pgsz = bnxt_qplib_base_pg_size(&ctx->tim_tbl);
   876		req.tim_pg_size_tim_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   877					   lvl;
   878		lvl = ctx->tqm_ctx.pde.level;
   879		pgsz = bnxt_qplib_base_pg_size(&ctx->tqm_ctx.pde);
   880		req.tqm_pg_size_tqm_lvl = (pgsz << CMDQ_INITIALIZE_FW_QPC_PG_SIZE_SFT) |
   881					   lvl;
   882		req.qpc_page_dir =
   883			cpu_to_le64(ctx->qpc_tbl.pbl[PBL_LVL_0].pg_map_arr[0]);
   884		req.mrw_page_dir =
   885			cpu_to_le64(ctx->mrw_tbl.pbl[PBL_LVL_0].pg_map_arr[0]);
   886		req.srq_page_dir =
   887			cpu_to_le64(ctx->srqc_tbl.pbl[PBL_LVL_0].pg_map_arr[0]);
   888		req.cq_page_dir =
   889			cpu_to_le64(ctx->cq_tbl.pbl[PBL_LVL_0].pg_map_arr[0]);
   890		req.tim_page_dir =
   891			cpu_to_le64(ctx->tim_tbl.pbl[PBL_LVL_0].pg_map_arr[0]);
   892		req.tqm_page_dir =
   893			cpu_to_le64(ctx->tqm_ctx.pde.pbl[PBL_LVL_0].pg_map_arr[0]);
   894	
   895		req.number_of_qp = cpu_to_le32(ctx->qpc_tbl.max_elements);
   896		req.number_of_mrw = cpu_to_le32(ctx->mrw_tbl.max_elements);
   897		req.number_of_srq = cpu_to_le32(ctx->srqc_tbl.max_elements);
   898		req.number_of_cq = cpu_to_le32(ctx->cq_tbl.max_elements);
   899	
   900	config_vf_res:
   901		req.max_qp_per_vf = cpu_to_le32(ctx->vf_res.max_qp_per_vf);
   902		req.max_mrw_per_vf = cpu_to_le32(ctx->vf_res.max_mrw_per_vf);
   903		req.max_srq_per_vf = cpu_to_le32(ctx->vf_res.max_srq_per_vf);
   904		req.max_cq_per_vf = cpu_to_le32(ctx->vf_res.max_cq_per_vf);
   905		req.max_gid_per_vf = cpu_to_le32(ctx->vf_res.max_gid_per_vf);
   906	
   907	skip_ctx_setup:
   908		if (BNXT_RE_HW_RETX(rcfw->res->dattr->dev_cap_flags))
 > 909			req.flags |= CMDQ_INITIALIZE_FW_FLAGS_HW_REQUESTER_RETX_SUPPORTED;
   910		req.stat_ctx_id = cpu_to_le32(ctx->stats.fw_id);
   911		bnxt_qplib_fill_cmdqmsg(&msg, &req, &resp, NULL, sizeof(req), sizeof(resp), 0);
   912		rc = bnxt_qplib_rcfw_send_message(rcfw, &msg);
   913		if (rc)
   914			return rc;
   915		set_bit(FIRMWARE_INITIALIZED_FLAG, &rcfw->cmdq.flags);
   916		return 0;
   917	}
   918	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2023-12-19 21:26 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202312200537.HoNqPL5L-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=damodharam.ammepalli@broadcom.com \
    --cc=leon@kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=selvin.xavier@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.