Lines Matching defs:minfo
308 * @minfo: Pointer to Tx/Rx Message management info based on channel type
364 static int scmi_xfer_token_set(struct scmi_xfers_info *minfo,
380 xfer_id = find_next_zero_bit(minfo->xfer_alloc_table,
388 xfer_id = find_next_zero_bit(minfo->xfer_alloc_table,
411 * @minfo: Pointer to Tx/Rx Message management info based on channel type
414 static inline void scmi_xfer_token_clear(struct scmi_xfers_info *minfo,
417 clear_bit(xfer->hdr.seq, minfo->xfer_alloc_table);
424 * @minfo: Pointer to Tx/Rx Message management info based on channel type
434 struct scmi_xfers_info *minfo)
437 set_bit(xfer->hdr.seq, minfo->xfer_alloc_table);
438 hash_add(minfo->pending_xfers, &xfer->node, xfer->hdr.seq);
446 * @minfo: Pointer to Tx/Rx Message management info based on channel type
457 struct scmi_xfers_info *minfo)
462 spin_lock_irqsave(&minfo->xfer_lock, flags);
463 if (!test_bit(xfer->hdr.seq, minfo->xfer_alloc_table))
464 scmi_xfer_inflight_register_unlocked(xfer, minfo);
467 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
494 * @minfo: Pointer to Tx/Rx Message management info based on channel type
499 struct scmi_xfers_info *minfo)
504 spin_lock_irqsave(&minfo->xfer_lock, flags);
506 ret = scmi_xfer_token_set(minfo, xfer);
508 scmi_xfer_inflight_register_unlocked(xfer, minfo);
509 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
518 * @minfo: Pointer to Tx/Rx Message management info based on channel type
536 struct scmi_xfers_info *minfo)
541 spin_lock_irqsave(&minfo->xfer_lock, flags);
542 if (hlist_empty(&minfo->free_xfers)) {
543 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
548 xfer = hlist_entry(minfo->free_xfers.first, struct scmi_xfer, node);
559 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
624 * @minfo: Pointer to Tx/Rx Message management info based on channel type
633 __scmi_xfer_put(struct scmi_xfers_info *minfo, struct scmi_xfer *xfer)
637 spin_lock_irqsave(&minfo->xfer_lock, flags);
640 scmi_xfer_token_clear(minfo, xfer);
644 hlist_add_head(&xfer->node, &minfo->free_xfers);
646 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
670 * @minfo: Pointer to Tx/Rx Message management info based on channel type
680 scmi_xfer_lookup_unlocked(struct scmi_xfers_info *minfo, u16 xfer_id)
684 if (test_bit(xfer_id, minfo->xfer_alloc_table))
685 xfer = XFER_FIND(minfo->pending_xfers, xfer_id);
804 struct scmi_xfers_info *minfo = &info->tx_minfo;
809 spin_lock_irqsave(&minfo->xfer_lock, flags);
810 xfer = scmi_xfer_lookup_unlocked(minfo, xfer_id);
815 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
819 spin_unlock_irqrestore(&minfo->xfer_lock, flags);
841 __scmi_xfer_put(minfo, xfer);
868 struct scmi_xfers_info *minfo = &info->rx_minfo;
872 xfer = scmi_xfer_get(cinfo->handle, minfo);
904 __scmi_xfer_put(minfo, xfer);
1325 struct scmi_xfers_info *minfo = &info->tx_minfo;
1333 xfer = scmi_xfer_get(pi->handle, minfo);
1341 ret = scmi_xfer_pending_set(xfer, minfo);
1345 __scmi_xfer_put(minfo, xfer);