msm: ipa: device assisted low power states support in IPA

This change supports device assisted low power modes -M1/M2 states
in IPA. For M1/M2 states, GSI is continued to be in poll mode where
as for M3 state GSI is moved to doorbell mode.

Change-Id: I48a7c9f2c27da0be69a6bb50dfec0a542e46caec
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
This commit is contained in:
Michael Adisumarta 2020-11-06 17:24:34 -08:00
commit 043cae74b2

View file

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*/
#ifndef IPA_MHI_H_
@ -22,6 +22,14 @@ enum ipa_mhi_event_type {
IPA_MHI_EVENT_MAX,
};
enum ipa_mhi_mstate {
IPA_MHI_STATE_M0,
IPA_MHI_STATE_M1,
IPA_MHI_STATE_M2,
IPA_MHI_STATE_M3,
IPA_MHI_STATE_M_MAX
};
typedef void (*mhi_client_cb)(void *priv, enum ipa_mhi_event_type event,
unsigned long data);
@ -111,6 +119,8 @@ int ipa_mhi_resume(void);
void ipa_mhi_destroy(void);
int ipa_mhi_update_mstate(enum ipa_mhi_mstate mstate_info);
#else /* IS_ENABLED(CONFIG_IPA3) */
static inline int ipa_mhi_init(struct ipa_mhi_init_params *params)
@ -149,6 +159,12 @@ static inline void ipa_mhi_destroy(void)
}
static inline int ipa_mhi_update_mstate
(enum ipa_mhi_mstate mstate_info)
{
return -EPERM;
}
#endif /* IS_ENABLED(CONFIG_IPA3) */
#endif /* IPA_MHI_H_ */