Lines Matching full:sequence

11  * Fibre Channel exchange and sequence handling.
41 * fc_exch holds state for one exchange and links to its active sequence.
43 * fc_seq holds the state for an individual sequence.
133 * to have one per CPU. The sequence manager is one per exchange manager
137 * assigned by the Sequence Initiator that shall be unique for a specific
138 * D_ID and S_ID pair while the Sequence is open." Note that it isn't
143 * The exchange and its sequence are freed when the last sequence is received.
155 * Sequence event handling:
163 * The sequence is marked complete.
166 * with exchange and sequence tuple.
168 * When we receive the next sequence on the same exchange, we can
169 * retire the previous sequence ID. (XXX not implemented).
171 * R_A_TOV frees the sequence ID. If we're waiting for ACK,
182 * Allocate sequence for first frame received.
187 * Deallocate sequence
191 * For now, we neglect conditions where only part of a sequence was
201 * sequence allocation and deallocation must be locked.
203 * - sequence allocation must be locked by exch lock.
487 * update sequence count if this frame is carrying in fc_seq_send_locked()
488 * multiple FC frames when sequence offload is enabled in fc_seq_send_locked()
506 * Update the exchange and sequence flags, in fc_seq_send_locked()
507 * assuming all frames for the sequence have been sent. in fc_seq_send_locked()
508 * We can only be called to send once for each sequence. in fc_seq_send_locked()
518 * fc_seq_send() - Send a frame using existing sequence/exchange pair
520 * @sp: The sequence to be sent
539 * fc_seq_alloc() - Allocate a sequence for a given exchange
540 * @ep: The exchange to allocate a new sequence for
541 * @seq_id: The sequence ID to be used
544 * By implication, any previously originated sequence on this exchange
545 * is complete, and we reallocate the same sequence.
559 * fc_seq_start_next_locked() - Allocate a new sequence on the same
560 * exchange as the supplied sequence
561 * @sp: The sequence/exchange to get a new sequence for
574 * fc_seq_start_next() - Lock the exchange and get a new sequence
575 * for a given sequence/exchange pair
576 * @sp: The sequence/exchange to get a new exchange for
591 * Set the response handler for the exchange associated with a sequence.
623 * Abort an exchange and sequence. Generally called because of a
650 * Send the abort on a new sequence if possible. in fc_exch_abort_locked()
661 * Send an abort for the sequence that timed out. in fc_exch_abort_locked()
676 * sequence active until next timeout. in fc_exch_abort_locked()
685 * fc_seq_exch_abort() - Abort an exchange and sequence
686 * @req_sp: The sequence to be aborted
709 * @sp: The sequence pointer to pass through to ->resp()
963 * fc_exch_done() - Indicate that an exchange/sequence tuple is complete and
965 * @sp: The sequence that has completed
1031 * fc_seq_lookup_recip() - Find a sequence where the other end
1032 * originated the sequence
1035 * @fp: The frame associated with the sequence we're looking for
1055 * Lookup or create the exchange if we will be creating the sequence. in fc_seq_lookup_recip()
1086 * new sequence - find the exchange in fc_seq_lookup_recip()
1111 * Find or create the sequence. in fc_seq_lookup_recip()
1124 * frame of sequence exchange. This is needed in fc_seq_lookup_recip()
1141 /* sequence/exch should exist */ in fc_seq_lookup_recip()
1163 * fc_seq_lookup_orig() - Find a sequence where this end
1164 * originated the sequence
1166 * @fp: The frame associated with the sequence we're looking for
1168 * Does not hold the sequence for the caller.
1205 * Note this must be done before the first sequence of the exchange is sent.
1222 * the existing sequence/exchange.
1252 * fc_seq_send_last() - Send a sequence that is the last in the exchange
1253 * @sp: The sequence that is to be sent
1254 * @fp: The frame that will be sent on the sequence
1272 * @sp: The sequence to send the ACK on
1304 * Last ACK uses bits 7-6 (continue sequence), in fc_seq_send_ack()
1383 * Last ACK uses bits 7-6 (continue sequence), in fc_exch_send_ba_rjt()
1468 * fc_seq_assign() - Assign exchange and sequence for incoming request
1472 * On success, the sequence pointer will be returned and also in fr_seq(@fp).
1473 * A reference will be held on the exchange/sequence for the caller, which
1494 * @sp: The sequence.
1509 * and the sequence.
1540 sp = fr_seq(fp); /* sequence will be held */ in fc_exch_recv_req()
1548 * The receive function may allocate a new sequence in fc_exch_recv_req()
1550 * sequence after this. in fc_exch_recv_req()
1568 * end is the originator of the sequence that is a
1633 * The sequence is held (has a refcnt) for us, in fc_exch_recv_seq_resp()
1636 * The receive function may allocate a new sequence in fc_exch_recv_seq_resp()
1638 * sequence after this. in fc_exch_recv_seq_resp()
1656 * fc_exch_recv_resp() - Handler for a sequence where other end is
1657 * responding to our sequence
1665 sp = fc_seq_lookup_orig(mp, fp); /* doesn't hold sequence */ in fc_exch_recv_resp()
1680 * This response would be to an ABTS cancelling an exchange or sequence.
1752 * fc_exch_recv_bls() - Handler for a BLS sequence
1756 * The BLS frame is always a sequence initiated by the remote side.
1778 * A response to a sequence we initiated. in fc_exch_recv_bls()
1818 * fc_seq_ls_acc() - Accept sequence with LS_ACC
1822 * originator will repeat the sequence.
1847 * fc_seq_ls_rjt() - Reject a sequence with ELS LS_RJT
1849 * @reason: The reason the sequence is being rejected
1853 * originator will repeat the sequence.
2084 * @sp: The sequence that the RRQ is on
2128 * fc_exch_seq_send() - Send a frame using a new exchange and sequence