summaryrefslogtreecommitdiff
path: root/include/soc
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2019-02-15 17:23:00 +0100
committerArnd Bergmann <arnd@arndb.de>2019-02-15 17:23:25 +0100
commitf73e22d621d3c0c8f88cedd42bb79e53863d40a4 (patch)
treefdc7ac99bcf5bfdd9c156db816d5ad51f0a06165 /include/soc
parent6f2185f8e345c9023bdd030d7dae4affd6bea539 (diff)
parentfe45ab552955ee93b492cbf86603eb02b3c77a66 (diff)
downloadlwn-f73e22d621d3c0c8f88cedd42bb79e53863d40a4.tar.gz
lwn-f73e22d621d3c0c8f88cedd42bb79e53863d40a4.zip
Merge tag 'tegra-for-5.1-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers
firmware: tegra: Changes for v5.1-rc1 These changes add support for BPMP on Tegra210. * tag 'tegra-for-5.1-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: firmware/tegra: Enable Tegra186 BPMP support on Tegra194 firmware: tegra: Conditionally support SoC generations firmware: tegra: bpmp-tegra186: Remove unused includes firmware: tegra: add bpmp driver for Tegra210 firmware: tegra: Refactor BPMP driver firmware: tegra: Reword messaging terminology Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/soc')
-rw-r--r--include/soc/tegra/bpmp.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/soc/tegra/bpmp.h b/include/soc/tegra/bpmp.h
index b02f926a0216..45960aa08f4a 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;
};
@@ -47,6 +50,7 @@ struct tegra_bpmp_channel {
struct tegra_bpmp_mb_data *ob;
struct completion completion;
struct tegra_ivc *ivc;
+ unsigned int index;
};
typedef void (*tegra_bpmp_mrq_handler_t)(unsigned int mrq,
@@ -63,12 +67,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 +172,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