Lines Matching defs:mif

88 static int ice_setup_mirror_vsi(struct ice_mirr_if *mif);
89 static int ice_wire_mirror_intrs(struct ice_mirr_if *mif);
90 static void ice_free_irqvs_subif(struct ice_mirr_if *mif);
92 static void ice_subif_setup_scctx(struct ice_mirr_if *mif);
2013 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
2107 if (sc->mirr_if && ice_testandclear_state(&mif->state, ICE_STATE_SUBIF_NEEDS_REINIT)) {
2108 ice_clear_state(&mif->state, ICE_STATE_DRIVER_INITIALIZED);
3061 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
3112 if (sc->mirr_if && ice_test_state(&mif->state, ICE_STATE_SUBIF_NEEDS_REINIT)) {
3452 ice_subif_setup_scctx(struct ice_mirr_if *mif)
3454 if_softc_ctx_t scctx = mif->subscctx;
3482 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
3485 mif->subctx = ctx;
3486 mif->subdev = dev;
3487 mif->subscctx = iflib_get_softc_ctx(ctx);
3490 ice_subif_setup_scctx(mif);
3513 struct ice_mirr_if *mif = sc->mirr_if;
3514 struct ice_vsi *vsi = mif->vsi;
3522 if (mif->ifp) {
3523 ret = iflib_device_deregister(mif->subctx);
3532 ret = device_delete_child(sc->dev, mif->subdev);
3543 if (mif->if_imap) {
3544 free(mif->if_imap, M_ICE);
3545 mif->if_imap = NULL;
3547 if (mif->os_imap) {
3548 free(mif->os_imap, M_ICE);
3549 mif->os_imap = NULL;
3560 free(mif, M_ICE);
3567 * @mif: driver private data for mirror interface
3575 ice_setup_mirror_vsi(struct ice_mirr_if *mif)
3577 struct ice_softc *sc = mif->back;
3588 mif->vsi = vsi;
3651 mif->vsi = NULL;
3672 struct ice_mirr_if *mif;
3677 mif = (struct ice_mirr_if *)malloc(sizeof(*mif), M_ICE, M_ZERO | M_NOWAIT);
3678 if (!mif) {
3684 sc->mirr_if = mif;
3685 mif->back = sc;
3691 ret = ice_setup_mirror_vsi(mif);
3706 mif->subdev = device_add_child(dev, sbuf_data(sb), 0);
3709 if (!mif->subdev) {
3712 free(mif, M_ICE);
3718 device_set_driver(mif->subdev, &ice_subif_driver);
3723 ret = iflib_device_register(mif->subdev, mif, &ice_subif_sctx, &mif->subctx);
3728 mif->ifp = iflib_get_ifp(mif->subctx);
3729 if_setflagbits(mif->ifp, IFF_MONITOR, 0);
3732 media = iflib_get_media(mif->subctx);
3737 device_get_nameunit(mif->subdev), if_name(mif->ifp));
3739 ice_add_vsi_sysctls(mif->vsi);
3741 ret = ice_wire_mirror_intrs(mif);
3745 mif->if_attached = true;
3755 * @mif: driver private subinterface structure
3773 ice_wire_mirror_intrs(struct ice_mirr_if *mif)
3775 struct ice_softc *sc = mif->back;
3777 struct ice_vsi *vsi = mif->vsi;
3778 device_t dev = mif->subdev;
3781 if_ctx_t ctx = mif->subctx;
3795 &mif->rx_irqvs[i].irq, rid, IFLIB_INTR_RXTX, ice_msix_que,
3806 mif->rx_irqvs[i].me = rid - 1;
3807 rxq->irqv = &mif->rx_irqvs[i];
3811 iflib_softirq_alloc_generic(ctx, &mif->rx_irqvs[i].irq,
3813 txq->irqv = &mif->rx_irqvs[i];
3825 iflib_irq_free(ctx, &mif->rx_irqvs[i].irq);
3839 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(sc->ctx);
3875 ice_set_state(&mif->state, ICE_STATE_SUBIF_NEEDS_REINIT);
3952 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
3954 device_t dev = mif->subdev;
3958 MPASS(mif != NULL);
3960 MPASS(mif->subscctx->isc_ntxd[0] <= ICE_MAX_DESC_COUNT);
3962 vsi = mif->vsi;
3977 (uint16_t *)malloc(sizeof(uint16_t) * mif->subscctx->isc_ntxd[0], M_ICE, M_NOWAIT))) {
3984 for (j = 0; j < mif->subscctx->isc_ntxd[0]; j++)
3997 txq->desc_count = mif->subscctx->isc_ntxd[0];
4036 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4038 device_t dev = mif->subdev;
4042 MPASS(mif != NULL);
4044 MPASS(mif->subscctx->isc_nrxd[0] <= ICE_MAX_DESC_COUNT);
4046 vsi = mif->vsi;
4066 rxq->desc_count = mif->subscctx->isc_nrxd[0];
4091 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4092 struct ice_softc *sc = mif->back;
4093 struct ice_vsi *vsi = mif->vsi;
4095 device_t dev = mif->subdev;
4115 mif->num_irq_vectors = vsi->num_rx_queues;
4116 mif->rx_irqvs = (struct ice_irq_vector *)
4117 malloc(sizeof(struct ice_irq_vector) * (mif->num_irq_vectors),
4119 if (!mif->rx_irqvs) {
4122 mif->num_irq_vectors);
4127 if (!(mif->if_imap =
4128 (u16 *)malloc(sizeof(u16) * mif->num_irq_vectors,
4134 ret = ice_resmgr_assign_contiguous(&sc->dev_imgr, mif->if_imap, mif->num_irq_vectors);
4141 if (!(mif->os_imap =
4142 (u16 *)malloc(sizeof(u16) * mif->num_irq_vectors,
4148 ret = ice_resmgr_assign_contiguous(&sc->os_imgr, mif->os_imap, mif->num_irq_vectors);
4158 free(mif->if_imap, M_ICE);
4159 mif->if_imap = NULL;
4161 free(mif->rx_irqvs, M_ICE);
4162 mif->rx_irqvs = NULL;
4176 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4177 struct ice_softc *sc = mif->back;
4178 struct ice_vsi *vsi = mif->vsi;
4202 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4203 struct ice_softc *sc = mif->back;
4204 struct ice_vsi *vsi = mif->vsi;
4227 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4228 struct ice_softc *sc = mif->back;
4229 struct ice_vsi *vsi = mif->vsi;
4252 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4253 struct ice_softc *sc = mif->back;
4254 struct ice_vsi *vsi = mif->vsi;
4255 device_t dev = mif->subdev;
4311 ice_set_state(&mif->state, ICE_STATE_DRIVER_INITIALIZED);
4331 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4332 struct ice_softc *sc = mif->back;
4333 struct ice_vsi *vsi = mif->vsi;
4334 device_t dev = mif->subdev;
4336 if (!ice_testandclear_state(&mif->state, ICE_STATE_DRIVER_INITIALIZED))
4364 * @mif: Mirror interface private structure
4369 ice_free_irqvs_subif(struct ice_mirr_if *mif)
4371 struct ice_softc *sc = mif->back;
4372 struct ice_vsi *vsi = mif->vsi;
4377 if (mif->rx_irqvs == NULL)
4386 iflib_irq_free(ctx, &mif->rx_irqvs[i].irq);
4388 ice_resmgr_release_map(&sc->os_imgr, mif->os_imap,
4389 mif->num_irq_vectors);
4390 ice_resmgr_release_map(&sc->dev_imgr, mif->if_imap,
4391 mif->num_irq_vectors);
4403 free(mif->rx_irqvs, M_ICE);
4404 mif->rx_irqvs = NULL;
4417 struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx);
4418 struct ice_vsi *vsi = mif->vsi;
4429 ice_free_irqvs_subif(mif);