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