diff options
| author | Alex Elder <[email protected]> | 2020-03-05 22:28:23 -0600 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2020-03-08 22:07:10 -0700 |
| commit | 9dd441e4ed5755c2a74c206bd9bc50a431b1689b (patch) | |
| tree | 687681876d6de6d6490dbc4fc39718a30c8be6a7 /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | c3f398b141a8d80e502d36ad56102608f3031aa3 (diff) | |
soc: qcom: ipa: GSI transactions
This patch implements GSI transactions. A GSI transaction is a
structure that represents a single request (consisting of one or
more TREs) sent to the GSI hardware. The last TRE in a transaction
includes a flag requesting that the GSI interrupt the AP to notify
that it has completed.
TREs are executed and completed strictly in order. For this reason,
the completion of a single TRE implies that all previous TREs (in
particular all of those "earlier" in a transaction) have completed.
Whenever there is a need to send a request (a set of TREs) to the
IPA, a GSI transaction is allocated, specifying the number of TREs
that will be required. Details of the request (e.g. transfer offsets
and length) are represented by in a Linux scatterlist array that is
incorporated in the transaction structure.
Once all commands (TREs) are added to a transaction it is committed.
When the hardware signals that the request has completed, a callback
function allows for cleanup or followup activity to be performed
before the transaction is freed.
Signed-off-by: Alex Elder <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions