* [linux-next:master 5887/9096] drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse: sparse: invalid assignment: |=
@ 2023-12-19 21:26 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-12-19 21:26 UTC (permalink / raw)
To: Selvin Xavier
Cc: oe-kbuild-all, Linux Memory Management List, Leon Romanovsky,
Damodharam Ammepalli
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-12-19 21:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-19 21:26 [linux-next:master 5887/9096] drivers/infiniband/hw/bnxt_re/qplib_rcfw.c:909:27: sparse: sparse: invalid assignment: |= kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).