Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153017586
D25432.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D25432.diff
View Options
Index: head/sys/dev/cxgbe/adapter.h
===================================================================
--- head/sys/dev/cxgbe/adapter.h
+++ head/sys/dev/cxgbe/adapter.h
@@ -190,6 +190,7 @@
struct vi_info {
device_t dev;
struct port_info *pi;
+ struct adapter *adapter;
struct ifnet *ifp;
struct pfil_head *pfil;
@@ -953,22 +954,22 @@
#define TXQ_LOCK_ASSERT_NOTOWNED(txq) EQ_LOCK_ASSERT_NOTOWNED(&(txq)->eq)
#define for_each_txq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.txq[vi->first_txq], iter = 0; \
+ for (q = &vi->adapter->sge.txq[vi->first_txq], iter = 0; \
iter < vi->ntxq; ++iter, ++q)
#define for_each_rxq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.rxq[vi->first_rxq], iter = 0; \
+ for (q = &vi->adapter->sge.rxq[vi->first_rxq], iter = 0; \
iter < vi->nrxq; ++iter, ++q)
#define for_each_ofld_txq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.ofld_txq[vi->first_ofld_txq], iter = 0; \
+ for (q = &vi->adapter->sge.ofld_txq[vi->first_ofld_txq], iter = 0; \
iter < vi->nofldtxq; ++iter, ++q)
#define for_each_ofld_rxq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.ofld_rxq[vi->first_ofld_rxq], iter = 0; \
+ for (q = &vi->adapter->sge.ofld_rxq[vi->first_ofld_rxq], iter = 0; \
iter < vi->nofldrxq; ++iter, ++q)
#define for_each_nm_txq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.nm_txq[vi->first_nm_txq], iter = 0; \
+ for (q = &vi->adapter->sge.nm_txq[vi->first_nm_txq], iter = 0; \
iter < vi->nnmtxq; ++iter, ++q)
#define for_each_nm_rxq(vi, iter, q) \
- for (q = &vi->pi->adapter->sge.nm_rxq[vi->first_nm_rxq], iter = 0; \
+ for (q = &vi->adapter->sge.nm_rxq[vi->first_nm_rxq], iter = 0; \
iter < vi->nnmrxq; ++iter, ++q)
#define for_each_vi(_pi, _iter, _vi) \
for ((_vi) = (_pi)->vi, (_iter) = 0; (_iter) < (_pi)->nvi; \
Index: head/sys/dev/cxgbe/crypto/t4_kern_tls.c
===================================================================
--- head/sys/dev/cxgbe/crypto/t4_kern_tls.c
+++ head/sys/dev/cxgbe/crypto/t4_kern_tls.c
@@ -587,7 +587,7 @@
}
vi = ifp->if_softc;
- sc = vi->pi->adapter;
+ sc = vi->adapter;
tlsp = alloc_tlspcb(ifp, vi, M_WAITOK);
Index: head/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
===================================================================
--- head/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
+++ head/sys/dev/cxgbe/cxgbei/icl_cxgbei.c
@@ -673,7 +673,7 @@
MPASS(tp->tod != NULL);
MPASS(tp->t_toe != NULL);
toep = tp->t_toe;
- MPASS(toep->vi->pi->adapter == icc->sc);
+ MPASS(toep->vi->adapter == icc->sc);
icc->toep = toep;
icc->cwt = cxgbei_select_worker_thread(icc);
Index: head/sys/dev/cxgbe/t4_main.c
===================================================================
--- head/sys/dev/cxgbe/t4_main.c
+++ head/sys/dev/cxgbe/t4_main.c
@@ -1345,6 +1345,7 @@
pi->nvi = num_vis;
for_each_vi(pi, j, vi) {
vi->pi = pi;
+ vi->adapter = sc;
vi->qsize_rxq = t4_qsize_rxq;
vi->qsize_txq = t4_qsize_txq;
@@ -1748,11 +1749,11 @@
ifp->if_capabilities = T4_CAP;
ifp->if_capenable = T4_CAP_ENABLE;
#ifdef TCP_OFFLOAD
- if (vi->nofldrxq != 0 && (vi->pi->adapter->flags & KERN_TLS_OK) == 0)
+ if (vi->nofldrxq != 0 && (vi->adapter->flags & KERN_TLS_OK) == 0)
ifp->if_capabilities |= IFCAP_TOE;
#endif
#ifdef RATELIMIT
- if (is_ethoffload(vi->pi->adapter) && vi->nofldtxq != 0) {
+ if (is_ethoffload(vi->adapter) && vi->nofldtxq != 0) {
ifp->if_capabilities |= IFCAP_TXRTLMT;
ifp->if_capenable |= IFCAP_TXRTLMT;
}
@@ -1763,12 +1764,12 @@
ifp->if_hw_tsomax = IP_MAXPACKET;
ifp->if_hw_tsomaxsegcount = TX_SGL_SEGS_TSO;
#ifdef RATELIMIT
- if (is_ethoffload(vi->pi->adapter) && vi->nofldtxq != 0)
+ if (is_ethoffload(vi->adapter) && vi->nofldtxq != 0)
ifp->if_hw_tsomaxsegcount = TX_SGL_SEGS_EO_TSO;
#endif
ifp->if_hw_tsomaxsegsize = 65536;
#ifdef KERN_TLS
- if (vi->pi->adapter->flags & KERN_TLS_OK) {
+ if (vi->adapter->flags & KERN_TLS_OK) {
ifp->if_capabilities |= IFCAP_TXTLS;
ifp->if_capenable |= IFCAP_TXTLS;
}
@@ -1908,7 +1909,7 @@
cxgbe_init(void *arg)
{
struct vi_info *vi = arg;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
if (begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4init") != 0)
return;
@@ -2228,7 +2229,7 @@
struct vi_info *vi = ifp->if_softc;
struct fw_vi_stats_vf *s = &vi->stats;
- vi_refresh_stats(vi->pi->adapter, vi);
+ vi_refresh_stats(vi->adapter, vi);
switch (c) {
case IFCOUNTER_IPACKETS:
@@ -2762,7 +2763,7 @@
struct adapter *sc;
vi = device_get_softc(dev);
- sc = vi->pi->adapter;
+ sc = vi->adapter;
doom_vi(sc, vi);
@@ -5766,7 +5767,7 @@
int
vi_full_init(struct vi_info *vi)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct ifnet *ifp = vi->ifp;
uint16_t *rss;
struct sge_rxq *rxq;
@@ -6196,7 +6197,7 @@
vi_tick(void *arg)
{
struct vi_info *vi = arg;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
vi_refresh_stats(sc, vi);
@@ -7183,7 +7184,7 @@
sysctl_holdoff_tmr_idx(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int idx, rc, i;
struct sge_rxq *rxq;
uint8_t v;
@@ -7220,7 +7221,7 @@
sysctl_holdoff_pktc_idx(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int idx, rc;
idx = vi->pktc_idx;
@@ -7250,7 +7251,7 @@
sysctl_qsize_rxq(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int qsize, rc;
qsize = vi->qsize_rxq;
@@ -7280,7 +7281,7 @@
sysctl_qsize_txq(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int qsize, rc;
qsize = vi->qsize_txq;
@@ -9875,7 +9876,7 @@
sysctl_holdoff_tmr_idx_ofld(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int idx, rc, i;
struct sge_ofld_rxq *ofld_rxq;
uint8_t v;
@@ -9912,7 +9913,7 @@
sysctl_holdoff_pktc_idx_ofld(SYSCTL_HANDLER_ARGS)
{
struct vi_info *vi = arg1;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int idx, rc;
idx = vi->ofld_pktc_idx;
Index: head/sys/dev/cxgbe/t4_netmap.c
===================================================================
--- head/sys/dev/cxgbe/t4_netmap.c
+++ head/sys/dev/cxgbe/t4_netmap.c
@@ -125,7 +125,7 @@
{
int rc, cntxt_id, i;
__be32 v;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sge_params *sp = &sc->params.sge;
struct netmap_adapter *na = NA(vi->ifp);
struct fw_iq_cmd c;
@@ -245,7 +245,7 @@
static int
free_nm_rxq_hwq(struct vi_info *vi, struct sge_nm_rxq *nm_rxq)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int rc;
rc = -t4_iq_free(sc, sc->mbox, sc->pf, 0, FW_IQ_TYPE_FL_INT_CAP,
@@ -262,7 +262,7 @@
{
int rc, cntxt_id;
size_t len;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct netmap_adapter *na = NA(vi->ifp);
struct fw_eq_eth_cmd c;
@@ -335,7 +335,7 @@
static int
free_nm_txq_hwq(struct vi_info *vi, struct sge_nm_txq *nm_txq)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int rc;
rc = -t4_eth_eq_free(sc, sc->mbox, sc->pf, 0, nm_txq->cntxt_id);
@@ -562,7 +562,7 @@
{
struct ifnet *ifp = na->ifp;
struct vi_info *vi = ifp->if_softc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
int rc;
rc = begin_synchronized_op(sc, vi, SLEEP_OK | INTR_OK, "t4nmreg");
@@ -817,7 +817,7 @@
struct netmap_adapter *na = kring->na;
struct ifnet *ifp = na->ifp;
struct vi_info *vi = ifp->if_softc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sge_nm_txq *nm_txq = &sc->sge.nm_txq[vi->first_nm_txq + kring->ring_id];
const u_int head = kring->rhead;
u_int reclaimed = 0;
@@ -881,7 +881,7 @@
struct netmap_ring *ring = kring->ring;
struct ifnet *ifp = na->ifp;
struct vi_info *vi = ifp->if_softc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sge_nm_rxq *nm_rxq = &sc->sge.nm_rxq[vi->first_nm_rxq + kring->ring_id];
u_int const head = kring->rhead;
u_int n;
@@ -1038,7 +1038,7 @@
service_nm_rxq(struct sge_nm_rxq *nm_rxq)
{
struct vi_info *vi = nm_rxq->vi;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct ifnet *ifp = vi->ifp;
struct netmap_adapter *na = NA(ifp);
struct netmap_kring *kring = na->rx_rings[nm_rxq->nid];
Index: head/sys/dev/cxgbe/t4_sge.c
===================================================================
--- head/sys/dev/cxgbe/t4_sge.c
+++ head/sys/dev/cxgbe/t4_sge.c
@@ -2149,7 +2149,7 @@
t4_update_fl_bufsize(struct ifnet *ifp)
{
struct vi_info *vi = ifp->if_softc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sge_rxq *rxq;
#ifdef TCP_OFFLOAD
struct sge_ofld_rxq *ofld_rxq;
@@ -2881,8 +2881,7 @@
struct sge_eq *eq = &txq->eq;
struct ifnet *ifp = txq->ifp;
struct vi_info *vi = ifp->if_softc;
- struct port_info *pi = vi->pi;
- struct adapter *sc = pi->adapter;
+ struct adapter *sc = vi->adapter;
u_int total, remaining; /* # of packets */
u_int available, dbdiff; /* # of hardware descriptors */
u_int n, next_cidx;
@@ -3498,7 +3497,7 @@
struct sysctl_oid *oid)
{
int rc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sysctl_oid_list *children;
char name[16];
@@ -3628,7 +3627,7 @@
struct sysctl_ctx_list *ctx;
char name[16];
size_t len;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct netmap_adapter *na = NA(vi->ifp);
MPASS(na != NULL);
@@ -3694,7 +3693,7 @@
static int
free_nm_rxq(struct vi_info *vi, struct sge_nm_rxq *nm_rxq)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
if (vi->flags & VI_INIT_DONE)
MPASS(nm_rxq->iq_cntxt_id == INVALID_NM_RXQ_CNTXT_ID);
@@ -3760,7 +3759,7 @@
static int
free_nm_txq(struct vi_info *vi, struct sge_nm_txq *nm_txq)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
if (vi->flags & VI_INIT_DONE)
MPASS(nm_txq->cntxt_id == INVALID_NM_TXQ_CNTXT_ID);
@@ -4270,7 +4269,7 @@
free_txq(struct vi_info *vi, struct sge_txq *txq)
{
int rc;
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct sge_eq *eq = &txq->eq;
rc = free_eq(sc, eq);
Index: head/sys/dev/cxgbe/t4_vf.c
===================================================================
--- head/sys/dev/cxgbe/t4_vf.c
+++ head/sys/dev/cxgbe/t4_vf.c
@@ -702,6 +702,7 @@
for_each_vi(pi, j, vi) {
vi->pi = pi;
+ vi->adapter = sc;
vi->qsize_rxq = t4_qsize_rxq;
vi->qsize_txq = t4_qsize_txq;
Index: head/sys/dev/cxgbe/tom/t4_listen.c
===================================================================
--- head/sys/dev/cxgbe/tom/t4_listen.c
+++ head/sys/dev/cxgbe/tom/t4_listen.c
@@ -1444,7 +1444,7 @@
ifp = synqe->syn->m_pkthdr.rcvif;
vi = ifp->if_softc;
- KASSERT(vi->pi->adapter == sc,
+ KASSERT(vi->adapter == sc,
("%s: vi %p, sc %p mismatch", __func__, vi, sc));
if (__predict_false(inp->inp_flags & INP_DROPPED)) {
Index: head/sys/dev/cxgbe/tom/t4_tom.c
===================================================================
--- head/sys/dev/cxgbe/tom/t4_tom.c
+++ head/sys/dev/cxgbe/tom/t4_tom.c
@@ -970,7 +970,7 @@
MPASS(cp->opt0_bufsize >= 0 && cp->opt0_bufsize <= M_RCV_BUFSIZ);
opt0 |= V_RCV_BUFSIZ(cp->opt0_bufsize);
- MPASS(cp->l2t_idx >= 0 && cp->l2t_idx < vi->pi->adapter->vres.l2t.size);
+ MPASS(cp->l2t_idx >= 0 && cp->l2t_idx < vi->adapter->vres.l2t.size);
opt0 |= V_L2T_IDX(cp->l2t_idx);
opt0 |= V_SMAC_SEL(vi->smt_idx);
@@ -1045,7 +1045,7 @@
uint64_t
select_ntuple(struct vi_info *vi, struct l2t_entry *e)
{
- struct adapter *sc = vi->pi->adapter;
+ struct adapter *sc = vi->adapter;
struct tp_params *tp = &sc->params.tp;
uint64_t ntuple = 0;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Apr 19, 3:57 PM (10 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31733849
Default Alt Text
D25432.diff (11 KB)
Attached To
Mode
D25432: cxgbe(4): Store a pointer to the adapter softc in vi_info.
Attached
Detach File
Event Timeline
Log In to Comment