Lines Matching defs:trs

152     (&((_sc)->trs->inflight_ht[(_tk) & (_sc)->trs->inflight_mask]))
320 struct scmi_transport *trs;
323 trs = malloc(sizeof(*trs), M_DEVBUF, M_ZERO | M_WAITOK);
327 BIT_FILL(SCMI_MAX_TOKEN, &trs->avail_tokens);
328 mtx_init(&trs->mtx, "tokens", "SCMI", MTX_SPIN);
330 trs->inflight_ht = hashinit(td->max_msg, M_DEVBUF, &trs->inflight_mask);
332 trs->chans[SCMI_CHAN_A2P] =
334 if (trs->chans[SCMI_CHAN_A2P] == NULL) {
335 free(trs, M_DEVBUF);
339 trs->chans[SCMI_CHAN_P2A] =
341 if (trs->chans[SCMI_CHAN_P2A] == NULL) {
342 scmi_reqs_pool_free(trs->chans[SCMI_CHAN_A2P]);
343 free(trs, M_DEVBUF);
347 sc->trs = trs;
350 scmi_reqs_pool_free(trs->chans[SCMI_CHAN_A2P]);
351 scmi_reqs_pool_free(trs->chans[SCMI_CHAN_P2A]);
352 free(trs, M_DEVBUF);
368 mtx_destroy(&sc->trs->mtx);
369 hashdestroy(sc->trs->inflight_ht, M_DEVBUF, sc->trs->inflight_mask);
370 scmi_reqs_pool_free(sc->trs->chans[SCMI_CHAN_A2P]);
371 scmi_reqs_pool_free(sc->trs->chans[SCMI_CHAN_P2A]);
372 free(sc->trs, M_DEVBUF);
407 rp = sc->trs->chans[ch_idx];
430 rp = sc->trs->chans[ch_idx];
484 mtx_lock_spin(&sc->trs->mtx);
490 next_msg_id = sc->trs->next_id++ & SCMI_HDR_TOKEN_BF;
491 token = BIT_FFS_AT(SCMI_MAX_TOKEN, &sc->trs->avail_tokens, next_msg_id);
493 BIT_CLR(SCMI_MAX_TOKEN, token - 1, &sc->trs->avail_tokens);
494 mtx_unlock_spin(&sc->trs->mtx);
513 mtx_lock_spin(&sc->trs->mtx);
514 if (BIT_ISSET(SCMI_MAX_TOKEN, candidate, &sc->trs->avail_tokens)) {
515 BIT_CLR(SCMI_MAX_TOKEN, candidate, &sc->trs->avail_tokens);
517 sc->trs->next_id++;
519 mtx_unlock_spin(&sc->trs->mtx);
533 BIT_SET(SCMI_MAX_TOKEN, token, &sc->trs->avail_tokens);
573 mtx_lock_spin(&sc->trs->mtx);
575 mtx_unlock_spin(&sc->trs->mtx);
585 mtx_lock_spin(&sc->trs->mtx);
588 mtx_unlock_spin(&sc->trs->mtx);
602 mtx_lock_spin(&sc->trs->mtx);
607 mtx_unlock_spin(&sc->trs->mtx);