Loading include/linux/ipa.h +63 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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; Loading @@ -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 }; /** Loading Loading @@ -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 Loading Loading @@ -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) { Loading Loading
include/linux/ipa.h +63 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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; Loading @@ -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 }; /** Loading Loading @@ -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 Loading Loading @@ -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) { Loading