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
7struct shm_channel {
8	struct device *dev;
9	void __iomem *base;
10};
11
12void mana_smc_init(struct shm_channel *sc, struct device *dev,
13		   void __iomem *base);
14
15int 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
19int mana_smc_teardown_hwc(struct shm_channel *sc, bool reset_vf);
20
21#endif /* _SHM_CHANNEL_H */
22