sb_idx
u32_t sb_idx;
for(sb_idx = 0; sb_idx < 9; sb_idx++)
val = PCICFG_INT_ACK_CMD_MASK_INT | (sb_idx << 24);
u8_t sb_idx
#define MM_ACQUIRE_SB_LOCK(/* struct _lm_device_t* */pdev, /* u8_t */sb_idx) MM_ACQUIRE_SB_LOCK_IMP(pdev, sb_idx)
#define MM_RELEASE_SB_LOCK(/* struct _lm_device_t* */pdev, /* u8_t */sb_idx) MM_RELEASE_SB_LOCK_IMP(pdev, sb_idx)
#define MM_ACQUIRE_SB_LOCK_IMP(pdev, sb_idx) LOCK()
#define MM_RELEASE_SB_LOCK_IMP(pdev, sb_idx) UNLOCK()
void MM_ACQUIRE_SB_LOCK_IMP(struct _lm_device_t * pDev, u8_t sb_idx);
void MM_RELEASE_SB_LOCK_IMP(struct _lm_device_t * pDev, u8_t sb_idx);
#define MM_ACQUIRE_SB_LOCK_IMP(pdev, sb_idx) LOCK()
#define MM_RELEASE_SB_LOCK_IMP(pdev, sb_idx) UNLOCK()
#define MM_ACQUIRE_SB_LOCK_IMP(pdev, sb_idx) \
#define MM_RELEASE_SB_LOCK_IMP(pdev, sb_idx) \
lm_status_t lm_pf_init_vf_non_def_sb(struct _lm_device_t *pdev, lm_vf_info_t *vf_info, u8_t sb_idx, u64 sb_addr)
const u8_t fw_sb_id = LM_FW_VF_SB_ID(vf_info, sb_idx);
const u8_t dhc_qzone_id = LM_FW_VF_DHC_QZONE_ID(vf_info, sb_idx);
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.host_sb_addr.lo = sb_phy_address.as_u32.low;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.host_sb_addr.hi = sb_phy_address.as_u32.high;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.p_func.pf_id = FUNC_ID(pdev);
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.p_func.vf_id = vf_info->abs_vf_id;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.p_func.vf_valid = TRUE;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.p_func.vnic_id = VNIC_ID(pdev);
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.same_igu_sb_1b = TRUE;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.same_igu_sb_1b = FALSE;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.dhc_qzone_id = dhc_qzone_id;
pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data.common.state = SB_ENABLED;
igu_sb_id = LM_VF_IGU_SB_ID(vf_info,sb_idx);
lm_setup_ndsb_state_machine(pdev, LM_SW_VF_SB_ID(vf_info,sb_idx), SM_RX_ID, igu_sb_id + IGU_U_NDSB_OFFSET(pdev), igu_seg_id);
lm_setup_ndsb_state_machine(pdev, LM_SW_VF_SB_ID(vf_info,sb_idx), SM_TX_ID, igu_sb_id,igu_seg_id);
lm_setup_ndsb_index(pdev, LM_SW_VF_SB_ID(vf_info,sb_idx), index, sm_idx, timeout, dhc_enable);
*((u32_t*)(&pdev->vars.status_blocks_arr[LM_SW_VF_SB_ID(vf_info,sb_idx)].hc_status_block_data.e2_sb_data) + index), BAR_CSTRORM_INTMEM);
static __inline u16_t volatile * lm_get_sb_running_indexes(lm_device_t *pdev, u8_t sb_idx)
running_indexes_ptr = &pdev->vars.status_blocks_arr[sb_idx].host_hc_status_block.e1x_sb->sb.running_index[0];
running_indexes_ptr = &pdev->vars.status_blocks_arr[sb_idx].host_hc_status_block.e2_sb->sb.running_index[0];
static __inline u16_t volatile * lm_get_sb_indexes(lm_device_t *pdev, u8_t sb_idx)
return pdev->vars.status_blocks_arr[sb_idx].host_hc_status_block.vf_sb;
indexes_ptr = &pdev->vars.status_blocks_arr[sb_idx].host_hc_status_block.e1x_sb->sb.index_values[0];
indexes_ptr = &pdev->vars.status_blocks_arr[sb_idx].host_hc_status_block.e2_sb->sb.index_values[0];
IN u8_t sb_idx,
u8_t sb_idx
pdev->toe_info.grqs[sb_idx].gen_bufs_in_isles_delta -= (s32_t)d_list_entry_cnt(&gen_buf_list);
pdev->toe_info.grqs[sb_idx].number_of_isles_delta--;
isle_nbytes = _lm_tcp_isle_remove(pdev, tcp, sb_idx, isle_num + 1, &gen_buf_list);
pdev->toe_info.grqs[sb_idx].number_of_isles_delta--;
static __inline lm_tcp_gen_buf_t * lm_tcp_rx_next_grq_buf(lm_device_t * pdev, u8_t sb_idx)
MM_ACQUIRE_TOE_GRQ_LOCK_DPC(pdev, sb_idx);
gen_buf = (lm_tcp_gen_buf_t *)d_list_pop_head(&pdev->toe_info.grqs[sb_idx].active_gen_list);
lm_bd_chain_bds_consumed(&pdev->toe_info.grqs[sb_idx].bd_chain, 1);
MM_RELEASE_TOE_GRQ_LOCK_DPC(pdev, sb_idx);
u8_t sb_idx)
lm_tcp_rx_next_grq_buf(pdev, sb_idx));
lm_tcp_rx_next_grq_buf(pdev, sb_idx), sb_idx, isle_num);
lm_tcp_rx_next_grq_buf(pdev, sb_idx), sb_idx, isle_num);
NULL, sb_idx, isle_num);
lm_tcp_rx_next_grq_buf(pdev, sb_idx), sb_idx, isle_num);
lm_tcp_rx_gen_isle_right_process(pdev, tcp, nbytes, NULL, sb_idx, isle_num);
lm_tcp_rx_gen_join_process(pdev, tcp, sb_idx, isle_num);
lm_tcp_rx_skp_process(pdev, tcp, nbytes, sb_idx);
lm_tcp_rx_delete_isle(pdev, tcp, sb_idx, isle_num, nbytes);
lm_tcp_rx_skp_process(pdev, tcp, tcp->rx_con->u.rx.gen_info.dpc_peninsula_nbytes+tcp->rx_con->u.rx.skp_bytes_copied, sb_idx);
u32_t lm_tcp_rx_peninsula_to_rq(lm_device_t * pdev, lm_tcp_state_t * tcp, u32_t max_num_bytes_to_copy, u8_t sb_idx);
u8_t sb_idx
rx_con->u.rx.gen_info.bytes_copied_cnt_in_process += lm_tcp_rx_peninsula_to_rq(pdev, tcp, bytes_skipped,sb_idx);
u8_t sb_idx,
isle_nbytes = _lm_tcp_isle_remove(pdev, tcp, sb_idx, num_isle + (num_of_isles - 1), &removed_list);
pdev->toe_info.grqs[sb_idx].number_of_isles_delta--;
pdev->toe_info.grqs[sb_idx].gen_bufs_in_isles_delta -= (s32_t)d_list_entry_cnt(&removed_list);
lm_tcp_return_list_of_gen_bufs(pdev,tcp ,&removed_list, MM_TCP_RGB_COLLECT_GEN_BUFS, sb_idx);
u32_t lm_tcp_rx_peninsula_to_rq(lm_device_t * pdev, lm_tcp_state_t * tcp, u32_t max_num_bytes_to_copy, u8_t sb_idx)
(sb_idx != NON_EXISTENT_SB_IDX) ? MM_TCP_RGB_COLLECT_GEN_BUFS : 0, sb_idx);
void lm_tcp_rx_gen_isle_create(lm_device_t * pdev, lm_tcp_state_t * tcp, lm_tcp_gen_buf_t * gen_buf, u8_t sb_idx, u8_t isle_num)
current_isle = _lm_tcp_isle_get_free_list(pdev, sb_idx);
pdev->toe_info.grqs[sb_idx].number_of_isles_delta++;
void lm_tcp_rx_gen_isle_right_process(lm_device_t * pdev, lm_tcp_state_t * tcp, u32_t nbytes, lm_tcp_gen_buf_t * gen_buf, u8_t sb_idx, u8_t isle_num)
pdev->toe_info.grqs[sb_idx].gen_bufs_in_isles_delta++;
void lm_tcp_rx_gen_isle_left_process(lm_device_t * pdev, lm_tcp_state_t * tcp, u32_t nbytes, lm_tcp_gen_buf_t * gen_buf, u8_t sb_idx, u8_t isle_num)
pdev->toe_info.grqs[sb_idx].gen_bufs_in_isles_delta++;
void lm_tcp_rx_gen_join_process(lm_device_t * pdev, lm_tcp_state_t * tcp, u8_t sb_idx, u8_t isle_num)
isle_nbytes = _lm_tcp_isle_remove(pdev, tcp, sb_idx, 1, &gen_buf_list);
u8_t lm_tcp_rx_fill_grq(struct _lm_device_t * pdev, u8_t sb_idx, d_list_t * bypass_gen_pool_list, u8_t filling_mode)
grq = &toe_info->grqs[sb_idx];
mm_tcp_get_gen_bufs(pdev, &tmp_gen_buf_list, num_required_buffs, sb_idx);
u8_t lm_tcp_rx_fill_grq(struct _lm_device_t * pdev, u8_t sb_idx, d_list_t * bypass_gen_pool_list, u8_t filling_mode);
IN u8_t sb_idx
IN u8_t sb_idx);
IN u8_t sb_idx
IN u8_t sb_idx
u8_t lm_sc_is_eq_completion(lm_device_t *pdev, u8_t sb_idx)
DbgBreakIf(!(pdev && ARRSIZE(pdev->iscsi_info.run_time.eq_chain) > sb_idx));
eq = &LM_SC_EQ(pdev, sb_idx);
lm_fc_is_eq_completion(lm_device_t *pdev, u8_t sb_idx)
DbgBreakIf(!(pdev && ARRSIZE(pdev->fcoe_info.run_time.eq_chain) > sb_idx));
eq = &LM_FC_EQ(pdev, sb_idx);
IN u8_t sb_idx)
if (CHK_NULL(pdev) || (ARRSIZE(pdev->iscsi_info.run_time.eq_chain) <= sb_idx))
DbgBreakIf(ARRSIZE(pdev->iscsi_info.run_time.eq_chain) <= sb_idx);
eq_chain = &LM_SC_EQ(pdev, sb_idx);
eq_num = sb_idx - pdev->iscsi_info.run_time.l5_eq_base_chain_idx;
lm_fc_service_eq_intr(lm_device_t *pdev, u8_t sb_idx)
if (CHK_NULL(pdev) || (ARRSIZE(pdev->fcoe_info.run_time.eq_chain) <= sb_idx))
DbgBreakIf(ARRSIZE(pdev->fcoe_info.run_time.eq_chain) <= sb_idx);
eq_chain = &LM_FC_EQ(pdev, sb_idx);
u8_t sb_idx = 0;
for (sb_idx = 0; sb_idx < vf_info->num_sbs; sb_idx++) {
lm_pf_init_vf_non_def_sb(pdev, vf_info, sb_idx, request->sb_addr[sb_idx]);
u8_t sb_idx;
for (sb_idx = 0; sb_idx < vf_info->num_sbs; sb_idx++) {
lm_clear_non_def_status_block(pdev, LM_FW_VF_SB_ID(vf_info, sb_idx));
u8_t sb_idx;
for (sb_idx = 0; sb_idx < vf_info->num_sbs; sb_idx++) {
lm_clear_non_def_status_block(pdev, LM_FW_VF_SB_ID(vf_info, sb_idx));
lm_status_t lm_pf_init_vf_non_def_sb(struct _lm_device_t *pdev, lm_vf_info_t *vf_info, u8_t sb_idx, u64 sb_addr);
void MM_ACQUIRE_SB_LOCK_IMP(lm_device_t * pDev, u8_t sb_idx)
BNXE_LOCK_ENTER_SB((um_device_t *)pDev, sb_idx);
void MM_RELEASE_SB_LOCK_IMP(lm_device_t * pDev, u8_t sb_idx)
BNXE_LOCK_EXIT_SB((um_device_t *)pDev, sb_idx);
u8_t sb_idx
u8 *sb_idx,
*sb_idx = pi;
p_ramrod->sb_index = p_cid->sb_idx;
p_cid->sb_idx = p_params->sb_idx;
p_cid->sb_igu_id, p_cid->sb_idx);
p_ramrod->sb_index = p_cid->sb_idx;
u8 sb_idx;
u8 sb_idx;
params.sb_idx = RX_PI;
params.sb_idx = TX_PI(j);