mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-19 10:53:58 +00:00
cxgbe/tom: Allow caller to select the queue (control or data) used to
send the CPL_SET_TCB_FIELD request in t4_set_tcb_field(). MFC after: 1 week
This commit is contained in:
parent
608203fd94
commit
f81cb396de
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=251638
@ -1410,13 +1410,13 @@ do_set_tcb_rpl(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
t4_set_tcb_field(struct adapter *sc, struct toepcb *toep, uint16_t word,
|
t4_set_tcb_field(struct adapter *sc, struct toepcb *toep, int ctrl,
|
||||||
uint64_t mask, uint64_t val)
|
uint16_t word, uint64_t mask, uint64_t val)
|
||||||
{
|
{
|
||||||
struct wrqe *wr;
|
struct wrqe *wr;
|
||||||
struct cpl_set_tcb_field *req;
|
struct cpl_set_tcb_field *req;
|
||||||
|
|
||||||
wr = alloc_wrqe(sizeof(*req), toep->ctrlq);
|
wr = alloc_wrqe(sizeof(*req), ctrl ? toep->ctrlq : toep->ofld_txq);
|
||||||
if (wr == NULL) {
|
if (wr == NULL) {
|
||||||
/* XXX */
|
/* XXX */
|
||||||
panic("%s: allocation failure.", __func__);
|
panic("%s: allocation failure.", __func__);
|
||||||
|
@ -541,12 +541,12 @@ enable_ddp(struct adapter *sc, struct toepcb *toep)
|
|||||||
__func__, toep->tid, time_uptime);
|
__func__, toep->tid, time_uptime);
|
||||||
|
|
||||||
toep->ddp_flags |= DDP_SC_REQ;
|
toep->ddp_flags |= DDP_SC_REQ;
|
||||||
t4_set_tcb_field(sc, toep, W_TCB_RX_DDP_FLAGS,
|
t4_set_tcb_field(sc, toep, 1, W_TCB_RX_DDP_FLAGS,
|
||||||
V_TF_DDP_OFF(1) | V_TF_DDP_INDICATE_OUT(1) |
|
V_TF_DDP_OFF(1) | V_TF_DDP_INDICATE_OUT(1) |
|
||||||
V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1) |
|
V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1) |
|
||||||
V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_BUF1_VALID(1),
|
V_TF_DDP_BUF0_VALID(1) | V_TF_DDP_BUF1_VALID(1),
|
||||||
V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1));
|
V_TF_DDP_BUF0_INDICATE(1) | V_TF_DDP_BUF1_INDICATE(1));
|
||||||
t4_set_tcb_field(sc, toep, W_TCB_T_FLAGS,
|
t4_set_tcb_field(sc, toep, 1, W_TCB_T_FLAGS,
|
||||||
V_TF_RCV_COALESCE_ENABLE(1), 0);
|
V_TF_RCV_COALESCE_ENABLE(1), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -562,9 +562,9 @@ disable_ddp(struct adapter *sc, struct toepcb *toep)
|
|||||||
__func__, toep->tid, time_uptime);
|
__func__, toep->tid, time_uptime);
|
||||||
|
|
||||||
toep->ddp_flags |= DDP_SC_REQ;
|
toep->ddp_flags |= DDP_SC_REQ;
|
||||||
t4_set_tcb_field(sc, toep, W_TCB_T_FLAGS,
|
t4_set_tcb_field(sc, toep, 1, W_TCB_T_FLAGS,
|
||||||
V_TF_RCV_COALESCE_ENABLE(1), V_TF_RCV_COALESCE_ENABLE(1));
|
V_TF_RCV_COALESCE_ENABLE(1), V_TF_RCV_COALESCE_ENABLE(1));
|
||||||
t4_set_tcb_field(sc, toep, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1),
|
t4_set_tcb_field(sc, toep, 1, W_TCB_RX_DDP_FLAGS, V_TF_DDP_OFF(1),
|
||||||
V_TF_DDP_OFF(1));
|
V_TF_DDP_OFF(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,8 +269,8 @@ void t4_rcvd(struct toedev *, struct tcpcb *);
|
|||||||
int t4_tod_output(struct toedev *, struct tcpcb *);
|
int t4_tod_output(struct toedev *, struct tcpcb *);
|
||||||
int t4_send_fin(struct toedev *, struct tcpcb *);
|
int t4_send_fin(struct toedev *, struct tcpcb *);
|
||||||
int t4_send_rst(struct toedev *, struct tcpcb *);
|
int t4_send_rst(struct toedev *, struct tcpcb *);
|
||||||
void t4_set_tcb_field(struct adapter *, struct toepcb *, uint16_t, uint64_t,
|
void t4_set_tcb_field(struct adapter *, struct toepcb *, int, uint16_t,
|
||||||
uint64_t);
|
uint64_t, uint64_t);
|
||||||
|
|
||||||
/* t4_ddp.c */
|
/* t4_ddp.c */
|
||||||
void t4_init_ddp(struct adapter *, struct tom_data *);
|
void t4_init_ddp(struct adapter *, struct tom_data *);
|
||||||
|
Loading…
Reference in New Issue
Block a user