28 lines
796 B
C
28 lines
796 B
C
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
|
|
/* Copyright (c) 2021, Microsoft Corporation. */
|
|
|
|
#ifndef _SHM_CHANNEL_H
|
|
#define _SHM_CHANNEL_H
|
|
|
|
#define SMC_APERTURE_BITS 256
|
|
#define SMC_BASIC_UNIT (sizeof(u32))
|
|
#define SMC_APERTURE_DWORDS (SMC_APERTURE_BITS / (SMC_BASIC_UNIT * 8))
|
|
#define SMC_LAST_DWORD (SMC_APERTURE_DWORDS - 1)
|
|
#define SMC_APERTURE_SIZE (SMC_APERTURE_BITS / 8)
|
|
|
|
struct shm_channel {
|
|
struct device *dev;
|
|
void __iomem *base;
|
|
};
|
|
|
|
void mana_smc_init(struct shm_channel *sc, struct device *dev,
|
|
void __iomem *base);
|
|
|
|
int mana_smc_setup_hwc(struct shm_channel *sc, bool reset_vf, u64 eq_addr,
|
|
u64 cq_addr, u64 rq_addr, u64 sq_addr,
|
|
u32 eq_msix_index);
|
|
|
|
int mana_smc_teardown_hwc(struct shm_channel *sc, bool reset_vf);
|
|
|
|
#endif /* _SHM_CHANNEL_H */
|