Lines Matching full:gsi
14 #include "gsi.h"
22 * DOC: GSI Transactions
24 * A GSI transaction abstracts the behavior of a GSI channel by representing
27 * command.) Most details of interaction with the GSI hardware are managed
28 * by the GSI transaction core, allowing users to simply describe commands
33 * To perform a command (or set of them), a user of the GSI transaction
52 * Committing transfers ownership of the entire transaction to the GSI
53 * transaction core. The GSI transaction code formats the content of
58 * GSI hardware has completed it. Because transfers described by TREs are
64 * GSI code into the IPA layer, allowing it to perform any final cleanup
259 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_pending()
274 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_complete()
290 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_polled()
323 /* Allocate a GSI transaction on a channel */
324 struct gsi_trans *gsi_channel_trans_alloc(struct gsi *gsi, u32 channel_id, in gsi_channel_trans_alloc() argument
328 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_channel_trans_alloc()
332 if (WARN_ON(tre_count > gsi_channel_trans_tre_max(gsi, channel_id))) in gsi_channel_trans_alloc()
345 trans->gsi = gsi; in gsi_channel_trans_alloc()
378 trans_info = &trans->gsi->channel[trans->channel_id].trans_info; in gsi_trans_free()
448 ret = dma_map_sg(trans->gsi->dev, sg, 1, trans->direction); in gsi_trans_page_add()
475 ret = dma_map_sg(trans->gsi->dev, sg, used, trans->direction); in gsi_trans_skb_add()
532 * __gsi_trans_commit() - Common GSI transaction commit code
544 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in __gsi_trans_commit()
604 /* Commit a GSI transaction */
613 /* Commit a GSI transaction and wait for it to complete */
629 /* Commit a GSI transaction and wait for it to complete, with timeout */
656 dma_unmap_sg(trans->gsi->dev, trans->sgl, trans->used, in gsi_trans_complete()
673 /* channel->gsi->mutex is held by caller */ in gsi_channel_trans_cancel_pending()
690 int gsi_trans_read_byte(struct gsi *gsi, u32 channel_id, dma_addr_t addr) in gsi_trans_read_byte() argument
692 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_trans_read_byte()
715 void gsi_trans_read_byte_done(struct gsi *gsi, u32 channel_id) in gsi_trans_read_byte_done() argument
717 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_trans_read_byte_done()
722 /* Initialize a channel's GSI transaction info */
723 int gsi_channel_trans_init(struct gsi *gsi, u32 channel_id) in gsi_channel_trans_init() argument
725 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_channel_trans_init()
750 tre_max = gsi_channel_tre_max(channel->gsi, channel_id); in gsi_channel_trans_init()
796 dev_err(gsi->dev, "error %d initializing channel %u transactions\n", in gsi_channel_trans_init()