Lines Matching refs:pending

1041     // check that we are not in the middle of handling another encapsulated packets offload set request (1 pending)
1626 * if it's on execute the vlan pending command
2853 /* Clear pending state for the last command */
2858 /* If there are pending mcast commands - send them */
2869 DbgMessage(pdev, FATAL, "Failed to send pending mcast commands: %d\n", lm_status);
2870 DbgBreakMsg("Unexpected pending mcast command failed\n");
2936 * check which object is pending, and clear the relevant one. */
3403 void lm_eq_comp_cb(struct _lm_device_t *pdev, struct sq_pending_command * pending)
3406 u32_t cid = pending->cid;
3407 u8_t cmd = pending->cmd;
3411 if ((pending->type & SPE_HDR_T_CONN_TYPE) == ETH_CONNECTION_TYPE) /* Some Ethernets complete on Eq. */
3448 else if ((pending->type & SPE_HDR_T_CONN_TYPE)== NONE_CONNECTION_TYPE)
3545 * function completes pending slow path requests instead of
3557 struct sq_pending_command * pending = NULL;
3569 /* We just peek and don't pop since completion of this pending request should contain removing
3571 pending = (struct sq_pending_command *)d_list_peek_head(&pdev->sq_info.pending_complete);
3573 /* Look for the first entry that is "pending" but not completion_called yet. */
3574 while (pending && GET_FLAGS(pending->flags, SQ_PEND_COMP_CALLED))
3576 pending = (struct sq_pending_command *)d_list_next_entry(&pending->list);
3579 /* Mark pending completion as "handled" so that we don't handle it again... */
3580 if (pending)
3582 SET_FLAGS(pending->flags, SQ_PEND_COMP_CALLED);
3587 if (pending)
3589 type = pending->type & SPE_HDR_T_CONN_TYPE;
3593 pdev->sq_info.sq_comp_cb[type](pdev, pending);
3597 DbgBreakMsg("unsupported pending sq: Not implemented yet\n");
3617 * We are done completing pending requests in pending_list. However, any
3743 struct sq_pending_command * pending = NULL;
3747 pending = (void*)d_list_pop_head(&pdev->sq_info.pending_normal);
3749 if(!pending)
3755 CMD_PRIORITY_NORMAL, pending->cmd, pending->type, pending->cid, pdev->sq_info.num_pending_normal);
3757 d_list_push_tail(&pdev->sq_info.pending_complete, &pending->list);
3759 _lm_sq_post(pdev,pending);
3768 pending = (void*)d_list_pop_head(&pdev->sq_info.pending_high);
3770 if(!pending)
3775 CMD_PRIORITY_HIGH, pending->cmd, pending->type, pending->cid, pdev->sq_info.num_pending_normal);
3777 d_list_push_tail(&pdev->sq_info.pending_complete, &pending->list);
3779 _lm_sq_post(pdev, pending);
3789 * Add the entry to the pending SP list.
3790 * Try to add entry's from the list to the sq_chain if possible.(there is are less then 8 ramrod commands pending)
3793 * @param pending - The pending list entry.
3794 * @param priority - (high or low) to witch list to insert the pending list entry.
3801 struct sq_pending_command * pending,
3823 if (((mm_le32_to_cpu(pending->command.hdr.conn_and_cmd_data) & SPE_HDR_T_CMD_ID)>>SPE_HDR_T_CMD_ID_SHIFT) != RAMROD_CMD_ID_COMMON_FUNCTION_STOP)
3832 d_list_push_tail(&pdev->sq_info.pending_normal, &pending->list);
3836 d_list_push_head(&pdev->sq_info.pending_normal, &pending->list);
3840 d_list_push_head(&pdev->sq_info.pending_high, &pending->list);
3857 /* New slowpath was posted in pending state... make sure to flush sq
3879 takes the sq pending list spinlock and adds the request
3882 MUST only have one request pending per CID (this is up to the caller to enforce)
3891 struct sq_pending_command *pending = NULL;
3897 pending = mm_get_sq_pending_command(pdev);
3898 if( !pending )
3904 lm_sq_post_fill_entry(pdev,pending,cid,command,type,data,TRUE);
3906 lm_status = lm_sq_post_entry(pdev,pending,priority);
3922 struct sq_pending_command *pending = NULL;
3951 pending = (void*)d_list_peek_head(&pdev->sq_info.pending_complete);
3955 DbgBreakIf(!pending); /* not expected, but will deal with it... just won't */
3960 while (pending)
3962 if (((pending->type & SPE_HDR_T_CONN_TYPE) == type) &&
3963 (pending->cmd == command) &&
3964 (pending->cid == cid))
3967 d_list_remove_entry(&pdev->sq_info.pending_complete, &pending->list);
3968 if(GET_FLAGS(pending->flags, SQ_PEND_RELEASE_MEM))
3970 mm_return_sq_pending_command(pdev, pending);
3974 pending = (void*)d_list_next_entry(&pending->list);
3980 pending = (void*)d_list_pop_head(&pdev->sq_info.pending_complete);
3981 if(CHK_NULL(pending))
3983 DbgBreakMsg("lm_sq_complete pending is NULL");
3987 if((GET_FLAGS(pending->flags, SQ_PEND_RELEASE_MEM)))
3989 mm_return_sq_pending_command(pdev, pending);
3994 DbgBreakIf(!pending); /* means none were found, assert but can deal with it... */
4001 * do any deffered posting pending on the sq, will take the list spinlock
4002 * will not block. Check sq state, if its pending (it means no hw...) call flush
4006 * @return lm_status_t SUCCESS: is no pending requests were sent. PENDING if a
4007 * if pending request was sent.
4026 /* New slowpath was posted in pending state... make sure to flush sq
4148 return; /*To prevent lm_sq_completion processing for non existing (not submited) pending item*/
4172 * "complete-pending-sq" flow
4176 void lm_eth_comp_cb(struct _lm_device_t *pdev, struct sq_pending_command * pending)
4181 cqe.conn_and_cmd_data = pending->command.hdr.conn_and_cmd_data;
4183 cqe.protocol_data.data_hi = pending->command.protocol_data.hi;
4184 cqe.protocol_data.data_lo = pending->command.protocol_data.lo;
4186 switch (pending->cmd)
4195 lm_eq_comp_cb(pdev, pending);