]> git.karo-electronics.de Git - karo-tx-linux.git/commit
firmware: tegra: Add IVC library
authorThierry Reding <treding@nvidia.com>
Fri, 19 Aug 2016 17:05:04 +0000 (19:05 +0200)
committerThierry Reding <treding@nvidia.com>
Fri, 18 Nov 2016 13:33:42 +0000 (14:33 +0100)
commitca791d7f425635b63706e00896a141f85f7de463
treeebb76fa51c8e19d74fdb0e480032687203921f72
parentd55865608fe0191935665acc6bb6d36bc8bb4b2e
firmware: tegra: Add IVC library

The Inter-VM communication (IVC) is a communication protocol which is
designed for interprocessor communication (IPC) or the communication
between the hypervisor and the virtual machine with a guest OS.

Message channels are used to communicate between processors. They are
backed by DRAM or SRAM, so care must be taken to maintain coherence of
data.

The IVC library maintains memory-based descriptors for the transmission
and reception channels as well as the data coherence of the counter and
payload. Clients, such as the driver for the BPMP firmware, can use the
library to exchange messages with remote processors.

Based on work by Peter Newman <pnewman@nvidia.com> and Joseph Lo
<josephl@nvidia.com>.

Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/firmware/Kconfig
drivers/firmware/Makefile
drivers/firmware/tegra/Kconfig [new file with mode: 0644]
drivers/firmware/tegra/Makefile [new file with mode: 0644]
drivers/firmware/tegra/ivc.c [new file with mode: 0644]
include/soc/tegra/ivc.h [new file with mode: 0644]