Lines Matching refs:req
3921 struct hwrm_func_qstats_ext_input req = {0};
3929 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_QSTATS_EXT, -1, -1);
3930 req.fid = cpu_to_le16(0xffff);
3931 req.flags = FUNC_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK;
3933 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4402 struct input *req = request;
4404 req->req_type = cpu_to_le16(req_type);
4405 req->cmpl_ring = cpu_to_le16(cmpl_ring);
4406 req->target_id = cpu_to_le16(target_id);
4407 if (bnxt_kong_hwrm_message(bp, req))
4408 req->resp_addr = cpu_to_le64(bp->hwrm_cmd_kong_resp_dma_addr);
4410 req->resp_addr = cpu_to_le64(bp->hwrm_cmd_resp_dma_addr);
4446 struct input *req = msg;
4458 le16_to_cpu(req->req_type) != HWRM_FUNC_RESET)
4467 if (bnxt_hwrm_kong_chnl(bp, req)) {
4475 cp_ring_id = le16_to_cpu(req->cmpl_ring);
4478 req->seq_id = cpu_to_le16(bnxt_get_hwrm_seq_id(bp, dst));
4481 bp->hwrm_intr_seq_id = le16_to_cpu(req->seq_id);
4490 * internal req length.
4494 memcpy(short_cmd_req, req, msg_len);
4499 short_input.req_type = req->req_type;
4564 le16_to_cpu(req->req_type));
4595 le16_to_cpu(req->req_type),
4596 le16_to_cpu(req->seq_id), len);
4614 le16_to_cpu(req->req_type),
4615 le16_to_cpu(req->seq_id), len,
4670 struct hwrm_func_drv_rgtr_input req = {0};
4676 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_DRV_RGTR, -1, -1);
4678 req.enables =
4683 req.os_type = cpu_to_le16(FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX);
4690 req.flags = cpu_to_le32(flags);
4691 req.ver_maj_8b = DRV_VER_MAJ;
4692 req.ver_min_8b = DRV_VER_MIN;
4693 req.ver_upd_8b = DRV_VER_UPD;
4694 req.ver_maj = cpu_to_le16(DRV_VER_MAJ);
4695 req.ver_min = cpu_to_le16(DRV_VER_MIN);
4696 req.ver_upd = cpu_to_le16(DRV_VER_UPD);
4713 req.vf_req_fwd[i] = cpu_to_le32(data[i]);
4715 req.enables |=
4720 req.flags |= cpu_to_le32(
4739 req.async_event_fwd[i] |= cpu_to_le32(events[i]);
4742 req.enables =
4746 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4759 struct hwrm_func_drv_unrgtr_input req = {0};
4764 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_DRV_UNRGTR, -1, -1);
4765 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4771 struct hwrm_tunnel_dst_port_free_input req = {0};
4773 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TUNNEL_DST_PORT_FREE, -1, -1);
4774 req.tunnel_type = tunnel_type;
4778 req.tunnel_dst_port_id = cpu_to_le16(bp->vxlan_fw_dst_port_id);
4782 req.tunnel_dst_port_id = cpu_to_le16(bp->nge_fw_dst_port_id);
4789 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4800 struct hwrm_tunnel_dst_port_alloc_input req = {0};
4803 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TUNNEL_DST_PORT_ALLOC, -1, -1);
4805 req.tunnel_type = tunnel_type;
4806 req.tunnel_dst_port_val = port;
4809 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4835 struct hwrm_cfa_l2_set_rx_mask_input req = {0};
4838 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_L2_SET_RX_MASK, -1, -1);
4839 req.vnic_id = cpu_to_le32(vnic->fw_vnic_id);
4841 req.num_mc_entries = cpu_to_le32(vnic->mc_list_count);
4842 req.mc_tbl_addr = cpu_to_le64(vnic->mc_list_mapping);
4843 req.mask = cpu_to_le32(vnic->rx_mask);
4844 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4851 struct hwrm_cfa_ntuple_filter_free_input req = {0};
4853 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_NTUPLE_FILTER_FREE, -1, -1);
4854 req.ntuple_filter_id = fltr->filter_id;
4855 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4880 struct hwrm_cfa_ntuple_filter_alloc_input req = {0};
4887 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_NTUPLE_FILTER_ALLOC, -1, -1);
4888 req.l2_filter_id = bp->vnic_info[0].fw_l2_filter_id[fltr->l2_fltr_idx];
4892 req.dst_id = cpu_to_le16(fltr->rxq);
4895 req.dst_id = cpu_to_le16(vnic->fw_vnic_id);
4897 req.flags = cpu_to_le32(flags);
4898 req.enables = cpu_to_le32(BNXT_NTP_FLTR_FLAGS);
4900 req.ethertype = htons(ETH_P_IP);
4901 memcpy(req.src_macaddr, fltr->src_mac_addr, ETH_ALEN);
4902 req.ip_addr_type = CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4;
4903 req.ip_protocol = keys->basic.ip_proto;
4908 req.ethertype = htons(ETH_P_IPV6);
4909 req.ip_addr_type =
4911 *(struct in6_addr *)&req.src_ipaddr[0] =
4913 *(struct in6_addr *)&req.dst_ipaddr[0] =
4916 req.src_ipaddr_mask[i] = cpu_to_be32(0xffffffff);
4917 req.dst_ipaddr_mask[i] = cpu_to_be32(0xffffffff);
4920 req.src_ipaddr[0] = keys->addrs.v4addrs.src;
4921 req.src_ipaddr_mask[0] = cpu_to_be32(0xffffffff);
4922 req.dst_ipaddr[0] = keys->addrs.v4addrs.dst;
4923 req.dst_ipaddr_mask[0] = cpu_to_be32(0xffffffff);
4926 req.enables |= cpu_to_le32(BNXT_NTP_TUNNEL_FLTR_FLAG);
4927 req.tunnel_type =
4931 req.src_port = keys->ports.src;
4932 req.src_port_mask = cpu_to_be16(0xffff);
4933 req.dst_port = keys->ports.dst;
4934 req.dst_port_mask = cpu_to_be16(0xffff);
4937 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4939 resp = bnxt_get_hwrm_resp_addr(bp, &req);
4951 struct hwrm_cfa_l2_filter_alloc_input req = {0};
4954 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_L2_FILTER_ALLOC, -1, -1);
4955 req.flags = cpu_to_le32(CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX);
4957 req.flags |=
4959 req.dst_id = cpu_to_le16(bp->vnic_info[vnic_id].fw_vnic_id);
4960 req.enables =
4964 memcpy(req.l2_addr, mac_addr, ETH_ALEN);
4965 req.l2_addr_mask[0] = 0xff;
4966 req.l2_addr_mask[1] = 0xff;
4967 req.l2_addr_mask[2] = 0xff;
4968 req.l2_addr_mask[3] = 0xff;
4969 req.l2_addr_mask[4] = 0xff;
4970 req.l2_addr_mask[5] = 0xff;
4973 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
4992 struct hwrm_cfa_l2_filter_free_input req = {0};
4994 bnxt_hwrm_cmd_hdr_init(bp, &req,
4997 req.l2_filter_id = vnic->fw_l2_filter_id[j];
4999 rc = _hwrm_send_message(bp, &req, sizeof(req),
5013 struct hwrm_vnic_tpa_cfg_input req = {0};
5018 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_TPA_CFG, -1, -1);
5032 req.flags = cpu_to_le32(flags);
5034 req.enables =
5058 req.max_agg_segs = cpu_to_le16(segs);
5059 req.max_aggs = cpu_to_le16(max_aggs);
5061 req.min_agg_len = cpu_to_le32(512);
5063 req.vnic_id = cpu_to_le16(vnic->fw_vnic_id);
5065 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5209 struct hwrm_vnic_rss_cfg_input req = {0};
5215 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_RSS_CFG, -1, -1);
5218 req.hash_type = cpu_to_le32(bp->rss_hash_cfg);
5219 req.hash_mode_flags = VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_DEFAULT;
5220 req.ring_grp_tbl_addr = cpu_to_le64(vnic->rss_table_dma_addr);
5221 req.hash_key_tbl_addr =
5224 req.rss_ctx_idx = cpu_to_le16(vnic->fw_rss_cos_lb_ctx[0]);
5225 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5231 struct hwrm_vnic_rss_cfg_input req = {0};
5235 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_RSS_CFG, -1, -1);
5236 req.vnic_id = cpu_to_le16(vnic->fw_vnic_id);
5238 hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5242 req.hash_type = cpu_to_le32(bp->rss_hash_cfg);
5243 req.hash_mode_flags = VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_DEFAULT;
5244 req.hash_key_tbl_addr = cpu_to_le64(vnic->rss_hash_key_dma_addr);
5250 req.ring_grp_tbl_addr = cpu_to_le64(ring_tbl_map);
5251 req.ring_table_pair_index = i;
5252 req.rss_ctx_idx = cpu_to_le16(vnic->fw_rss_cos_lb_ctx[i]);
5253 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5263 struct hwrm_vnic_plcmodes_cfg_input req = {0};
5265 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_PLCMODES_CFG, -1, -1);
5266 req.flags = cpu_to_le32(VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT |
5269 req.enables =
5273 req.jumbo_thresh = cpu_to_le16(bp->rx_copy_thresh);
5274 req.hds_threshold = cpu_to_le16(bp->rx_copy_thresh);
5275 req.vnic_id = cpu_to_le32(vnic->fw_vnic_id);
5276 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5282 struct hwrm_vnic_rss_cos_lb_ctx_free_input req = {0};
5284 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_RSS_COS_LB_CTX_FREE, -1, -1);
5285 req.rss_cos_lb_ctx_id =
5288 hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5310 struct hwrm_vnic_rss_cos_lb_ctx_alloc_input req = {0};
5314 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_RSS_COS_LB_CTX_ALLOC, -1,
5318 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5338 struct hwrm_vnic_cfg_input req = {0};
5341 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_CFG, -1, -1);
5346 req.default_rx_ring_id =
5348 req.default_cmpl_ring_id =
5350 req.enables =
5355 req.enables = cpu_to_le32(VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP);
5358 req.rss_rule = cpu_to_le16(vnic->fw_rss_cos_lb_ctx[0]);
5359 req.enables |= cpu_to_le32(VNIC_CFG_REQ_ENABLES_RSS_RULE |
5362 req.rss_rule =
5364 req.enables |= cpu_to_le32(VNIC_CFG_REQ_ENABLES_RSS_RULE |
5366 req.flags |= cpu_to_le32(VNIC_CFG_REQ_FLAGS_RSS_DFLT_CR_MODE);
5368 req.rss_rule = cpu_to_le16(0xffff);
5373 req.cos_rule = cpu_to_le16(vnic->fw_rss_cos_lb_ctx[1]);
5374 req.enables |= cpu_to_le32(VNIC_CFG_REQ_ENABLES_COS_RULE);
5376 req.cos_rule = cpu_to_le16(0xffff);
5387 req.dflt_ring_grp = cpu_to_le16(bp->grp_info[grp_idx].fw_grp_id);
5388 req.lb_rule = cpu_to_le16(0xffff);
5390 req.mru = cpu_to_le16(bp->dev->mtu + ETH_HLEN + VLAN_HLEN);
5392 req.vnic_id = cpu_to_le16(vnic->fw_vnic_id);
5398 req.flags |= cpu_to_le32(VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE);
5400 req.flags |= cpu_to_le32(bnxt_get_roce_vnic_mode(bp));
5402 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5408 struct hwrm_vnic_free_input req = {0};
5410 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_FREE, -1, -1);
5411 req.vnic_id =
5414 hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5433 struct hwrm_vnic_alloc_input req = {0};
5444 netdev_err(bp->dev, "Not enough ring groups avail:%x req:%x\n",
5455 req.flags = cpu_to_le32(VNIC_ALLOC_REQ_FLAGS_DEFAULT);
5457 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_ALLOC, -1, -1);
5460 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5470 struct hwrm_vnic_qcaps_input req = {0};
5478 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VNIC_QCAPS, -1, -1);
5480 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5520 struct hwrm_ring_grp_alloc_input req = {0};
5525 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_GRP_ALLOC, -1, -1);
5527 req.cr = cpu_to_le16(bp->grp_info[grp_idx].cp_fw_ring_id);
5528 req.rr = cpu_to_le16(bp->grp_info[grp_idx].rx_fw_ring_id);
5529 req.ar = cpu_to_le16(bp->grp_info[grp_idx].agg_fw_ring_id);
5530 req.sc = cpu_to_le16(bp->grp_info[grp_idx].fw_stats_ctx);
5532 rc = _hwrm_send_message(bp, &req, sizeof(req),
5547 struct hwrm_ring_grp_free_input req = {0};
5552 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_GRP_FREE, -1, -1);
5558 req.ring_group_id =
5561 _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5572 struct hwrm_ring_alloc_input req = {0};
5578 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_ALLOC, -1, -1);
5580 req.enables = 0;
5582 req.page_tbl_addr = cpu_to_le64(rmem->pg_tbl_map);
5584 req.page_size = BNXT_PAGE_SHIFT;
5585 req.page_tbl_depth = 1;
5587 req.page_tbl_addr = cpu_to_le64(rmem->dma_arr[0]);
5589 req.fbo = 0;
5591 req.logical_id = cpu_to_le16(map_index);
5599 req.ring_type = RING_ALLOC_REQ_RING_TYPE_TX;
5602 req.cmpl_ring_id = cpu_to_le16(bnxt_cp_ring_for_tx(bp, txr));
5603 req.length = cpu_to_le32(bp->tx_ring_mask + 1);
5604 req.stat_ctx_id = cpu_to_le32(grp_info->fw_stats_ctx);
5605 req.queue_id = cpu_to_le16(ring->queue_id);
5609 req.ring_type = RING_ALLOC_REQ_RING_TYPE_RX;
5610 req.length = cpu_to_le32(bp->rx_ring_mask + 1);
5616 req.rx_buf_size = cpu_to_le16(bp->rx_buf_use_size);
5617 req.stat_ctx_id = cpu_to_le32(grp_info->fw_stats_ctx);
5618 req.enables |= cpu_to_le32(
5622 req.flags = cpu_to_le16(flags);
5627 req.ring_type = RING_ALLOC_REQ_RING_TYPE_RX_AGG;
5630 req.rx_ring_id = cpu_to_le16(grp_info->rx_fw_ring_id);
5631 req.rx_buf_size = cpu_to_le16(BNXT_RX_PAGE_SIZE);
5632 req.stat_ctx_id = cpu_to_le32(grp_info->fw_stats_ctx);
5633 req.enables |= cpu_to_le32(
5637 req.ring_type = RING_ALLOC_REQ_RING_TYPE_RX;
5639 req.length = cpu_to_le32(bp->rx_agg_ring_mask + 1);
5642 req.ring_type = RING_ALLOC_REQ_RING_TYPE_L2_CMPL;
5643 req.length = cpu_to_le32(bp->cp_ring_mask + 1);
5647 req.nq_ring_id = cpu_to_le16(grp_info->cp_fw_ring_id);
5648 req.cq_handle = cpu_to_le64(ring->handle);
5649 req.enables |= cpu_to_le32(
5652 req.int_mode = RING_ALLOC_REQ_INT_MODE_MSIX;
5656 req.ring_type = RING_ALLOC_REQ_RING_TYPE_NQ;
5657 req.length = cpu_to_le32(bp->cp_ring_mask + 1);
5659 req.int_mode = RING_ALLOC_REQ_INT_MODE_MSIX;
5668 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5687 struct hwrm_func_cfg_input req = {0};
5689 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_CFG, -1, -1);
5690 req.fid = cpu_to_le16(0xffff);
5691 req.enables = cpu_to_le32(FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR);
5692 req.async_event_cr = cpu_to_le16(idx);
5693 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5695 struct hwrm_func_vf_cfg_input req = {0};
5697 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_VF_CFG, -1, -1);
5698 req.enables =
5700 req.async_event_cr = cpu_to_le16(idx);
5701 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
5875 struct hwrm_ring_free_input req = {0};
5882 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_FREE, cmpl_ring_id, -1);
5883 req.ring_type = ring_type;
5884 req.ring_id = cpu_to_le16(ring->fw_ring_id);
5887 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6007 struct hwrm_func_qcfg_input req = {0};
6013 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_QCFG, -1, -1);
6014 req.fid = cpu_to_le16(0xffff);
6016 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6060 struct hwrm_func_qcfg_input req = {0};
6066 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_QCFG, -1, -1);
6067 req.fid = cpu_to_le16(fid);
6068 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6078 __bnxt_hwrm_reserve_pf_rings(struct bnxt *bp, struct hwrm_func_cfg_input *req,
6084 bnxt_hwrm_cmd_hdr_init(bp, req, HWRM_FUNC_CFG, -1, -1);
6085 req->fid = cpu_to_le16(0xffff);
6087 req->num_tx_rings = cpu_to_le16(tx_rings);
6106 req->num_rx_rings = cpu_to_le16(rx_rings);
6108 req->num_cmpl_rings = cpu_to_le16(tx_rings + ring_grps);
6109 req->num_msix = cpu_to_le16(cp_rings);
6110 req->num_rsscos_ctxs =
6113 req->num_cmpl_rings = cpu_to_le16(cp_rings);
6114 req->num_hw_ring_grps = cpu_to_le16(ring_grps);
6115 req->num_rsscos_ctxs = cpu_to_le16(1);
6118 req->num_rsscos_ctxs =
6121 req->num_stat_ctxs = cpu_to_le16(stats);
6122 req->num_vnics = cpu_to_le16(vnics);
6124 req->enables = cpu_to_le32(enables);
6129 struct hwrm_func_vf_cfg_input *req, int tx_rings,
6135 bnxt_hwrm_cmd_hdr_init(bp, req, HWRM_FUNC_VF_CFG, -1, -1);
6152 req->num_l2_ctxs = cpu_to_le16(BNXT_VF_MAX_L2_CTX);
6153 req->num_tx_rings = cpu_to_le16(tx_rings);
6154 req->num_rx_rings = cpu_to_le16(rx_rings);
6156 req->num_cmpl_rings = cpu_to_le16(tx_rings + ring_grps);
6157 req->num_rsscos_ctxs = cpu_to_le16(DIV_ROUND_UP(ring_grps, 64));
6159 req->num_cmpl_rings = cpu_to_le16(cp_rings);
6160 req->num_hw_ring_grps = cpu_to_le16(ring_grps);
6161 req->num_rsscos_ctxs = cpu_to_le16(BNXT_VF_MAX_RSS_CTX);
6163 req->num_stat_ctxs = cpu_to_le16(stats);
6164 req->num_vnics = cpu_to_le16(vnics);
6166 req->enables = cpu_to_le32(enables);
6173 struct hwrm_func_cfg_input req = {0};
6176 __bnxt_hwrm_reserve_pf_rings(bp, &req, tx_rings, rx_rings, ring_grps,
6178 if (!req.enables)
6181 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6195 struct hwrm_func_vf_cfg_input req = {0};
6203 __bnxt_hwrm_reserve_vf_rings(bp, &req, tx_rings, rx_rings, ring_grps,
6205 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6406 struct hwrm_func_vf_cfg_input req = {0};
6412 __bnxt_hwrm_reserve_vf_rings(bp, &req, tx_rings, rx_rings, ring_grps,
6423 req.flags = cpu_to_le32(flags);
6424 return hwrm_send_message_silent(bp, &req, sizeof(req),
6432 struct hwrm_func_cfg_input req = {0};
6435 __bnxt_hwrm_reserve_pf_rings(bp, &req, tx_rings, rx_rings, ring_grps,
6450 req.flags = cpu_to_le32(flags);
6451 return hwrm_send_message_silent(bp, &req, sizeof(req),
6475 struct hwrm_ring_aggint_qcaps_input req = {0};
6491 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_AGGINT_QCAPS, -1, -1);
6493 rc = _hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6525 struct hwrm_ring_cmpl_ring_cfg_aggint_params_input *req)
6537 req->num_cmpl_aggr_int = cpu_to_le16(val);
6540 req->num_cmpl_dma_aggr = cpu_to_le16(val);
6544 req->num_cmpl_dma_aggr_during_int = cpu_to_le16(val);
6548 req->int_lat_tmr_max = cpu_to_le16(tmr);
6554 req->int_lat_tmr_min = cpu_to_le16(val);
6555 req->enables |= cpu_to_le16(BNXT_COAL_CMPL_MIN_TMR_ENABLE);
6560 req->cmpl_aggr_dma_tmr = cpu_to_le16(val);
6567 req->cmpl_aggr_dma_tmr_during_int = cpu_to_le16(val);
6568 req->enables |=
6577 req->flags = cpu_to_le16(flags);
6578 req->enables |= cpu_to_le16(BNXT_COAL_CMPL_ENABLES);
6585 struct hwrm_ring_cmpl_ring_cfg_aggint_params_input req = {0};
6594 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS,
6596 req.ring_id = cpu_to_le16(cpr->cp_ring_struct.fw_ring_id);
6597 req.flags =
6602 req.int_lat_tmr_min = cpu_to_le16(tmr);
6603 req.enables |= cpu_to_le16(BNXT_COAL_CMPL_MIN_TMR_ENABLE);
6604 return _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6639 req_tx = {0}, *req;
6655 req = &req_rx;
6658 req = &req_tx;
6662 req->ring_id = cpu_to_le16(ring_id);
6664 rc = _hwrm_send_message(bp, req, sizeof(*req),
6673 req = &req_tx;
6675 req->ring_id = cpu_to_le16(ring_id);
6676 rc = _hwrm_send_message(bp, req, sizeof(*req),
6694 struct hwrm_stat_ctx_free_input req = {0};
6704 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_STAT_CTX_FREE, -1, -1);
6712 req.stat_ctx_id = cpu_to_le32(cpr->hw_stats_ctx_id);
6714 req0.stat_ctx_id = req.stat_ctx_id;
6718 _hwrm_send_message(bp, &req, sizeof(req),
6730 struct hwrm_stat_ctx_alloc_input req = {0};
6736 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_STAT_CTX_ALLOC, -1, -1);
6738 req.stats_dma_length = cpu_to_le16(bp->hw_ring_stats_size);
6739 req.update_period_ms = cpu_to_le32(bp->stats_coal_ticks / 1000);
6746 req.stats_dma_addr = cpu_to_le64(cpr->stats.hw_stats_map);
6748 rc = _hwrm_send_message(bp, &req, sizeof(req),
6763 struct hwrm_func_qcfg_input req = {0};
6769 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_QCFG, -1, -1);
6770 req.fid = cpu_to_le16(0xffff);
6772 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6838 struct hwrm_func_backing_store_qcaps_input req = {0};
6846 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_BACKING_STORE_QCAPS, -1, -1);
6848 rc = _hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
6939 struct hwrm_func_backing_store_cfg_input req = {0};
6952 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_BACKING_STORE_CFG, -1, -1);
6953 req.enables = cpu_to_le32(enables);
6957 req.qp_num_entries = cpu_to_le32(ctx_pg->entries);
6958 req.qp_num_qp1_entries = cpu_to_le16(ctx->qp_min_qp1_entries);
6959 req.qp_num_l2_entries = cpu_to_le16(ctx->qp_max_l2_entries);
6960 req.qp_entry_size = cpu_to_le16(ctx->qp_entry_size);
6962 &req.qpc_pg_size_qpc_lvl,
6963 &req.qpc_page_dir);
6967 req.srq_num_entries = cpu_to_le32(ctx_pg->entries);
6968 req.srq_num_l2_entries = cpu_to_le16(ctx->srq_max_l2_entries);
6969 req.srq_entry_size = cpu_to_le16(ctx->srq_entry_size);
6971 &req.srq_pg_size_srq_lvl,
6972 &req.srq_page_dir);
6976 req.cq_num_entries = cpu_to_le32(ctx_pg->entries);
6977 req.cq_num_l2_entries = cpu_to_le16(ctx->cq_max_l2_entries);
6978 req.cq_entry_size = cpu_to_le16(ctx->cq_entry_size);
6979 bnxt_hwrm_set_pg_attr(&ctx_pg->ring_mem, &req.cq_pg_size_cq_lvl,
6980 &req.cq_page_dir);
6984 req.vnic_num_vnic_entries =
6986 req.vnic_num_ring_table_entries =
6988 req.vnic_entry_size = cpu_to_le16(ctx->vnic_entry_size);
6990 &req.vnic_pg_size_vnic_lvl,
6991 &req.vnic_page_dir);
6995 req.stat_num_entries = cpu_to_le32(ctx->stat_max_entries);
6996 req.stat_entry_size = cpu_to_le16(ctx->stat_entry_size);
6998 &req.stat_pg_size_stat_lvl,
6999 &req.stat_page_dir);
7003 req.mrav_num_entries = cpu_to_le32(ctx_pg->entries);
7007 req.mrav_entry_size = cpu_to_le16(ctx->mrav_entry_size);
7009 &req.mrav_pg_size_mrav_lvl,
7010 &req.mrav_page_dir);
7014 req.tim_num_entries = cpu_to_le32(ctx_pg->entries);
7015 req.tim_entry_size = cpu_to_le16(ctx->tim_entry_size);
7017 &req.tim_pg_size_tim_lvl,
7018 &req.tim_page_dir);
7020 for (i = 0, num_entries = &req.tqm_sp_num_entries,
7021 pg_attr = &req.tqm_sp_pg_size_tqm_sp_lvl,
7022 pg_dir = &req.tqm_sp_page_dir,
7029 req.tqm_entry_size = cpu_to_le16(ctx->tqm_entry_size);
7034 req.flags = cpu_to_le32(flags);
7035 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7294 struct hwrm_func_resource_qcaps_input req = {0};
7298 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_RESOURCE_QCAPS, -1, -1);
7299 req.fid = cpu_to_le16(0xffff);
7302 rc = _hwrm_send_message_silent(bp, &req, sizeof(req),
7351 struct hwrm_func_qcaps_input req = {0};
7356 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_QCAPS, -1, -1);
7357 req.fid = cpu_to_le16(0xffff);
7360 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7460 struct hwrm_cfa_adv_flow_mgnt_qcaps_input req = {0};
7469 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_ADV_FLOW_MGNT_QCAPS, -1, -1);
7472 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7586 struct hwrm_error_recovery_qcfg_input req = {0};
7592 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_ERROR_RECOVERY_QCFG, -1, -1);
7594 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7646 struct hwrm_func_reset_input req = {0};
7648 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_RESET, -1, -1);
7649 req.enables = 0;
7651 return hwrm_send_message(bp, &req, sizeof(req), HWRM_RESET_TIMEOUT);
7667 struct hwrm_queue_qportcfg_input req = {0};
7672 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_QUEUE_QPORTCFG, -1, -1);
7675 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7715 struct hwrm_ver_get_input req = {0};
7718 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_VER_GET, -1, -1);
7719 req.hwrm_intf_maj = HWRM_VERSION_MAJOR;
7720 req.hwrm_intf_min = HWRM_VERSION_MINOR;
7721 req.hwrm_intf_upd = HWRM_VERSION_UPDATE;
7723 rc = bnxt_hwrm_do_send_msg(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT,
7835 struct hwrm_fw_set_time_input req = {0};
7844 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FW_SET_TIME, -1, -1);
7845 req.year = cpu_to_le16(1900 + tm.tm_year);
7846 req.month = 1 + tm.tm_mon;
7847 req.day = tm.tm_mday;
7848 req.hour = tm.tm_hour;
7849 req.minute = tm.tm_min;
7850 req.second = tm.tm_sec;
7851 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7940 struct hwrm_port_qstats_input req = {0};
7948 req.flags = flags;
7949 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_QSTATS, -1, -1);
7950 req.port_id = cpu_to_le16(pf->port_id);
7951 req.tx_stat_host_addr = cpu_to_le64(bp->port_stats.hw_stats_map +
7953 req.rx_stat_host_addr = cpu_to_le64(bp->port_stats.hw_stats_map);
7954 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
7961 struct hwrm_port_qstats_ext_input req = {0};
7972 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_QSTATS_EXT, -1, -1);
7973 req.flags = flags;
7974 req.port_id = cpu_to_le16(pf->port_id);
7975 req.rx_stat_size = cpu_to_le16(sizeof(struct rx_port_stats_ext));
7976 req.rx_stat_host_addr = cpu_to_le64(bp->rx_port_stats_ext.hw_stats_map);
7979 req.tx_stat_size = cpu_to_le16(tx_stat_size);
7980 req.tx_stat_host_addr = cpu_to_le64(bp->tx_port_stats_ext.hw_stats_map);
7982 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
8105 struct hwrm_func_cfg_input req = {0};
8107 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_CFG, -1, -1);
8108 req.fid = cpu_to_le16(0xffff);
8109 req.enables = cpu_to_le32(FUNC_CFG_REQ_ENABLES_EVB_MODE);
8111 req.evb_mode = FUNC_CFG_REQ_EVB_MODE_VEB;
8113 req.evb_mode = FUNC_CFG_REQ_EVB_MODE_VEPA;
8116 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
8121 struct hwrm_func_cfg_input req = {0};
8126 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_CFG, -1, -1);
8127 req.fid = cpu_to_le16(0xffff);
8128 req.enables = cpu_to_le32(FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE);
8129 req.options = FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_64;
8131 req.options = FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_128;
8133 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9071 struct hwrm_port_phy_qcaps_input req = {0};
9082 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_QCAPS, -1, -1);
9085 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9152 struct hwrm_port_phy_qcfg_input req = {0};
9157 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_QCFG, -1, -1);
9160 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9308 bnxt_hwrm_set_pause_common(struct bnxt *bp, struct hwrm_port_phy_cfg_input *req)
9312 req->auto_pause =
9315 req->auto_pause |= PORT_PHY_CFG_REQ_AUTO_PAUSE_RX;
9317 req->auto_pause |= PORT_PHY_CFG_REQ_AUTO_PAUSE_TX;
9318 req->enables |=
9322 req->force_pause |= PORT_PHY_CFG_REQ_FORCE_PAUSE_RX;
9324 req->force_pause |= PORT_PHY_CFG_REQ_FORCE_PAUSE_TX;
9325 req->enables |=
9328 req->auto_pause = req->force_pause;
9329 req->enables |= cpu_to_le32(
9335 static void bnxt_hwrm_set_link_common(struct bnxt *bp, struct hwrm_port_phy_cfg_input *req)
9338 req->auto_mode |= PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK;
9340 req->enables |= cpu_to_le32(PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK);
9341 req->auto_link_speed_mask = cpu_to_le16(bp->link_info.advertising);
9344 req->enables |=
9346 req->auto_link_pam4_speed_mask =
9349 req->enables |= cpu_to_le32(PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE);
9350 req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG);
9352 req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_FORCE);
9354 req->force_pam4_link_speed = cpu_to_le16(bp->link_info.req_link_speed);
9355 req->enables |= cpu_to_le32(PORT_PHY_CFG_REQ_ENABLES_FORCE_PAM4_LINK_SPEED);
9357 req->force_link_speed = cpu_to_le16(bp->link_info.req_link_speed);
9362 req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_RESET_PHY);
9367 struct hwrm_port_phy_cfg_input req = {0};
9370 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_CFG, -1, -1);
9371 bnxt_hwrm_set_pause_common(bp, &req);
9375 bnxt_hwrm_set_link_common(bp, &req);
9378 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9396 struct hwrm_port_phy_cfg_input *req)
9409 req->flags |= cpu_to_le32(flags);
9411 req->eee_link_speed_mask = cpu_to_le16(eee_speeds);
9412 req->tx_lpi_timer = cpu_to_le32(eee->tx_lpi_timer);
9414 req->flags |= cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE);
9420 struct hwrm_port_phy_cfg_input req = {0};
9422 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_CFG, -1, -1);
9424 bnxt_hwrm_set_pause_common(bp, &req);
9426 bnxt_hwrm_set_link_common(bp, &req);
9429 bnxt_hwrm_set_eee(bp, &req);
9430 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9435 struct hwrm_port_phy_cfg_input req = {0};
9443 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_CFG, -1, -1);
9444 req.flags = cpu_to_le32(PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DWN);
9445 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9453 struct hwrm_func_drv_if_change_input req = {0};
9462 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_DRV_IF_CHANGE, -1, -1);
9464 req.flags = cpu_to_le32(FUNC_DRV_IF_CHANGE_REQ_FLAGS_UP);
9466 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9530 struct hwrm_port_led_qcaps_input req = {0};
9538 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_LED_QCAPS, -1, -1);
9539 req.port_id = cpu_to_le16(pf->port_id);
9541 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9569 struct hwrm_wol_filter_alloc_input req = {0};
9573 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_WOL_FILTER_ALLOC, -1, -1);
9574 req.port_id = cpu_to_le16(bp->pf.port_id);
9575 req.wol_type = WOL_FILTER_ALLOC_REQ_WOL_TYPE_MAGICPKT;
9576 req.enables = cpu_to_le32(WOL_FILTER_ALLOC_REQ_ENABLES_MAC_ADDRESS);
9577 memcpy(req.mac_address, bp->dev->dev_addr, ETH_ALEN);
9579 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9588 struct hwrm_wol_filter_free_input req = {0};
9590 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_WOL_FILTER_FREE, -1, -1);
9591 req.port_id = cpu_to_le16(bp->pf.port_id);
9592 req.enables = cpu_to_le32(WOL_FILTER_FREE_REQ_ENABLES_WOL_FILTER_ID);
9593 req.wol_filter_id = bp->wol_filter_id;
9594 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9599 struct hwrm_wol_filter_qcfg_input req = {0};
9604 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_WOL_FILTER_QCFG, -1, -1);
9605 req.port_id = cpu_to_le16(bp->pf.port_id);
9606 req.handle = cpu_to_le16(handle);
9608 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9640 struct hwrm_temp_monitor_query_input req = {0};
9647 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TEMP_MONITOR_QUERY, -1, -1);
9649 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
9675 struct hwrm_temp_monitor_query_input req = {0};
9679 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_TEMP_MONITOR_QUERY, -1, -1);
9680 rc = hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
10087 struct hwrm_port_phy_mdio_read_input req = {0};
10093 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_MDIO_READ, -1, -1);
10094 req.port_id = cpu_to_le16(bp->pf.port_id);
10095 req.phy_addr = phy_addr;
10096 req.reg_addr = cpu_to_le16(reg & 0x1f);
10098 req.cl45_mdio = 1;
10099 req.phy_addr = mdio_phy_id_prtad(phy_addr);
10100 req.dev_addr = mdio_phy_id_devad(phy_addr);
10101 req.reg_addr = cpu_to_le16(reg);
10105 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
10115 struct hwrm_port_phy_mdio_write_input req = {0};
10120 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_MDIO_WRITE, -1, -1);
10121 req.port_id = cpu_to_le16(bp->pf.port_id);
10122 req.phy_addr = phy_addr;
10123 req.reg_addr = cpu_to_le16(reg & 0x1f);
10125 req.cl45_mdio = 1;
10126 req.phy_addr = mdio_phy_id_prtad(phy_addr);
10127 req.dev_addr = mdio_phy_id_devad(phy_addr);
10128 req.reg_addr = cpu_to_le16(reg);
10130 req.reg_data = cpu_to_le16(val);
10132 return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
10376 struct hwrm_cfa_l2_filter_free_input req = {0};
10378 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_L2_FILTER_FREE, -1,
10381 req.l2_filter_id = vnic->fw_l2_filter_id[i];
10383 rc = _hwrm_send_message(bp, &req, sizeof(req),
10614 struct hwrm_dbg_read_direct_input req = {0};
10623 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_DBG_READ_DIRECT, -1, -1);
10624 req.host_dest_addr = cpu_to_le64(mapping);
10625 req.read_addr = cpu_to_le32(reg_off + CHIMP_REG_VIEW_ADDR);
10626 req.read_len32 = cpu_to_le32(num_words);
10628 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
10646 struct hwrm_dbg_ring_info_get_input req = {0};
10649 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_DBG_RING_INFO_GET, -1, -1);
10650 req.ring_type = ring_type;
10651 req.fw_ring_id = cpu_to_le32(ring_id);
10653 rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
10716 struct hwrm_ring_reset_input req = {0};
10723 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_RING_RESET, cp_ring_id, -1);
10724 req.ring_type = RING_RESET_REQ_RING_TYPE_RX_RING_GRP;
10725 req.ring_id = cpu_to_le16(bp->grp_info[bnapi->index].fw_grp_id);
10726 return hwrm_send_message_silent(bp, &req, sizeof(req),
11544 struct hwrm_fw_reset_input req = {0};
11546 bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FW_RESET, -1, -1);
11547 req.resp_addr = cpu_to_le64(bp->hwrm_cmd_kong_resp_dma_addr);
11548 req.embedded_proc_type = FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP;
11549 req.selfrst_status = FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP;
11550 req.flags = FW_RESET_REQ_FLAGS_RESET_GRACEFUL;
11551 rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);