Lines Matching defs:generation

37 /* Maximum number of packets within a flow generation. */
47 /* Reserved generation value to set to unused flows for kernel contexts */
351 qpriv->flow_state.generation = KERN_GENERATION_RESERVED;
730 static void kern_set_hw_flow(struct hfi1_ctxtdata *rcd, u32 generation,
735 reg = ((u64)generation << HFI1_KDETH_BTH_SEQ_SHIFT) |
742 if (generation != KERN_GENERATION_RESERVED)
752 u32 generation = rcd->flows[flow_idx].generation;
754 kern_set_hw_flow(rcd, generation, flow_idx);
755 return generation;
760 u32 generation = mask_generation(gen + 1);
762 if (generation == KERN_GENERATION_RESERVED)
763 generation = mask_generation(generation + 1);
764 return generation;
770 rcd->flows[flow_idx].generation =
771 kern_flow_generation_next(rcd->flows[flow_idx].generation);
797 /* Generation received in a RESYNC overrides default flow generation */
798 if (fs->generation != KERN_GENERATION_RESERVED)
799 rcd->flows[fs->index].generation = fs->generation;
800 fs->generation = kern_setup_hw_flow(rcd, fs->index);
829 fs->generation = KERN_GENERATION_RESERVED;
848 rcd->flows[i].generation = mask_generation(prandom_u32());
1514 flow->flow_state.generation = qpriv->flow_state.generation;
1746 cpu_to_be32((flow->flow_state.generation <<
1829 * Check sync. The last PSN of each generation is reserved for
1938 flow->flow_state.generation = flow_psn >> HFI1_KDETH_BTH_SEQ_SHIFT;
2386 (flow->flow_state.generation <<
2809 * generation mismatch, drop this stale packet.
3102 * during a RESYNC, the generation is incremented and the
3534 * Last PSN of every generation is reserved for RESYNC.
3908 cpu_to_be32((flow->flow_state.generation <<
4104 flow->flow_state.generation = flow_psn >> HFI1_KDETH_BTH_SEQ_SHIFT;
4237 (flow->flow_state.generation <<
4432 *bth2 = mask_psn((fs->generation <<
4582 u32 spsn, fpsn, last_acked, generation;
4615 generation = psn >> HFI1_KDETH_BTH_SEQ_SHIFT;
4640 * request) starts with a new generation number, we
4643 if (flow->flow_state.generation !=
4650 * based on the new generation.
4664 gen = flow->flow_state.generation;
4665 if (WARN_ON(gen == generation &&
4675 flow->flow_state.generation =
4676 generation;
4839 u32 generation;
4848 generation = kern_flow_generation_next(flow->flow_state.generation);
4849 *bth2 = mask_psn((generation << HFI1_KDETH_BTH_SEQ_SHIFT) - 1);
4868 u32 psn, generation, idx, gen_next;
4875 generation = mask_psn(psn + 1) >> HFI1_KDETH_BTH_SEQ_SHIFT;
4878 gen_next = (fs->generation == KERN_GENERATION_RESERVED) ?
4879 generation : kern_flow_generation_next(fs->generation);
4881 * RESYNC packet contains the "next" generation and can only be
4884 if (generation != mask_generation(gen_next - 1) &&
4885 generation != gen_next)
4894 * If we don't have a flow, save the generation so it can be
4897 fs->generation = generation;
4899 /* Reprogram the QP flow with new generation */
4900 rcd->flows[fs->index].generation = generation;
4901 fs->generation = kern_setup_hw_flow(rcd, fs->index);
4912 * Reset all TID flow information with the new generation.
4940 flow->flow_state.generation = fs->generation;
5123 /* Use generation from the most recently received response */