| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. | |
| * Copyright (C) 2019-2022 Linaro Ltd. | |
| */ | |
| #ifndef _IPA_SMP2P_H_ | |
| #define _IPA_SMP2P_H_ | |
| #include <linux/types.h> | |
| struct platform_device; | |
| struct ipa; | |
| /** | |
| * ipa_smp2p_init() - Initialize the IPA SMP2P subsystem | |
| * @ipa: IPA pointer | |
| * @pdev: Platform device pointer | |
| * @modem_init: Whether the modem is responsible for GSI initialization | |
| * | |
| * Return: 0 if successful, or a negative error code | |
| */ | |
| int ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, | |
| bool modem_init); | |
| /** | |
| * ipa_smp2p_exit() - Inverse of ipa_smp2p_init() | |
| * @ipa: IPA pointer | |
| */ | |
| void ipa_smp2p_exit(struct ipa *ipa); | |
| /** | |
| * ipa_smp2p_irq_disable_setup() - Disable the "setup ready" interrupt | |
| * @ipa: IPA pointer | |
| * | |
| * Disable the "ipa-setup-ready" interrupt from the modem. | |
| */ | |
| void ipa_smp2p_irq_disable_setup(struct ipa *ipa); | |
| /** | |
| * ipa_smp2p_notify_reset() - Reset modem notification state | |
| * @ipa: IPA pointer | |
| * | |
| * If the modem crashes it queries the IPA power state. In cleaning | |
| * up after such a crash this is used to reset some state maintained | |
| * for managing this notification. | |
| */ | |
| void ipa_smp2p_notify_reset(struct ipa *ipa); | |
| #endif /* _IPA_SMP2P_H_ */ |