1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright (c) 2021, Microsoft Corporation. */
3 
4 #ifndef _SHM_CHANNEL_H
5 #define _SHM_CHANNEL_H
6 
7 struct shm_channel {
8 	struct device *dev;
9 	void __iomem *base;
10 };
11 
12 void mana_smc_init(struct shm_channel *sc, struct device *dev,
13 		   void __iomem *base);
14 
15 int mana_smc_setup_hwc(struct shm_channel *sc, bool reset_vf, u64 eq_addr,
16 		       u64 cq_addr, u64 rq_addr, u64 sq_addr,
17 		       u32 eq_msix_index);
18 
19 int mana_smc_teardown_hwc(struct shm_channel *sc, bool reset_vf);
20 
21 #endif /* _SHM_CHANNEL_H */
22