Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7e57282 authored by Michael Adisumarta's avatar Michael Adisumarta
Browse files

msm: ipa: include file changes fo MHI PRIME channels support



This change enables MHI PRIME channels for IPA tethering
offload support.

Change-Id: Ie92ee012f4aebf2f687237e26b035efecdcfcfe8
Acked-by: default avatarJyothi J <jyothij@qti.qualcomm.com>
Signed-off-by: default avatarMichael Adisumarta <madisuma@codeaurora.org>
parent c7a63c12
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1178,6 +1178,7 @@ struct ipa_tz_unlock_reg_info {


enum ipa_smmu_client_type {
enum ipa_smmu_client_type {
	IPA_SMMU_WLAN_CLIENT,
	IPA_SMMU_WLAN_CLIENT,
	IPA_SMMU_AP_CLIENT,
	IPA_SMMU_CLIENT_MAX
	IPA_SMMU_CLIENT_MAX
};
};


+32 −0
Original line number Original line Diff line number Diff line
@@ -701,6 +701,20 @@ struct __packed gsi_wdi_channel_scratch {
	uint32_t wdi_rx_qmap_id_internal:16;
	uint32_t wdi_rx_qmap_id_internal:16;
};
};


/**
* gsi_mhip_channel_scratch - MHI PRIME protocol SW config area of
* channel scratch
* @assert_bit_40: Valid only for non-host channels.
* Set to 1 for MHI’ channels when running over PCIe.
* @host_channel: Set to 1 for MHIP channel running on host.
*
*/
struct __packed gsi_mhip_channel_scratch {
	uint32_t assert_bit_40:1;
	uint32_t host_channel:1;
	uint32_t resvd1:30;
};

/**
/**
 * gsi_11ad_rx_channel_scratch - 11AD protocol SW config area of
 * gsi_11ad_rx_channel_scratch - 11AD protocol SW config area of
 * RX channel scratch
 * RX channel scratch
@@ -789,6 +803,7 @@ union __packed gsi_channel_scratch {
	struct __packed gsi_11ad_rx_channel_scratch rx_11ad;
	struct __packed gsi_11ad_rx_channel_scratch rx_11ad;
	struct __packed gsi_11ad_tx_channel_scratch tx_11ad;
	struct __packed gsi_11ad_tx_channel_scratch tx_11ad;
	struct __packed gsi_wdi3_channel_scratch wdi3;
	struct __packed gsi_wdi3_channel_scratch wdi3;
	struct __packed gsi_mhip_channel_scratch mhip;
	struct __packed {
	struct __packed {
		uint32_t word1;
		uint32_t word1;
		uint32_t word2;
		uint32_t word2;
@@ -828,6 +843,22 @@ struct __packed gsi_mhi_evt_scratch {
	uint32_t resvd2;
	uint32_t resvd2;
};
};


/**
* gsi_mhip_evt_scratch - MHI PRIME protocol SW config area of
* event scratch
*/
struct __packed gsi_mhip_evt_scratch {
	uint32_t rp_mod_threshold:8;
	uint32_t rp_mod_timer:4;
	uint32_t rp_mod_counter:8;
	uint32_t rp_mod_timer_id:4;
	uint32_t rp_mod_timer_running:1;
	uint32_t resvd1:7;
	uint32_t fixed_buffer_sz:16;
	uint32_t resvd2:16;
};


/**
/**
 * gsi_xdci_evt_scratch - xDCI protocol SW config area of
 * gsi_xdci_evt_scratch - xDCI protocol SW config area of
 * event scratch
 * event scratch
@@ -893,6 +924,7 @@ union __packed gsi_evt_scratch {
	struct __packed gsi_wdi_evt_scratch wdi;
	struct __packed gsi_wdi_evt_scratch wdi;
	struct __packed gsi_11ad_evt_scratch w11ad;
	struct __packed gsi_11ad_evt_scratch w11ad;
	struct __packed gsi_wdi3_evt_scratch wdi3;
	struct __packed gsi_wdi3_evt_scratch wdi3;
	struct __packed gsi_mhip_evt_scratch mhip;
	struct __packed {
	struct __packed {
		uint32_t word1;
		uint32_t word1;
		uint32_t word2;
		uint32_t word2;
+14 −1
Original line number Original line Diff line number Diff line
@@ -351,9 +351,17 @@ enum ipa_client_type {


	/* RESERVED PROD			= 94, */
	/* RESERVED PROD			= 94, */
	IPA_CLIENT_APPS_WAN_COAL_CONS		= 95,
	IPA_CLIENT_APPS_WAN_COAL_CONS		= 95,

	IPA_CLIENT_MHI_PRIME_TETH_PROD		= 96,
	IPA_CLIENT_MHI_PRIME_TETH_CONS		= 97,

	IPA_CLIENT_MHI_PRIME_RMNET_PROD		= 98,
	IPA_CLIENT_MHI_PRIME_RMNET_CONS		= 99,

	IPA_CLIENT_MHI_PRIME_DPL_PROD		= 100,
};
};


#define IPA_CLIENT_MAX (IPA_CLIENT_APPS_WAN_COAL_CONS + 1)
#define IPA_CLIENT_MAX (IPA_CLIENT_MHI_PRIME_DPL_PROD + 1)


#define IPA_CLIENT_WLAN2_PROD IPA_CLIENT_A5_WLAN_AMPDU_PROD
#define IPA_CLIENT_WLAN2_PROD IPA_CLIENT_A5_WLAN_AMPDU_PROD
#define IPA_CLIENT_Q6_DL_NLO_DATA_PROD IPA_CLIENT_Q6_DL_NLO_DATA_PROD
#define IPA_CLIENT_Q6_DL_NLO_DATA_PROD IPA_CLIENT_Q6_DL_NLO_DATA_PROD
@@ -368,6 +376,11 @@ enum ipa_client_type {
#define IPA_CLIENT_WIGIG3_CONS IPA_CLIENT_WIGIG3_CONS
#define IPA_CLIENT_WIGIG3_CONS IPA_CLIENT_WIGIG3_CONS
#define IPA_CLIENT_WIGIG4_CONS IPA_CLIENT_WIGIG4_CONS
#define IPA_CLIENT_WIGIG4_CONS IPA_CLIENT_WIGIG4_CONS
#define IPA_CLIENT_APPS_WAN_COAL_CONS IPA_CLIENT_APPS_WAN_COAL_CONS
#define IPA_CLIENT_APPS_WAN_COAL_CONS IPA_CLIENT_APPS_WAN_COAL_CONS
#define IPA_CLIENT_MHI_PRIME_TETH_PROD IPA_CLIENT_MHI_PRIME_TETH_PROD
#define IPA_CLIENT_MHI_PRIME_TETH_CONS IPA_CLIENT_MHI_PRIME_TETH_CONS
#define IPA_CLIENT_MHI_PRIME_RMNET_PROD IPA_CLIENT_MHI_PRIME_RMNET_PROD
#define IPA_CLIENT_MHI_PRIME_RMNET_CONS IPA_CLIENT_MHI_PRIME_RMNET_CONS
#define IPA_CLIENT_MHI_PRIME_DPL_PROD IPA_CLIENT_MHI_PRIME_DPL_PROD


#define IPA_CLIENT_IS_APPS_CONS(client) \
#define IPA_CLIENT_IS_APPS_CONS(client) \
	((client) == IPA_CLIENT_APPS_LAN_CONS || \
	((client) == IPA_CLIENT_APPS_LAN_CONS || \