2020-03-06 12:28:28 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
|
|
|
|
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
|
|
|
|
* Copyright (C) 2019-2020 Linaro Ltd.
|
|
|
|
*/
|
|
|
|
#ifndef _IPA_SMP2P_H_
|
|
|
|
#define _IPA_SMP2P_H_
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
|
|
|
struct ipa;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ipa_smp2p_init() - Initialize the IPA SMP2P subsystem
|
|
|
|
* @ipa: IPA pointer
|
|
|
|
* @modem_init: Whether the modem is responsible for GSI initialization
|
|
|
|
*
|
2020-07-13 20:24:18 +08:00
|
|
|
* Return: 0 if successful, or a negative error code
|
2020-03-06 12:28:28 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
int ipa_smp2p_init(struct ipa *ipa, bool modem_init);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ipa_smp2p_exit() - Inverse of ipa_smp2p_init()
|
|
|
|
* @ipa: IPA pointer
|
|
|
|
*/
|
|
|
|
void ipa_smp2p_exit(struct ipa *ipa);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ipa_smp2p_disable() - Prevent "ipa-setup-ready" interrupt handling
|
|
|
|
* @IPA: IPA pointer
|
|
|
|
*
|
|
|
|
* Prevent handling of the "setup ready" interrupt from the modem.
|
|
|
|
* This is used before initiating shutdown of the driver.
|
|
|
|
*/
|
|
|
|
void ipa_smp2p_disable(struct ipa *ipa);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ipa_smp2p_notify_reset() - Reset modem notification state
|
|
|
|
* @ipa: IPA pointer
|
|
|
|
*
|
|
|
|
* If the modem crashes it queries the IPA clock 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_ */
|