soc: qcom: ipa: the generic software interface
authorAlex Elder <elder@linaro.org>
Fri, 6 Mar 2020 04:28:21 +0000 (22:28 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Mar 2020 05:07:09 +0000 (22:07 -0700)
commit650d1603825d8bac13557d1c0e971e9f93b386f3
tree4de0f92876c081b84d157af09dff8dd768529161
parentca48b27be7c637b9840257e7f7befe6cabb96433
soc: qcom: ipa: the generic software interface

This patch includes "gsi.c", which implements the generic software
interface (GSI) for IPA.  The generic software interface abstracts
channels, which provide a means of transferring data either from the
AP to the IPA, or from the IPA to the AP.  A ring buffer of "transfer
elements" (TREs) is used to describe data transfers to perform.  The
AP writes a doorbell register associated with a channel to let it know
it has added new entries (for an AP->IPA channel) or has finished
processing entries (for an IPA->AP channel).

Each channel also has an event ring buffer, used by the IPA to
communicate information about events related to a channel (for
example, the completion of TREs).  The IPA writes its own doorbell
register, which triggers an interrupt on the AP, to signal that
new event information has arrived.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/gsi.c [new file with mode: 0644]