Lines Matching full:sequence

11  * Fibre Channel exchange and sequence handling.
40 * fc_exch holds state for one exchange and links to its active sequence.
42 * fc_seq holds the state for an individual sequence.
132 * to have one per CPU. The sequence manager is one per exchange manager
136 * assigned by the Sequence Initiator that shall be unique for a specific
137 * D_ID and S_ID pair while the Sequence is open." Note that it isn't
142 * The exchange and its sequence are freed when the last sequence is received.
154 * Sequence event handling:
162 * The sequence is marked complete.
165 * with exchange and sequence tuple.
167 * When we receive the next sequence on the same exchange, we can
168 * retire the previous sequence ID. (XXX not implemented).
170 * R_A_TOV frees the sequence ID. If we're waiting for ACK,
181 * Allocate sequence for first frame received.
186 * Deallocate sequence
190 * For now, we neglect conditions where only part of a sequence was
200 * sequence allocation and deallocation must be locked.
202 * - sequence allocation must be locked by exch lock.
486 * update sequence count if this frame is carrying in fc_seq_send_locked()
487 * multiple FC frames when sequence offload is enabled in fc_seq_send_locked()
505 * Update the exchange and sequence flags, in fc_seq_send_locked()
506 * assuming all frames for the sequence have been sent. in fc_seq_send_locked()
507 * We can only be called to send once for each sequence. in fc_seq_send_locked()
517 * fc_seq_send() - Send a frame using existing sequence/exchange pair
519 * @sp: The sequence to be sent
538 * fc_seq_alloc() - Allocate a sequence for a given exchange
539 * @ep: The exchange to allocate a new sequence for
540 * @seq_id: The sequence ID to be used
543 * By implication, any previously originated sequence on this exchange
544 * is complete, and we reallocate the same sequence.
558 * fc_seq_start_next_locked() - Allocate a new sequence on the same
559 * exchange as the supplied sequence
560 * @sp: The sequence/exchange to get a new sequence for
573 * fc_seq_start_next() - Lock the exchange and get a new sequence
574 * for a given sequence/exchange pair
575 * @sp: The sequence/exchange to get a new exchange for
590 * Set the response handler for the exchange associated with a sequence.
622 * Abort an exchange and sequence. Generally called because of a
649 * Send the abort on a new sequence if possible. in fc_exch_abort_locked()
660 * Send an abort for the sequence that timed out. in fc_exch_abort_locked()
675 * sequence active until next timeout. in fc_exch_abort_locked()
684 * fc_seq_exch_abort() - Abort an exchange and sequence
685 * @req_sp: The sequence to be aborted
708 * @sp: The sequence pointer to pass through to ->resp()
961 * fc_exch_done() - Indicate that an exchange/sequence tuple is complete and
963 * @sp: The sequence that has completed
1029 * fc_seq_lookup_recip() - Find a sequence where the other end
1030 * originated the sequence
1033 * @fp: The frame associated with the sequence we're looking for
1053 * Lookup or create the exchange if we will be creating the sequence. in fc_seq_lookup_recip()
1084 * new sequence - find the exchange in fc_seq_lookup_recip()
1109 * Find or create the sequence. in fc_seq_lookup_recip()
1122 * frame of sequence exchange. This is needed in fc_seq_lookup_recip()
1139 /* sequence/exch should exist */ in fc_seq_lookup_recip()
1161 * fc_seq_lookup_orig() - Find a sequence where this end
1162 * originated the sequence
1164 * @fp: The frame associated with the sequence we're looking for
1166 * Does not hold the sequence for the caller.
1203 * Note this must be done before the first sequence of the exchange is sent.
1220 * the existing sequence/exchange.
1250 * fc_seq_send_last() - Send a sequence that is the last in the exchange
1251 * @sp: The sequence that is to be sent
1252 * @fp: The frame that will be sent on the sequence
1270 * @sp: The sequence to send the ACK on
1302 * Last ACK uses bits 7-6 (continue sequence), in fc_seq_send_ack()
1381 * Last ACK uses bits 7-6 (continue sequence), in fc_exch_send_ba_rjt()
1466 * fc_seq_assign() - Assign exchange and sequence for incoming request
1470 * On success, the sequence pointer will be returned and also in fr_seq(@fp).
1471 * A reference will be held on the exchange/sequence for the caller, which
1492 * @sp: The sequence.
1507 * and the sequence.
1538 sp = fr_seq(fp); /* sequence will be held */ in fc_exch_recv_req()
1546 * The receive function may allocate a new sequence in fc_exch_recv_req()
1548 * sequence after this. in fc_exch_recv_req()
1566 * end is the originator of the sequence that is a
1636 * The sequence is held (has a refcnt) for us, in fc_exch_recv_seq_resp()
1639 * The receive function may allocate a new sequence in fc_exch_recv_seq_resp()
1641 * sequence after this. in fc_exch_recv_seq_resp()
1660 * fc_exch_recv_resp() - Handler for a sequence where other end is
1661 * responding to our sequence
1669 sp = fc_seq_lookup_orig(mp, fp); /* doesn't hold sequence */ in fc_exch_recv_resp()
1684 * This response would be to an ABTS cancelling an exchange or sequence.
1757 * fc_exch_recv_bls() - Handler for a BLS sequence
1761 * The BLS frame is always a sequence initiated by the remote side.
1783 * A response to a sequence we initiated. in fc_exch_recv_bls()
1823 * fc_seq_ls_acc() - Accept sequence with LS_ACC
1827 * originator will repeat the sequence.
1852 * fc_seq_ls_rjt() - Reject a sequence with ELS LS_RJT
1854 * @reason: The reason the sequence is being rejected
1858 * originator will repeat the sequence.
2095 * @sp: The sequence that the RRQ is on
2139 * fc_exch_seq_send() - Send a frame using a new exchange and sequence