Lines Matching defs:sm
660 struct stfpcie_msi *sm;
664 sm = &sc->sc_msi[vec];
665 if (sm->sm_func == NULL)
671 sm->sm_func = func;
672 sm->sm_arg = arg;
673 sm->sm_ipl = level & IPL_IRQMASK;
674 sm->sm_flags = level & IPL_FLAGMASK;
675 sm->sm_vec = vec;
676 sm->sm_name = name;
678 evcount_attach(&sm->sm_count, name, &sm->sm_vec);
680 return sm;
685 stfpcie_msi_disestablish(struct stfpcie_softc *sc, struct stfpcie_msi *sm)
687 if (sm->sm_name)
688 evcount_detach(&sm->sm_count);
689 sm->sm_func = NULL;
718 struct stfpcie_msi *sm;
731 sm = &sc->sc_msi[vec];
732 if (sm->sm_func == NULL)
735 if ((sm->sm_flags & IPL_MPSAFE) == 0)
737 s = splraise(sm->sm_ipl);
738 if (sm->sm_func(sm->sm_arg))
739 sm->sm_count.ec_count++;
741 if ((sm->sm_flags & IPL_MPSAFE) == 0)
913 struct stfpcie_msi *sm;
916 sm = stfpcie_msi_establish(sc, level, func, arg, name);
917 if (sm == NULL)
920 data = sm->sm_vec;
925 pih->pih_sm = sm;