tegra: ivc: support ivc separate from hypervisor
authorPeter Newman <pnewman@nvidia.com>
Wed, 5 Nov 2014 20:09:28 +0000 (12:09 -0800)
committerAlexander Van Brunt <avanbrunt@nvidia.com>
Fri, 14 Nov 2014 01:02:34 +0000 (17:02 -0800)
commit2c01d1d36cfa61adc1f5b929c829bfe9025afc8c
treef8a714e35835bbc286db3baf839e8247c3d0ad32
parent8f9b405cee79fbfbc325a697665278d3f46ce355
tegra: ivc: support ivc separate from hypervisor

Move the IVC library from the Tegra virtualization directory to the
platform directory to serve non-virtualization use cases, such as
communication with coprocessors. Consequently, rename
tegra-ivc-internal.h to tegra-ivc-instance.h and move it to
include/linux to reflect that its APIs are available to any kernel user
with a shared memory region and a notification mechanism.

Fix some errors in calculating the dma handles used to perform software
cache maintenance. This does not affect communication over coherent
shared memory.

Add tegra_[hv_]ivc_tx_frames_available() to query the number of frames
currently available in the transmit queue. This helps optimize RPC
implementations.

Bug 1559020

Change-Id: Ifee5c2d10dade020115cff32af9d5ffa0fd82f73
Signed-off-by: Peter Newman <pnewman@nvidia.com>
Reviewed-on: http://git-master/r/594651
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bahadir Balban <bbalban@nvidia.com>
Tested-by: Bahadir Balban <bbalban@nvidia.com>
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
drivers/platform/tegra/Kconfig
drivers/platform/tegra/Makefile
drivers/platform/tegra/tegra-ivc.c [moved from drivers/virt/tegra/tegra-ivc.c with 90% similarity]
drivers/virt/tegra/Kconfig
drivers/virt/tegra/Makefile
drivers/virt/tegra/tegra_hv.c
include/linux/tegra-ivc-instance.h [moved from drivers/virt/tegra/tegra-ivc-internal.h with 71% similarity]
include/linux/tegra-ivc.h