summaryrefslogtreecommitdiffstats
path: root/include/soc
diff options
context:
space:
mode:
authorTimo Alho <talho@nvidia.com>2019-01-24 19:03:53 +0200
committerThierry Reding <treding@nvidia.com>2019-01-25 15:58:47 +0100
commitcdfa358b248efd36c6a9cb4d4d0a3ba7509f8387 (patch)
treedb7d882df0d9233280ad0e4e300d3d3794f2b3f2 /include/soc
parent165ce6e01d2d00bff2f10eba8dd679cee44163bd (diff)
downloadlinux-cdfa358b248efd36c6a9cb4d4d0a3ba7509f8387.tar.gz
linux-cdfa358b248efd36c6a9cb4d4d0a3ba7509f8387.tar.bz2
linux-cdfa358b248efd36c6a9cb4d4d0a3ba7509f8387.zip
firmware: tegra: Refactor BPMP driver
Split BPMP driver into common and chip specific parts to facilitate adding support for previous and future Tegra chips that are using BPMP as co-processor. Signed-off-by: Timo Alho <talho@nvidia.com> Acked-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'include/soc')
-rw-r--r--include/soc/tegra/bpmp.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/soc/tegra/bpmp.h b/include/soc/tegra/bpmp.h
index b02f926a0216..bdd1bd107aba 100644
--- a/include/soc/tegra/bpmp.h
+++ b/include/soc/tegra/bpmp.h
@@ -23,6 +23,7 @@
#include <soc/tegra/bpmp-abi.h>
struct tegra_bpmp_clk;
+struct tegra_bpmp_ops;
struct tegra_bpmp_soc {
struct {
@@ -32,6 +33,8 @@ struct tegra_bpmp_soc {
unsigned int timeout;
} cpu_tx, thread, cpu_rx;
} channels;
+
+ const struct tegra_bpmp_ops *ops;
unsigned int num_resets;
};
@@ -63,12 +66,7 @@ struct tegra_bpmp_mrq {
struct tegra_bpmp {
const struct tegra_bpmp_soc *soc;
struct device *dev;
-
- struct {
- struct gen_pool *pool;
- dma_addr_t phys;
- void *virt;
- } tx, rx;
+ void *priv;
struct {
struct mbox_client client;
@@ -173,6 +171,8 @@ static inline bool tegra_bpmp_mrq_is_supported(struct tegra_bpmp *bpmp,
}
#endif
+void tegra_bpmp_handle_rx(struct tegra_bpmp *bpmp);
+
#if IS_ENABLED(CONFIG_CLK_TEGRA_BPMP)
int tegra_bpmp_init_clocks(struct tegra_bpmp *bpmp);
#else