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

Commit 029b1403 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa: CV2X header file changes"

parents 0b8fd900 a604ebfe
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -635,6 +635,7 @@ struct ipa_ext_intf {
 *  by IPA driver
 * @keep_ipa_awake: when true, IPA will not be clock gated
 * @napi_enabled: when true, IPA call client callback to start polling
 * @bypass_agg: when true, IPA bypasses the aggregation
 */
struct ipa_sys_connect_params {
	struct ipa_ep_cfg ipa_ep_cfg;
@@ -646,6 +647,7 @@ struct ipa_sys_connect_params {
	bool keep_ipa_awake;
	struct napi_struct *napi_obj;
	bool recycle_enabled;
	bool bypass_agg;
};

/**
+7 −0
Original line number Diff line number Diff line
@@ -18,9 +18,16 @@ enum ipa_usb_teth_prot {
	IPA_USB_RMNET = 2,
	IPA_USB_MBIM = 3,
	IPA_USB_DIAG = 4,
	IPA_USB_RMNET_CV2X = 5,
	IPA_USB_MAX_TETH_PROT_SIZE
};

enum teth_bridge_params {
	IPA_TETH_BRIDGE_1 = 0,
	IPA_TETH_BRIDGE_2 = 1,
	IPA_TETH_BRIDGE_MAX
};

/**
 * ipa_usb_teth_params - parameters for RDNIS/ECM initialization API
 *
+68 −7
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@
#define IPA_IOCTL_APP_CLOCK_VOTE                79
#define IPA_IOCTL_PDN_CONFIG                    80
#define IPA_IOCTL_SET_MAC_FLT                   81
#define IPA_IOCTL_GET_PHERIPHERAL_EP_INFO       82

/**
 * max size of the header to be inserted
@@ -187,6 +188,12 @@
#define IPA_FLT_RT_SW_COUNTER \
	(IPA_MAX_FLT_RT_CNT_INDEX - IPA_FLT_RT_HW_COUNTER)

/**
 * New feature flag for CV2X config.
 */

#define IPA_CV2X_SUPPORT

/**
 * the attributes of the rule (routing or filtering)
 */
@@ -407,9 +414,15 @@ enum ipa_client_type {

	IPA_CLIENT_MHI_LOW_LAT_PROD		= 110,
	IPA_CLIENT_MHI_LOW_LAT_CONS		= 111,

	IPA_CLIENT_MHI2_PROD	= 112,
	IPA_CLIENT_MHI2_CONS	= 113,

	IPA_CLIENT_Q6_CV2X_PROD	= 114,
	IPA_CLIENT_Q6_CV2X_CONS	= 115,
};

#define IPA_CLIENT_MAX (IPA_CLIENT_MHI_LOW_LAT_CONS + 1)
#define IPA_CLIENT_MAX (IPA_CLIENT_Q6_CV2X_CONS + 1)

#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
@@ -479,6 +492,7 @@ enum ipa_client_type {
	(client) == IPA_CLIENT_Q6_UL_NLO_DATA_CONS || \
	(client) == IPA_CLIENT_Q6_UL_NLO_ACK_CONS || \
	(client) == IPA_CLIENT_Q6_QBAP_STATUS_CONS || \
	(client) == IPA_CLIENT_Q6_CV2X_CONS || \
	(client) == IPA_CLIENT_Q6_AUDIO_DMA_MHI_CONS)

#define IPA_CLIENT_IS_Q6_PROD(client) \
@@ -488,6 +502,7 @@ enum ipa_client_type {
	(client) == IPA_CLIENT_Q6_DECOMP_PROD || \
	(client) == IPA_CLIENT_Q6_DECOMP2_PROD || \
	(client) == IPA_CLIENT_Q6_DL_NLO_DATA_PROD || \
	(client) == IPA_CLIENT_Q6_CV2X_PROD || \
	(client) == IPA_CLIENT_Q6_AUDIO_DMA_MHI_PROD)

#define IPA_CLIENT_IS_Q6_NON_ZIP_CONS(client) \
@@ -498,6 +513,7 @@ enum ipa_client_type {
	(client) == IPA_CLIENT_Q6_UL_NLO_DATA_CONS || \
	(client) == IPA_CLIENT_Q6_UL_NLO_ACK_CONS || \
	(client) == IPA_CLIENT_Q6_QBAP_STATUS_CONS || \
	(client) == IPA_CLIENT_Q6_CV2X_CONS || \
	(client) == IPA_CLIENT_Q6_AUDIO_DMA_MHI_CONS)

#define IPA_CLIENT_IS_Q6_ZIP_CONS(client) \
@@ -509,6 +525,7 @@ enum ipa_client_type {
	(client) == IPA_CLIENT_Q6_WAN_PROD || \
	(client) == IPA_CLIENT_Q6_CMD_PROD || \
	(client) == IPA_CLIENT_Q6_DL_NLO_DATA_PROD || \
	(client) == IPA_CLIENT_Q6_CV2X_PROD || \
	(client) == IPA_CLIENT_Q6_AUDIO_DMA_MHI_PROD)

#define IPA_CLIENT_IS_Q6_ZIP_PROD(client) \
@@ -523,17 +540,15 @@ enum ipa_client_type {
	((client) == IPA_CLIENT_MEMCPY_DMA_SYNC_PROD || \
	(client) == IPA_CLIENT_MEMCPY_DMA_ASYNC_PROD)

#define IPA_CLIENT_IS_MHI_CONS(client) \
	((client) == IPA_CLIENT_MHI_CONS || \
	(client) == IPA_CLIENT_MHI_DPL_CONS || \
	(client) == IPA_CLIENT_MHI_LOW_LAT_CONS)

#define IPA_CLIENT_IS_MHI(client) \
	((client) == IPA_CLIENT_MHI_CONS || \
	(client) == IPA_CLIENT_MHI_PROD || \
	(client) == IPA_CLIENT_MHI2_PROD || \
	(client) == IPA_CLIENT_MHI2_CONS || \
	(client) == IPA_CLIENT_MHI_DPL_CONS || \
	(client) == IPA_CLIENT_MHI_LOW_LAT_CONS || \
	(client) == IPA_CLIENT_MHI_LOW_LAT_PROD)
	(client) == IPA_CLIENT_MHI_LOW_LAT_PROD || \
	(client) == IPA_CLIENT_MHI_QDSS_CONS)

#define IPA_CLIENT_IS_TEST_PROD(client) \
	((client) == IPA_CLIENT_TEST_PROD || \
@@ -2334,6 +2349,48 @@ struct ipa_ioc_gsb_info {
	char name[IPA_RESOURCE_NAME_MAX];
};

#define QUERY_MAX_EP_PAIRS	2

#define IPA_USB0_EP_ID		11
#define IPA_USB1_EP_ID		12

#define IPA_PCIE0_EP_ID		21
#define IPA_PCIE1_EP_ID		22

enum ipa_peripheral_ep_type {
	IPA_DATA_EP_TYP_RESERVED = 0,
	IPA_DATA_EP_TYP_HSIC = 1,
	IPA_DATA_EP_TYP_HSUSB = 2,
	IPA_DATA_EP_TYP_PCIE = 3,
	IPA_DATA_EP_TYP_EMBEDDED = 4,
	IPA_DATA_EP_TYP_BAM_DMUX,
};

struct ipa_ep_pair_info {
	__u32 consumer_pipe_num;
	__u32 producer_pipe_num;
	__u32 ep_id;
	__u32 padding;
};

/**
 * struct ipa_ioc_get_ep_info - query usb/pcie ep info
 * @ep_type: type USB/PCIE - i/p param
 * @max_ep_pairs: max number of ep_pairs (constant),
		(QUERY_MAX_EP_PAIRS)
 * @num_ep_pairs: number of ep_pairs - o/p param
 * @ep_pair_size: sizeof(ipa_ep_pair_info) * max_ep_pairs
 * @info: structure contains ep pair info
 */
struct ipa_ioc_get_ep_info {
	enum ipa_peripheral_ep_type ep_type;
	__u32 ep_pair_size;
	__u8 max_ep_pairs;
	__u8 num_ep_pairs;
	__u16 padding;
	__u64 info;
};

/**
 * struct ipa_ioc_wigig_fst_switch - switch between wigig and wlan
 * @netdev_name: wigig interface name
@@ -3004,6 +3061,10 @@ struct ipa_ioc_mac_client_list_type {
				IPA_IOCTL_SET_MAC_FLT, \
				struct ipa_ioc_mac_client_list_type)

#define IPA_IOC_GET_PHERIPHERAL_EP_INFO _IOWR(IPA_IOC_MAGIC, \
				IPA_IOCTL_GET_PHERIPHERAL_EP_INFO, \
				struct ipa_ioc_get_ep_info)

/*
 * unique magic number of the Tethering bridge ioctls
 */