Lines Matching refs:mdata
501 static inline void init_ps_mdata(struct ps_mdata *mdata,
506 mdata->rcd = rcd;
507 mdata->rsize = packet->rsize;
508 mdata->maxcnt = packet->maxcnt;
509 mdata->ps_head = packet->rhqoff;
512 mdata->ps_tail = get_rcvhdrtail(rcd);
514 mdata->ps_seq = hfi1_seq_cnt(rcd);
516 mdata->ps_seq = 0; /* not used with DMA_RTAIL */
518 mdata->ps_tail = 0; /* used only with DMA_RTAIL*/
519 mdata->ps_seq = hfi1_seq_cnt(rcd);
523 static inline int ps_done(struct ps_mdata *mdata, u64 rhf,
527 return mdata->ps_head == mdata->ps_tail;
528 return mdata->ps_seq != rhf_rcv_seq(rhf);
531 static inline int ps_skip(struct ps_mdata *mdata, u64 rhf,
538 if ((rcd->ctxt == HFI1_CTRL_CTXT) && (mdata->ps_head != mdata->ps_tail))
539 return mdata->ps_seq != rhf_rcv_seq(rhf);
544 static inline void update_ps_mdata(struct ps_mdata *mdata,
547 mdata->ps_head += mdata->rsize;
548 if (mdata->ps_head >= mdata->maxcnt)
549 mdata->ps_head = 0;
554 mdata->ps_seq = hfi1_seq_incr_wrap(mdata->ps_seq);
573 struct ps_mdata mdata;
575 init_ps_mdata(&mdata, packet);
579 __le32 *rhf_addr = (__le32 *)rcd->rcvhdrq + mdata.ps_head +
588 if (ps_done(&mdata, rhf, rcd))
591 if (ps_skip(&mdata, rhf, rcd))
631 update_ps_mdata(&mdata, rcd);
1826 struct ps_mdata mdata;
1841 init_ps_mdata(&mdata, &packet);
1844 __le32 *rhf_addr = (__le32 *)rcd->rcvhdrq + mdata.ps_head +
1853 if (ps_done(&mdata, rhf, rcd))
1856 if (ps_skip(&mdata, rhf, rcd))
1879 mdata.ps_head, opcode, qpn, psn);
1881 update_ps_mdata(&mdata, rcd);