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
263 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_pending()
278 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_complete()
294 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in gsi_trans_move_polled()
327 /* Allocate a GSI transaction on a channel */
328 struct gsi_trans *gsi_channel_trans_alloc(struct gsi *gsi, u32 channel_id, in gsi_channel_trans_alloc() argument
332 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_channel_trans_alloc()
336 /* assert(tre_count <= gsi_channel_trans_tre_max(gsi, channel_id)); */ in gsi_channel_trans_alloc()
348 trans->gsi = gsi; in gsi_channel_trans_alloc()
381 trans_info = &trans->gsi->channel[trans->channel_id].trans_info; in gsi_trans_free()
449 ret = dma_map_sg(trans->gsi->dev, sg, 1, trans->direction); in gsi_trans_page_add()
474 ret = dma_map_sg(trans->gsi->dev, sg, used, trans->direction); in gsi_trans_skb_add()
531 * __gsi_trans_commit() - Common GSI transaction commit code
543 struct gsi_channel *channel = &trans->gsi->channel[trans->channel_id]; in __gsi_trans_commit()
603 /* Commit a GSI transaction */
612 /* Commit a GSI transaction and wait for it to complete */
628 /* Commit a GSI transaction and wait for it to complete, with timeout */
655 dma_unmap_sg(trans->gsi->dev, trans->sgl, trans->used, in gsi_trans_complete()
672 /* channel->gsi->mutex is held by caller */ in gsi_channel_trans_cancel_pending()
689 int gsi_trans_read_byte(struct gsi *gsi, u32 channel_id, dma_addr_t addr) in gsi_trans_read_byte() argument
691 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_trans_read_byte()
714 void gsi_trans_read_byte_done(struct gsi *gsi, u32 channel_id) in gsi_trans_read_byte_done() argument
716 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_trans_read_byte_done()
721 /* Initialize a channel's GSI transaction info */
722 int gsi_channel_trans_init(struct gsi *gsi, u32 channel_id) in gsi_channel_trans_init() argument
724 struct gsi_channel *channel = &gsi->channel[channel_id]; in gsi_channel_trans_init()
749 tre_max = gsi_channel_tre_max(channel->gsi, channel_id); in gsi_channel_trans_init()
795 dev_err(gsi->dev, "error %d initializing channel %u transactions\n", in gsi_channel_trans_init()