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

Commit 767ae2bb authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ipa3: header file change for wdi-stats"

parents a9a3911b 3c47ad5b
Loading
Loading
Loading
Loading
+63 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ enum ipa_dp_evt_type {
};

/**
 * enum hdr_total_len_or_pad_type - type vof alue held by TOTAL_LEN_OR_PAD
 * enum hdr_total_len_or_pad_type - type of value held by TOTAL_LEN_OR_PAD
 * field in header configuration register.
 * @IPA_HDR_PAD: field is used as padding length
 * @IPA_HDR_TOTAL_LEN: field is used as total length
@@ -453,6 +453,55 @@ struct ipa_ep_cfg_ctrl {
typedef void (*ipa_notify_cb)(void *priv, enum ipa_dp_evt_type evt,
		       unsigned long data);

/**
 * enum ipa_wdi_meter_evt_type - type of event client callback is
 * for AP+STA mode metering
 * @IPA_GET_WDI_SAP_STATS: get IPA_stats betwen SAP and STA -
 *			use ipa_get_wdi_sap_stats structure
 * @IPA_SET_WIFI_QUOTA: set quota limit on STA -
 *			use ipa_set_wifi_quota structure
 */
enum ipa_wdi_meter_evt_type {
	IPA_GET_WDI_SAP_STATS,
	IPA_SET_WIFI_QUOTA,
};

struct ipa_get_wdi_sap_stats {
	/* indicate to reset stats after query */
	uint8_t reset_stats;
	/* indicate valid stats from wlan-fw */
	uint8_t stats_valid;
	/* Tx: SAP->STA */
	uint64_t ipv4_tx_packets;
	uint64_t ipv4_tx_bytes;
	/* Rx: STA->SAP */
	uint64_t ipv4_rx_packets;
	uint64_t ipv4_rx_bytes;
	uint64_t ipv6_tx_packets;
	uint64_t ipv6_tx_bytes;
	uint64_t ipv6_rx_packets;
	uint64_t ipv6_rx_bytes;
};

/**
 * struct ipa_set_wifi_quota - structure used for
 *                                   IPA_SET_WIFI_QUOTA.
 *
 * @quota_bytes:    Quota (in bytes) for the STA interface.
 * @set_quota:       Indicate whether to set the quota (use 1) or
 *                   unset the quota.
 *
 */
struct ipa_set_wifi_quota {
	uint64_t quota_bytes;
	uint8_t  set_quota;
	/* indicate valid quota set from wlan-fw */
	uint8_t set_valid;
};

typedef void (*ipa_wdi_meter_notifier_cb)(enum ipa_wdi_meter_evt_type evt,
		       void *data);

/**
 * struct ipa_connect_params - low-level client connect input parameters. Either
 * client allocates the data and desc FIFO and specifies that in data+desc OR
@@ -1019,6 +1068,7 @@ struct ipa_wdi_dl_params_smmu {
 * @ul_smmu: WDI_RX configuration info when WLAN uses SMMU
 * @dl_smmu: WDI_TX configuration info when WLAN uses SMMU
 * @smmu_enabled: true if WLAN uses SMMU
 * @ipa_wdi_meter_notifier_cb: Get WDI stats and quato info
 */
struct ipa_wdi_in_params {
	struct ipa_sys_connect_params sys;
@@ -1029,6 +1079,9 @@ struct ipa_wdi_in_params {
		struct ipa_wdi_dl_params_smmu dl_smmu;
	} u;
	bool smmu_enabled;
#ifdef IPA_WAN_MSG_IPv6_ADDR_GW_LEN
	ipa_wdi_meter_notifier_cb wdi_notify;
#endif
};

/**
@@ -1291,6 +1344,9 @@ int ipa_resume_wdi_pipe(u32 clnt_hdl);
int ipa_suspend_wdi_pipe(u32 clnt_hdl);
int ipa_get_wdi_stats(struct IpaHwStatsWDIInfoData_t *stats);
u16 ipa_get_smem_restr_bytes(void);
int ipa_broadcast_wdi_quota_reach_ind(uint32_t fid,
		uint64_t num_bytes);

/*
 * To retrieve doorbell physical address of
 * wlan pipes
@@ -1878,6 +1934,12 @@ static inline int ipa_suspend_wdi_pipe(u32 clnt_hdl)
	return -EPERM;
}

static inline int ipa_broadcast_wdi_quota_reach_ind(uint32_t fid,
		uint64_t num_bytes)
{
	return -EPERM;
}

static inline int ipa_uc_wdi_get_dbpa(
	struct ipa_wdi_db_params *out)
{