Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 
0003 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
0004  * Copyright (C) 2019-2020 Linaro Ltd.
0005  */
0006 #ifndef _IPA_SMP2P_H_
0007 #define _IPA_SMP2P_H_
0008 
0009 #include <linux/types.h>
0010 
0011 struct ipa;
0012 
0013 /**
0014  * ipa_smp2p_init() - Initialize the IPA SMP2P subsystem
0015  * @ipa:    IPA pointer
0016  * @modem_init: Whether the modem is responsible for GSI initialization
0017  *
0018  * Return:  0 if successful, or a negative error code
0019  *
0020  */
0021 int ipa_smp2p_init(struct ipa *ipa, bool modem_init);
0022 
0023 /**
0024  * ipa_smp2p_exit() - Inverse of ipa_smp2p_init()
0025  * @ipa:    IPA pointer
0026  */
0027 void ipa_smp2p_exit(struct ipa *ipa);
0028 
0029 /**
0030  * ipa_smp2p_irq_disable_setup() - Disable the "setup ready" interrupt
0031  * @ipa:    IPA pointer
0032  *
0033  * Disable the "ipa-setup-ready" interrupt from the modem.
0034  */
0035 void ipa_smp2p_irq_disable_setup(struct ipa *ipa);
0036 
0037 /**
0038  * ipa_smp2p_notify_reset() - Reset modem notification state
0039  * @ipa:    IPA pointer
0040  *
0041  * If the modem crashes it queries the IPA power state.  In cleaning
0042  * up after such a crash this is used to reset some state maintained
0043  * for managing this notification.
0044  */
0045 void ipa_smp2p_notify_reset(struct ipa *ipa);
0046 
0047 #endif /* _IPA_SMP2P_H_ */