qcacld-3.0: Fix PMO Documentation

The kernel-doc script identified a multitude of documentation issues
in components/pmo, so fix them.

Note that there is currently one false positive error being flagged in
the documentation for typedef pmo_get_vdev_dp_handle.

Change-Id: Iddaccbf1b55557a82af34d2b6b4913d37c71123a
CRs-Fixed: 3359766
This commit is contained in:
Jeff Johnson
2023-01-04 12:41:16 -08:00
committed by Madan Koyyalamudi
parent 4d133e23ab
commit bf0930cb1a
23 changed files with 218 additions and 141 deletions

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -63,7 +64,7 @@ QDF_STATUS pmo_core_disable_gtk_offload_in_fwr(struct wlan_objmgr_vdev *vdev);
/**
* pmo_core_get_gtk_rsp(): API to send gtk response request to fwr
* @vdev: objmgr vdev handle
* @gtk_rsp: pmo gtk response request
* @gtk_rsp_req: pmo gtk response request
*
* This api will send gtk response request to fwr
*

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -130,6 +131,7 @@ bool pmo_is_vdev_in_beaconning_mode(enum QDF_OPMODE vdev_opmode);
/**
* pmo_core_is_ap_mode_supports_arp_ns() - To check ap mode supports arp/ns
* @psoc: objmgr psoc handle
* @vdev_opmode: vdev opmode
*
* API to check if ap mode supports arp/ns offload

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -38,7 +39,7 @@ QDF_STATUS pmo_core_set_mc_filter_req(struct wlan_objmgr_vdev *vdev,
struct pmo_mc_addr_list *mc_list);
/**
* pmo_clear_mc_filter_req() -send mc filter clear request
* pmo_core_clear_mc_filter_req() -send mc filter clear request
* @vdev: objmgr vdev
* @mc_list: a list of mc addresses to clear in fwr
*
@@ -49,9 +50,7 @@ QDF_STATUS pmo_core_clear_mc_filter_req(struct wlan_objmgr_vdev *vdev,
/**
* pmo_core_cache_mc_addr_list(): API to cache mc addr list in pmo vdev priv obj
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @mc_list_config: Multicast list configuration
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
*/
@@ -69,7 +68,7 @@ QDF_STATUS pmo_core_flush_mc_addr_list(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
/**
* pmo_core_enhance_mc_filter_enable() - enable enhanced multicast filtering
* pmo_core_enhanced_mc_filter_enable() - enable enhanced multicast filtering
* @vdev: the vdev to enable enhanced multicast filtering for
*
* Return: QDF_STATUS
@@ -77,7 +76,7 @@ QDF_STATUS pmo_core_flush_mc_addr_list(struct wlan_objmgr_psoc *psoc,
QDF_STATUS pmo_core_enhanced_mc_filter_enable(struct wlan_objmgr_vdev *vdev);
/**
* pmo_core_enhance_mc_filter_disable() - disable enhanced multicast filtering
* pmo_core_enhanced_mc_filter_disable() - disable enhanced multicast filtering
* @vdev: the vdev to disable enhanced multicast filtering for
*
* Return: QDF_STATUS
@@ -88,8 +87,7 @@ QDF_STATUS pmo_core_enhanced_mc_filter_disable(struct wlan_objmgr_vdev *vdev);
* pmo_core_enable_mc_addr_filtering_in_fwr(): Enable cached mc add list in fwr
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @action: true for enable els false
* @trigger: pmo trigger reason
*
* API to enable cached mc add list in fwr
*
@@ -104,8 +102,7 @@ QDF_STATUS pmo_core_enable_mc_addr_filtering_in_fwr(
* pmo_core_disable_mc_addr_filtering_in_fwr(): Disable cached mc addr list
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @action: true for enable els false
* @trigger: pmo trigger reason
*
* API to disable cached mc add list in fwr
*
@@ -117,11 +114,12 @@ QDF_STATUS pmo_core_disable_mc_addr_filtering_in_fwr(
enum pmo_offload_trigger trigger);
/**
* pmo_core_get_mc_addr_list_count() -set mc address count
* pmo_core_set_mc_addr_list_count() - set mc address count
* @psoc: objmgr psoc
* @vdev_id: vdev id
* @count: mc address count
*
* Return: set mc address count
* Return: void
*/
void pmo_core_set_mc_addr_list_count(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id, uint8_t count);

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -70,7 +71,7 @@ pmo_vdev_get_id(struct wlan_objmgr_vdev *vdev)
/* Tree Navigation */
/**
/*
* !PLEASE READ!
*
* The following are objmgr naviation helpers for traversing objmgr object

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -37,7 +38,7 @@ struct wlan_objmgr_psoc;
uint32_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc);
/**
* pmo_set_pkt_fltr_req() - Set packet filter
* pmo_core_set_pkt_filter() - Set packet filter
* @psoc: objmgr psoc
* @pmo_set_pkt_fltr_req: packet filter set param
* @vdev_id: vdev id

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -46,7 +46,10 @@
* @hif_hdl: hif layer handle
* @txrx_pdev_id: txrx pdev identifier
* @pause_bitmap_notifier: registered callback to update pause bitmap value
* @pmo_get_pause_bitmap: registered callback to get pause bitmap value
* @get_pause_bitmap: registered callback to get pause bitmap value
* @get_vdev_dp_handle: registered callback to get vdev's DP handle
* @is_device_in_low_pwr_mode: registered callback to determine if the
* device is in low power mode
* @get_dtim_period: register callback to get dtim period from mlme
* @get_beacon_interval: register callback to get beacon interval from mlme
* @lock: spin lock for pmo psoc
@@ -95,7 +98,8 @@ struct wlan_pmo_ctx {
* @vdev_ns_req: place holder for ns request for vdev
* @vdev_mc_list_req: place holder for mc addr list for vdev
* @addr_filter_pattern: addr filter pattern for vdev
* @vdev_gtk_params: place holder for gtk request for vdev
* @vdev_gtk_req: place holder for gtk request for vdev
* @vdev_gtk_rsp_req: place holder for gtk response request for vdev
* @gtk_err_enable: gtk error is enabled or not
* @vdev_bpf_req: place holder for apf/bpf for vdev
* @vdev_pkt_filter: place holder for vdev packet filter

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -42,7 +43,7 @@ void pmo_register_wow_wakeup_events(struct wlan_objmgr_vdev *vdev);
/**
* pmo_register_wow_default_patterns() - register default wow patterns with fw
* @vdev_id: vdev id
* @vdev: objmgr vdev
*
* WoW default wake up pattern rule is:
* - For STA & P2P CLI mode register for same STA specific wow patterns

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2018, 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -30,7 +30,7 @@
/**
* pmo_core_configure_dynamic_wake_events(): configure dynamic wake events
* @wma: wma handle
* @psoc: objmgr psoc handle
*
* Some wake events need to be enabled dynamically. Control those here.
*
@@ -132,7 +132,7 @@ QDF_STATUS pmo_core_psoc_suspend_target(struct wlan_objmgr_psoc *psoc,
int disable_target_intr);
/**
* pmo_core_psoc_bus_resume() -handle bus resume request for psoc
* pmo_core_psoc_bus_resume_req() - handle bus resume request for psoc
* @psoc: objmgr psoc handle
* @type: is this suspend part of runtime suspend or system suspend?
*
@@ -287,8 +287,8 @@ pmo_core_dynamic_arp_ns_offload_runtime_allow(struct wlan_objmgr_vdev *vdev)
#endif
/**
* pmo_core_update_power_save_mode() - update power save mode
* @vdev: objmgr vdev handle
* pmo_core_psoc_update_power_save_mode() - update power save mode
* @psoc: objmgr psoc handle
* @value:describe vdev power save mode
*
* Return: None
@@ -348,12 +348,10 @@ uint16_t pmo_core_vdev_get_pause_bitmap(struct pmo_psoc_priv_obj *psoc_ctx,
}
/**
* wma_is_vdev_in_ap_mode() - check that vdev is in ap mode or not
* @wma: wma handle
* @vdev_id: vdev id
* pmo_is_vdev_in_ap_mode() - check that vdev is in ap mode or not
* @vdev: objmgr vdev handle
*
* Helper function to know whether given vdev id
* is in AP mode or not.
* Helper function to know whether given vdev is in AP mode or not.
*
* Return: True/False
*/
@@ -368,7 +366,7 @@ bool pmo_is_vdev_in_ap_mode(struct wlan_objmgr_vdev *vdev)
}
/**
* pmo_handle_initial_wake_up() - handle initial wake up
* pmo_core_psoc_handle_initial_wake_up() - handle initial wake up
* @cb_ctx: callback context
*
* Return: None
@@ -377,6 +375,7 @@ void pmo_core_psoc_handle_initial_wake_up(void *cb_ctx);
/**
* pmo_core_psoc_is_target_wake_up_received() - check for initial wake up
* @psoc: objmgr psoc handle
*
* Check if target initial wake up is received and fail PM suspend gracefully
*
@@ -386,6 +385,7 @@ int pmo_core_psoc_is_target_wake_up_received(struct wlan_objmgr_psoc *psoc);
/**
* pmo_core_psoc_clear_target_wake_up() - clear initial wake up
* @psoc: objmgr psoc handle
*
* Clear target initial wake up reason
*

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -208,8 +208,9 @@ static inline uint8_t pmo_get_wow_default_ptrn(
}
/**
* pmo_get_wow_default_ptrn() -Set wow default ptrn
* pmo_set_wow_default_ptrn() - Set wow default ptrn
* @vdev_ctx: pmo vdev priv ctx
* @value: WoW default pattern
*
* API to set wow default ptrn
*
@@ -324,7 +325,7 @@ QDF_STATUS pmo_core_add_wow_user_pattern(struct wlan_objmgr_vdev *vdev,
/**
* pmo_core_del_wow_user_pattern() - Function which will delete the WoWL pattern
* @vdev: pointer to the vdev
* @ptrn: pointer to the pattern string to be delete
* @pattern_id: pointer to the pattern string to be delete
*
* Return: error if any errors encountered, QDF_STATUS_SUCCESS otherwise
*/
@@ -356,7 +357,7 @@ void pmo_core_disable_wakeup_event(struct wlan_objmgr_psoc *psoc,
WOW_WAKE_EVENT_TYPE wow_event);
/**
* pmo_is_wow_applicable(): should enable wow
* pmo_core_is_wow_applicable(): should enable wow
* @psoc: objmgr psoc object
*
* Enable WOW if any one of the condition meets,
@@ -393,7 +394,7 @@ void pmo_core_update_wow_enable(struct pmo_psoc_priv_obj *psoc_ctx,
}
/**
* pmo_core_is_wow_mode_enabled() - check if wow needs to be enabled in fw
* pmo_core_is_wow_enabled() - check if wow needs to be enabled in fw
* @psoc_ctx: Pointer to objmgr psoc handle
*
* API to check if wow mode is enabled in fwr as part of apps suspend or not
@@ -607,7 +608,7 @@ void pmo_core_update_p2plo_in_progress(struct wlan_objmgr_vdev *vdev,
#ifdef WLAN_FEATURE_LPSS
/**
* pmo_core_is_lpass_enabled() - check if lpass is enabled
* @posc: objmgr psoc object
* @psoc: objmgr psoc object
*
* WoW is needed if LPASS or NaN feature is enabled in INI because
* target can't wake up itself if its put in PDEV suspend when LPASS

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -632,8 +632,9 @@ static void pmo_core_set_resume_dtim(struct wlan_objmgr_psoc *psoc)
#if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || defined(QCA_LL_TX_FLOW_CONTROL_V2)
/**
* pmo_unpause_vdev - unpause all vdev
* pmo_unpause_all_vdev() - unpause all vdev
* @psoc: objmgr psoc handle
* @psoc_ctx: pmo psoc contaxt
*
* unpause all vdev aftter resume/coming out of wow mode
*

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -43,10 +44,11 @@ struct pmo_arp_req {
};
/**
* struct pmo_arp_req - pmo arp offload param for target interface
* struct pmo_arp_offload_params - pmo arp offload param for target interface
* @enable: true when arp offload is enabled else false
* @host_ipv4_addr: host interface ipv4 address
* @bssid: peer ap address
* @is_offload_applied: Has offload been applied to the target
*/
struct pmo_arp_offload_params {
uint8_t enable;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -78,7 +78,7 @@ enum pmo_vdev_param_id {
* @pmo_ignore_dtim: fwr need to igonre dtime policy
* @pmo_normal_dtim: fwr need to use normal dtime policy
* @pmo_stick_dtim: fwr need to use stick dtime policy
* @auto_dtim: fwr need to auto dtime policy
* @pmo_auto_dtim: fwr need to auto dtime policy
*/
enum pmo_beacon_dtim_policy {
pmo_ignore_dtim = 0x01,
@@ -88,18 +88,19 @@ enum pmo_beacon_dtim_policy {
};
/**
* enum pmo_sta_powersave_param - STA powersave parameters
* @pmo_sta_ps_param_rx_wake_policy: Controls how frames are retrievd from AP
* while STA is sleeping.
* @pmo_sta_ps_param_tx_wake_threshold: STA will go active after this many TX
* @pmo_sta_ps_param_pspoll_count:No of PS-Poll to send before STA wakes up
* @pmo_sta_ps_param_inactivity_time: TX/RX inactivity time in msec before
going to sleep.
* going to sleep.
* @pmo_sta_ps_param_uapsd: Set uapsd configuration.
* @pmo_sta_ps_param_advanced_power_pspoll_count: No of PS-Poll to send before
STA wakes up in Advanced Power Save Mode.
* STA wakes up in Advanced Power Save Mode.
* @pmo_sta_ps_enable_advanced_power: Enable Advanced Power Save
* @pmo_sta_ps_param_advanced_power_max_tx_before_wake: Number of TX frames
before the entering the Active state
* before the entering the Active state
* @pmo_sta_ps_param_ito_repeat_count: Indicates ito repeated count
*/
enum pmo_sta_powersave_param {
@@ -115,7 +116,7 @@ enum pmo_sta_powersave_param {
};
/**
* enum wow_resume_trigger - resume trigger override setting values
* enum pmo_wow_resume_trigger - resume trigger override setting values
* @PMO_WOW_RESUME_TRIGGER_DEFAULT: fw to use platform default resume trigger
* @PMO_WOW_RESUME_TRIGGER_HTC_WAKEUP: force fw to use HTC Wakeup to resume
* @PMO_WOW_RESUME_TRIGGER_GPIO: force fw to use GPIO to resume
@@ -131,7 +132,7 @@ enum pmo_wow_resume_trigger {
};
/**
* enum wow_interface_pause - interface pause override setting values
* enum pmo_wow_interface_pause - interface pause override setting values
* @PMO_WOW_INTERFACE_PAUSE_DEFAULT: use platform default iface pause setting
* @PMO_WOW_INTERFACE_PAUSE_ENABLE: force interface pause setting to enabled
* @PMO_WOW_INTERFACE_PAUSE_DISABLE: force interface pause setting to disabled
@@ -147,7 +148,7 @@ enum pmo_wow_interface_pause {
};
/**
* enum wow_enable_type - used to enable/disable WoW.
* enum pmo_wow_enable_type - used to enable/disable WoW.
* @PMO_WOW_DISABLE_BOTH: Disable both magic pattern match and pattern
* byte match.
* @PMO_WOW_ENABLE_MAGIC_PATTERN: Enable magic pattern match on all interfaces.
@@ -191,7 +192,7 @@ enum pmo_suspend_mode {
#define PMO_RESUME_TIMEOUT (4000)
/**
* struct wow_enable_params - A collection of wow enable override parameters
* struct pmo_wow_enable_params - A collection of wow enable override parameters
* @is_unit_test: true to notify fw this is a unit-test suspend
* @interface_pause: used to override the interface pause indication sent to fw
* @resume_trigger: used to force fw to use a particular resume method
@@ -203,14 +204,23 @@ struct pmo_wow_enable_params {
};
/**
* typedef for psoc suspend handler
* typedef pmo_psoc_suspend_handler() - psoc suspend handler
* @psoc: psoc being suspended
* @arg: iterator argument
*
* Return: QDF_STATUS_SUCCESS if suspended, QDF_STATUS_E_* if failure
*/
typedef QDF_STATUS(*pmo_psoc_suspend_handler)
(struct wlan_objmgr_psoc *psoc, void *arg);
/**
* typedef for psoc resume handler
* typedef pmo_psoc_resume_handler() - psoc resume handler
* @psoc: psoc being resumed
* @arg: iterator argument
*
* Return: QDF_STATUS_SUCCESS if resumed, QDF_STATUS_E_* if failure
*/
typedef QDF_STATUS(*pmo_psoc_resume_handler)
typedef QDF_STATUS (*pmo_psoc_resume_handler)
(struct wlan_objmgr_psoc *psoc, void *arg);
/**
@@ -221,6 +231,7 @@ typedef QDF_STATUS(*pmo_psoc_resume_handler)
* @pmo_runtime_resume: trigger is runtime resume
* @pmo_ipv4_change_notify: trigger is ipv4 change handler
* @pmo_ipv6_change_notify: trigger is ipv6 change handler
* @pmo_mc_list_change_notify: trigger is multicast list change
* @pmo_ns_offload_dynamic_update: enable/disable ns offload on the fly
* @pmo_peer_disconnect: trigger is peer disconnect
* @pmo_mcbc_setting_dynamic_update: mcbc value update on the fly
@@ -245,7 +256,7 @@ enum pmo_offload_trigger {
};
/**
* enum pmo_auto_pwr_detect_failure_mode_t - auto detect failure modes
* enum pmo_auto_pwr_detect_failure_mode - auto detect failure modes
* @PMO_FW_TO_CRASH_ON_PWR_FAILURE: Don't register wow wakeup event and FW
* crashes on power failure
* @PMO_FW_TO_SEND_WOW_IND_ON_PWR_FAILURE: Register wow wakeup event and FW
@@ -296,7 +307,7 @@ enum pmo_gpio_wakeup_mode {
#define ICMP_MAX_IPV6_ADDRESS 16
/**
* pmo_icmp_offload - structure to hold icmp param
* struct pmo_icmp_offload - structure to hold icmp param
*
* @vdev_id: vdev id
* @enable: enable/disable
@@ -337,13 +348,14 @@ struct pmo_icmp_offload {
* @deauth_enable: true when wake up on deauth is enabled else false
* @disassoc_enable: true when wake up on disassoc is enabled else false
* @lpass_enable: true when lpass is enabled else false
* @max_ps:poll: max power save poll
* @max_ps_poll: max power save poll
* @sta_dynamic_dtim: station dynamic DTIM value
* @sta_mod_dtim: station modulated DTIM value
* @sta_max_li_mod_dtim: station max listen interval DTIM value
* @sta_forced_dtim: station forced DTIM value
* @wow_enable: enable wow with majic pattern match or pattern byte match
* @power_save_mode: power save mode for psoc
* @default_power_save_mode: default power save mode for psoc
* @suspend_mode: suspend mode for psoc
* @runtime_pm_delay: set runtime pm's inactivity timer
* @extwow_goto_suspend: true when extended WoW enabled else false
@@ -365,6 +377,7 @@ struct pmo_icmp_offload {
* @wow_pulse_repeat_count: Pulse repeat count
* @wow_pulse_init_state: Pulse init level
* @packet_filters_bitmap: Packet filter bitmap configuration
* @enable_sap_suspend: enable SoftAP suspend
* @wow_data_inactivity_timeout: power save wow data inactivity timeout
* wow mode
* @active_uc_apf_mode: Setting that determines how APF is applied in active
@@ -374,6 +387,8 @@ struct pmo_icmp_offload {
* @ito_repeat_count: Indicates ito repeated count
* @is_mod_dtim_on_sys_suspend_enabled: true when mod dtim is enabled for
* system suspend wow else false
* @is_bus_suspend_enabled_in_sap_mode: Can bus suspend in SoftAP mode
* @is_bus_suspend_enabled_in_go_mode: Can bus suspend in P2P GO mode
* @enable_gpio_wakeup: enable gpio wakeup
* @gpio_wakeup_pin: gpio wakeup pin
* @gpio_wakeup_mode: gpio wakeup mode
@@ -465,7 +480,8 @@ struct pmo_psoc_cfg {
};
/**
* pmo_device_caps - device capability flags (true if feature is supported)
* struct pmo_device_caps - device capability flags (true if feature is
* supported)
* @apf: Android Packet Filter (aka BPF)
* @arp_ns_offload: APR/NS offload
* @packet_filter: Legacy "Packet Filter"
@@ -483,7 +499,7 @@ struct pmo_device_caps {
};
/**
* pmo_igmp_offload_req - structure to hold igmp param
* struct pmo_igmp_offload_req - structure to hold igmp param
*
* @vdev_id: vdev id
* @enable: enable/disable

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -61,14 +61,15 @@ struct pmo_gtk_req {
/**
* struct pmo_gtk_rsp_params - pmo gtk response
* @psoc: objmgr psoc
* @vdev_id: vdev id on which arp offload needed
* @status_flag: status flags
* @refresh_cnt: number of successful GTK refresh exchanges since SET operation
* @replay_counter:GTK replay counter
* @igtk_key_index: igtk key index
* @igtk_key_length: igtk key length
* @igtk_key_rsc: igtk key index
* @igtk_key: igtk key length
* @bssid: BSSID
*/
struct pmo_gtk_rsp_params {
uint8_t vdev_id;
@@ -83,13 +84,15 @@ struct pmo_gtk_rsp_params {
};
/**
* typedef for gtk response callback
* typedef pmo_gtk_rsp_callback() - gtk response callback
* @callback_context: client context
* @gtk_rsp: GTK response
*/
typedef void (*pmo_gtk_rsp_callback)(void *callback_context,
struct pmo_gtk_rsp_params *gtk_rsp);
/**
* struct pmo_gtk_rsp_req -gtk respsonse request
* struct pmo_gtk_rsp_req - gtk respsonse request
* @callback: client callback for providing gtk response when fwr send event
* @callback_context: client callback response
*/

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -27,10 +27,10 @@
#define _WLAN_PMO_HW_FILTER_PUBLIC_STRUCT_H
/**
* pmo_hw_filter_mode - bitmap for enabled hardware filters
* @HW_FILTER_DISABLED: hardware filter is completely disabled
* @HW_FILTER_NON_ARP_BC: drop all broadcast frames, except ARP
* @HW_FILTER_NON_ICMPV6_MC: drop all multicast frames, except ICMPv6
* enum pmo_hw_filter_mode - bitmap for enabled hardware filters
* @PMO_HW_FILTER_DISABLED: hardware filter is completely disabled
* @PMO_HW_FILTER_NON_ARP_BC: drop all broadcast frames, except ARP
* @PMO_HW_FILTER_NON_ICMPV6_MC: drop all multicast frames, except ICMPv6
*
* The hardware filter is only effective in DTIM mode. Use this configuration
* to blanket drop broadcast/multicast packets at the hardware level, without

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -104,10 +105,10 @@ struct pmo_lphb_tcp_filter_req {
* @dev_ip: destination ip address
* @src_port: source port
* @dst_port: destination port
* @interval: time period in seconds
* @timeout: tcp timeout value
* @session: session on which lphb needs to be configured
* @gateway_mac: gateway mac address
* @time_period_sec: time period in seconds
*/
struct pmo_lphb_udp_params {
uint32_t srv_ip;

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -46,7 +47,7 @@ struct pmo_mc_addr_list_params {
};
/**
* struct pmo_mc_addr_list -pmo mc address list params for vdev
* struct pmo_mc_addr_list - pmo mc address list params for vdev
* @is_filter_applied: is mc list filter applied on vdev
* @mc_cnt: mc address count
* @mc_addr:mc address list
@@ -58,7 +59,7 @@ struct pmo_mc_addr_list {
};
/**
* struct mcast_filter_params - mcast filter parameters
* struct pmo_mcast_filter_params - mcast filter parameters
* @multicast_addr_cnt: num of addresses
* @multicast_addr: address array
* @action: operation to perform

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -58,6 +59,9 @@ enum pmo_ns_addr_scope {
* @target_ipv6_addr_valid: target ipv6 address are valid or not
* @target_ipv6_addr_ac_type: target ipv6 address type (unicast or anycast)
* @slot_idx: slot index
* @bssid: BSSID
* @scope: scope
* @is_offload_applied: has the offload been applied to firmware
*/
struct pmo_ns_offload_params {
uint8_t enable;
@@ -85,6 +89,7 @@ struct pmo_ns_offload_params {
* @count: ns entries count
* @ipv6_addr: ipv6 address array
* @ipv6_addr_type: ipv6 address type (unicast/anycast) array
* @scope: scope
*/
struct pmo_ns_req {
struct wlan_objmgr_psoc *psoc;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -60,7 +60,7 @@ QDF_STATUS pmo_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc,
/**
* pmo_psoc_object_destroyed_notification(): pmo psoc delete handler
* @psco: psoc which is going to delete by objmgr
* @psoc: psoc which is going to delete by objmgr
* @arg: argument for vdev delete handler
*
* PMO, register this api with objmgr to detect psoc is deleted in fwr

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -36,47 +37,79 @@
#include "wlan_pmo_lphb_public_struct.h"
/**
* typedef for vdev notifying the vdev pause bitmap new value to mlme
* typedef pmo_notify_pause_bitmap() - function for vdev notifying the vdev
* pause bitmap new value to mlme
* @vdev_id: ID of objmgr vdev object
* @value: new pause bitmap value
*/
typedef void (*pmo_notify_pause_bitmap)(uint8_t vdev_id, uint16_t value);
/**
* typedef for function that gets cfg integer from mlme
* typedef pmo_get_cfg_int() - function that gets cfg integer from mlme
* @cfg_id: configuration item to retrieve
* @value: location to store the configuration item's value
*
* Return: QDF_STATUS_SUCCESS on success, otherwise QDF_STATUS_E_*
*/
typedef QDF_STATUS (*pmo_get_cfg_int)(int cfg_id, int *value);
/**
* typedef for function that gets dtim period from mlme
* typedef pmo_get_dtim_period() - function that gets dtim period from mlme
* @vdev_id: ID of objmgr vdev object
* @value: location to store the DTIM period
*
* Return: QDF_STATUS_SUCCESS on success, otherwise QDF_STATUS_E_*
*/
typedef QDF_STATUS (*pmo_get_dtim_period)(uint8_t vdev_id, uint8_t *value);
/**
* typedef for function that gets beacon interval from mlme
* typedef pmo_get_beacon_interval() - function that gets beacon interval
* from mlme
* @vdev_id: ID of objmgr vdev object
* @value: location to store the beacon interval
*
* Return: QDF_STATUS_SUCCESS on success, otherwise QDF_STATUS_E_*
*/
typedef QDF_STATUS (*pmo_get_beacon_interval)(uint8_t vdev_id, uint16_t *value);
/**
* typedef for getting vdev pause bitmap
* typedef pmo_get_pause_bitmap() - function for getting vdev pause bitmap
* @vdev_id: ID of objmgr vdev object
*
* Return: vdev pause bitmap
*/
typedef uint16_t(*pmo_get_pause_bitmap)(uint8_t vdev_id);
/**
* typedef for getting vdev datapath handle
* typedef pmo_get_vdev_dp_handle() - for getting vdev datapath handle
* @vdev_id: ID of objmgr vdev object
*
* Return: datapath handle of the associated vdev if found, or NULL
*/
typedef struct cdp_vdev * (*pmo_get_vdev_dp_handle)(uint8_t vdev_id);
typedef struct cdp_vdev *(*pmo_get_vdev_dp_handle)(uint8_t vdev_id);
/**
* typedef to know is deviec is in power save mode
* typedef pmo_is_device_in_low_pwr_mode() - to know is device is in power
* save mode
* @vdev_id: ID of objmgr vdev object
*
* Return: true if associated devicce is in power save
*/
typedef bool (*pmo_is_device_in_low_pwr_mode)(uint8_t vdev_id);
/*
* typedef for pld auto suspend callback during runtime suspend
/**
* typedef pmo_pld_auto_suspend_cb() - pld auto suspend callback during runtime
* suspend
*
* Return: 0 on success, negative errno on failure
*/
typedef int (*pmo_pld_auto_suspend_cb)(void);
/*
* typedef for pld auto resume callback during runtime resume
/**
* typedef pmo_pld_auto_resume_cb() - pld auto resume callback during runtime
* resume
*
* Return: 0 on success, negative errno on failure
*/
typedef int (*pmo_pld_auto_resume_cb)(void);
@@ -84,12 +117,13 @@ typedef int (*pmo_pld_auto_resume_cb)(void);
* struct wlan_pmo_tx_ops - structure of tx function
* pointers for pmo component
* @send_arp_offload_req: fp to send arp offload request
* @send_conf_hw_filter_req: fp to configure hardware filter in DTIM mode
* @send_ns_offload_req: fp to send ns offload request
* @send_non_arp_bcast_filter_req: for enable/disable broadcast filter
* @send_set_pkt_filter: send set packet filter
* @send_clear_pkt_filter: send clear packet filter
* @send_enable_wakeup_event_req: fp to send enable wow wakeup events req
* @send_disable_wakeup_event_req: fp to send disable wow wakeup events req
* @send_enable_wow_wakeup_event_req: fp to send enable wow wakeup events req
* @send_disable_wow_wakeup_event_req: fp to send disable wow wakeup events req
* @send_add_wow_pattern: fp to send wow pattern request
* @del_wow_pattern: fp to delete wow pattern from firmware
* @send_enhance_mc_offload_req: fp to send enhanced multicast offload request
@@ -108,11 +142,15 @@ typedef int (*pmo_pld_auto_resume_cb)(void);
* @send_lphb_upd_params: fp to send lphb udp params request command
* @send_lphb_udp_filter_req: fp to send lphb udp packet filter request command
* @send_vdev_param_update_req: fp to send vdev param request
* @send_vdev_set_sta_ps_param: fp to send sta vdev ps power set req
* @send_vdev_sta_ps_param_req: fp to send sta vdev ps power set req
* @send_igmp_offload_req: fp to send IGMP offload request
* @psoc_update_wow_bus_suspend: fp to update bus suspend req flag at wmi
* @psoc_get_host_credits: fp to get the host credits
* @psoc_get_pending_cmnds: fp to get the host pending wmi commands
* @update_target_suspend_flag: fp to update target suspend flag at wmi
* @update_target_suspend_acked_flag: fp to update target suspend acked flag
* at wmi
* @is_target_suspended: fp to test if target is suspended
* @psoc_send_wow_enable_req: fp to send wow enable request
* @psoc_send_supend_req: fp to send target suspend request
* @psoc_set_runtime_pm_in_progress: fp to set runtime pm is in progress status

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -126,7 +126,7 @@ struct pmo_rcv_pkt_fltr_cfg {
};
/**
* struct pmo_rcv_pkt_fltr_cfg - pmo receive Filter Clear Parameters
* struct pmo_rcv_pkt_fltr_clear_param - pmo receive Filter Clear Parameters
* @status: only valid for response message
* @filter_id:
* @self_macaddr:

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -159,7 +160,7 @@ QDF_STATUS pmo_tgt_del_wow_pattern(
/**
* pmo_tgt_set_mc_filter_req() - Set mcast filter command to fw
* @vdev: objmgr vdev
* @multicastAddr: mcast address
* @multicast_addr: mcast address
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
@@ -169,7 +170,7 @@ QDF_STATUS pmo_tgt_set_mc_filter_req(struct wlan_objmgr_vdev *vdev,
/**
* pmo_tgt_clear_mc_filter_req() - Clear mcast filter command to fw
* @vdev: objmgr vdev
* @multicastAddr: mcast address
* @multicast_addr: mcast address
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
@@ -256,7 +257,7 @@ QDF_STATUS pmo_tgt_get_gtk_rsp(struct wlan_objmgr_vdev *vdev);
/**
* pmo_tgt_gtk_rsp_evt() - receive gtk rsp event from fwr
* @psoc: objmgr psoc
* @gtk_rsp_param: gtk response parameters
* @rsp_param: gtk response parameters
*
* Return: QDF status
*/
@@ -367,7 +368,8 @@ pmo_tgt_send_igmp_offload_req(struct wlan_objmgr_vdev *vdev,
#endif
/**
* pmo_tgt_update_wow_bus_suspend_state() - update wow bus suspend state flag
* pmo_tgt_psoc_update_wow_bus_suspend_state() - update wow bus suspend state
* flag
* @psoc: objmgr psoc
* @val: true for setting wow suspend flag to set else false
*
@@ -377,7 +379,7 @@ void pmo_tgt_psoc_update_wow_bus_suspend_state(struct wlan_objmgr_psoc *psoc,
uint8_t val);
/**
* pmo_tgt_get_host_credits() - Get host credits
* pmo_tgt_psoc_get_host_credits() - Get host credits
* @psoc: objmgr psoc
*
* Return: Pending WMI commands on success else EAGAIN on error
@@ -385,7 +387,7 @@ void pmo_tgt_psoc_update_wow_bus_suspend_state(struct wlan_objmgr_psoc *psoc,
int pmo_tgt_psoc_get_host_credits(struct wlan_objmgr_psoc *psoc);
/**
* pmo_tgt_get_pending_cmnds() - Get pending commands
* pmo_tgt_psoc_get_pending_cmnds() - Get pending commands
* @psoc: objmgr psoc
*
* Return: Pending WMI commands on success else EAGAIN on error

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -47,7 +47,7 @@
QDF_STATUS ucfg_pmo_psoc_open(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_pmo_psoc_open() - pmo psoc object close
* ucfg_pmo_psoc_close() - pmo psoc object close
* @psoc: objmgr vdev
*.
* This function used to close pmo psoc object by user space
@@ -103,7 +103,7 @@ bool ucfg_pmo_is_vdev_supports_offload(struct wlan_objmgr_vdev *vdev);
* @psoc: objmgr psoc handle
* @psoc_cfg: fill the current psoc user configurations.
*
* Return pmo psoc configurations
* Return: pmo psoc configurations
*/
QDF_STATUS ucfg_pmo_get_psoc_config(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg);
@@ -117,7 +117,7 @@ QDF_STATUS ucfg_pmo_get_psoc_config(struct wlan_objmgr_psoc *psoc,
* In case of update caller must first call pmo_get_psoc_cfg to get
* current config and then apply changes on top of current config.
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_update_psoc_config(struct wlan_objmgr_psoc *psoc,
struct pmo_psoc_cfg *psoc_cfg);
@@ -319,7 +319,7 @@ void ucfg_pmo_disable_wakeup_event(struct wlan_objmgr_psoc *psoc,
* ucfg_pmo_cache_arp_offload_req(): API to cache arp req in pmo vdev priv ctx
* @arp_req: pmo arp req param
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_cache_arp_offload_req(struct pmo_arp_req *arp_req);
@@ -329,7 +329,7 @@ QDF_STATUS ucfg_pmo_cache_arp_offload_req(struct pmo_arp_req *arp_req);
* @trigger: trigger reason
* @vdev_id: vdev_id
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_check_arp_offload(struct wlan_objmgr_psoc *psoc,
enum pmo_offload_trigger trigger,
@@ -339,7 +339,7 @@ QDF_STATUS ucfg_pmo_check_arp_offload(struct wlan_objmgr_psoc *psoc,
* ucfg_pmo_flush_arp_offload_req(): API to flush arp req from pmo vdev priv ctx
* @vdev: objmgr vdev param
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_flush_arp_offload_req(struct wlan_objmgr_vdev *vdev);
@@ -350,7 +350,7 @@ QDF_STATUS ucfg_pmo_flush_arp_offload_req(struct wlan_objmgr_vdev *vdev);
*
* API to enable cache arp req in fwr from pmo vdev priv ctx
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_enable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
@@ -362,7 +362,7 @@ ucfg_pmo_enable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
* @trigger: trigger reason for disable arp offload
* API to disable cache arp req in fwr
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_disable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
@@ -383,7 +383,7 @@ ucfg_pmo_get_arp_offload_params(struct wlan_objmgr_vdev *vdev,
* ucfg_pmo_cache_ns_offload_req(): API to cache ns req in pmo vdev priv ctx
* @ns_req: pmo ns req param
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_cache_ns_offload_req(struct pmo_ns_req *ns_req);
@@ -393,7 +393,7 @@ QDF_STATUS ucfg_pmo_cache_ns_offload_req(struct pmo_ns_req *ns_req);
* @trigger: trigger reason to enable ns offload
* @vdev_id: vdev id
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_ns_offload_check(struct wlan_objmgr_psoc *psoc,
enum pmo_offload_trigger trigger,
@@ -403,18 +403,18 @@ QDF_STATUS ucfg_pmo_ns_offload_check(struct wlan_objmgr_psoc *psoc,
* ucfg_pmo_flush_ns_offload_req(): API to flush ns req from pmo vdev priv ctx
* @vdev: vdev ojbmgr handle
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_flush_ns_offload_req(struct wlan_objmgr_vdev *vdev);
/**
* ucfg_pmo_enable_ns_offload_in_fwr(): API to enable ns req in fwr
* @arp_req: pmo arp req param
* @vdev: objmgr vdev
* @trigger: trigger reason to enable ns offload
*
* API to enable cache ns req in fwr from pmo vdev priv ctx
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_enable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
@@ -422,12 +422,12 @@ ucfg_pmo_enable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
/**
* ucfg_pmo_disable_ns_offload_in_fwr(): API to disable ns req in fwr
* @arp_req: pmo arp req param
* @vdev: objmgr vdev
* @trigger: trigger reason to disable ns offload
*
* API to disable ns req in fwr
*
* Return QDF_STATUS -in case of success else return error
* Return: QDF_STATUS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_disable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
@@ -447,7 +447,7 @@ ucfg_pmo_get_ns_offload_params(struct wlan_objmgr_vdev *vdev,
/**
* ucfg_pmo_ns_addr_scope() - Convert linux specific IPv6 addr scope to
* WLAN driver specific value
* @scope: linux specific IPv6 addr scope
* @ipv6_scope: linux specific IPv6 addr scope
*
* Return: PMO identifier of linux IPv6 addr scope
*/
@@ -502,11 +502,9 @@ uint8_t ucfg_pmo_max_mc_addr_supported(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_pmo_cache_mc_addr_list(): API to cache mc addr list in pmo vdev priv obj
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @mc_list_config: list configuration
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_cache_mc_addr_list(
struct pmo_mc_addr_list_params *mc_list_config);
@@ -516,13 +514,13 @@ QDF_STATUS ucfg_pmo_cache_mc_addr_list(
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_flush_mc_addr_list(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
/**
* ucfg_pmo_enhance_mc_filter_enable() - enable enhanced multicast filtering
* ucfg_pmo_enhanced_mc_filter_enable() - enable enhanced multicast filtering
* @vdev: the vdev to enable enhanced multicast filtering for
*
* Return: QDF_STATUS
@@ -534,7 +532,7 @@ ucfg_pmo_enhanced_mc_filter_enable(struct wlan_objmgr_vdev *vdev)
}
/**
* ucfg_pmo_enhance_mc_filter_disable() - disable enhanced multicast filtering
* ucfg_pmo_enhanced_mc_filter_disable() - disable enhanced multicast filtering
* @vdev: the vdev to disable enhanced multicast filtering for
*
* Return: QDF_STATUS
@@ -622,12 +620,11 @@ ucfg_pmo_dynamic_arp_ns_offload_runtime_allow(struct wlan_objmgr_vdev *vdev) {}
* ucfg_pmo_enable_mc_addr_filtering_in_fwr(): Enable cached mc add list in fwr
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @action: true for enable els false
* @trigger: reason for trigger
*
* API to enable cached mc add list in fwr
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_enable_mc_addr_filtering_in_fwr(
struct wlan_objmgr_psoc *psoc,
@@ -638,12 +635,11 @@ QDF_STATUS ucfg_pmo_enable_mc_addr_filtering_in_fwr(
* ucfg_pmo_disable_mc_addr_filtering_in_fwr(): Disable cached mc addr list
* @psoc: objmgr psoc handle
* @vdev_id: vdev id
* @gtk_req: pmo gtk req param
* @action: true for enable els false
* @trigger: reason for trigger
*
* API to disable cached mc add list in fwr
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_disable_mc_addr_filtering_in_fwr(
struct wlan_objmgr_psoc *psoc,
@@ -668,7 +664,7 @@ ucfg_pmo_get_mc_addr_list(struct wlan_objmgr_psoc *psoc,
* @vdev: objmgr vdev handle
* @gtk_req: pmo gtk req param
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_cache_gtk_offload_req(struct wlan_objmgr_vdev *vdev,
struct pmo_gtk_req *gtk_req);
@@ -677,7 +673,7 @@ QDF_STATUS ucfg_pmo_cache_gtk_offload_req(struct wlan_objmgr_vdev *vdev,
* ucfg_pmo_flush_gtk_offload_req(): Flush saved gtk req from pmo vdev priv obj
* @vdev: objmgr vdev handle
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_flush_gtk_offload_req(struct wlan_objmgr_vdev *vdev);
@@ -685,7 +681,7 @@ QDF_STATUS ucfg_pmo_flush_gtk_offload_req(struct wlan_objmgr_vdev *vdev);
* ucfg_pmo_enable_gtk_offload_in_fwr(): enable cached gtk request in fwr
* @vdev: objmgr vdev handle
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_enable_gtk_offload_in_fwr(struct wlan_objmgr_vdev *vdev);
@@ -695,7 +691,7 @@ QDF_STATUS ucfg_pmo_enable_gtk_offload_in_fwr(struct wlan_objmgr_vdev *vdev);
* @vdev: objmgr vdev handle
* @pmo_igmp_req: struct pmo_igmp_offload_req
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_enable_igmp_offload(
struct wlan_objmgr_vdev *vdev,
@@ -714,7 +710,7 @@ QDF_STATUS ucfg_pmo_enable_igmp_offload(
* ucfg_pmo_disable_gtk_offload_in_fwr(): disable cached gtk request in fwr
* @vdev: objmgr vdev handle
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_disable_gtk_offload_in_fwr(struct wlan_objmgr_vdev *vdev);
@@ -741,7 +737,7 @@ uint32_t ucfg_pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc);
* @pmo_set_pkt_fltr_req: packet filter set param
* @vdev_id: vdev id
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_set_pkt_filter(struct wlan_objmgr_psoc *psoc,
@@ -754,7 +750,7 @@ ucfg_pmo_set_pkt_filter(struct wlan_objmgr_psoc *psoc,
* @pmo_clr_pkt_fltr_param: packet filter clear param
* @vdev_id: vdev id
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS ucfg_pmo_clear_pkt_filter(
struct wlan_objmgr_psoc *psoc,
@@ -815,11 +811,11 @@ ucfg_pmo_set_wow_enable(struct wlan_objmgr_psoc *psoc,
/**
* ucfg_pmo_get_gtk_rsp(): API to send gtk response request to fwr
* @vdev: objmgr vdev handle
* @gtk_rsp: pmo gtk response request
* @gtk_rsp_req: pmo gtk response request
*
* This api will send gtk response request to fwr
*
* Return QDF_STATUS_SUCCESS -in case of success else return error
* Return: QDF_STATUS_SUCCESS -in case of success else return error
*/
QDF_STATUS
ucfg_pmo_get_gtk_rsp(struct wlan_objmgr_vdev *vdev,
@@ -861,8 +857,8 @@ QDF_STATUS ucfg_pmo_lphb_config_req(struct wlan_objmgr_psoc *psoc,
/**
* ucfg_pmo_psoc_update_power_save_mode() - update power save mode
* @vdev: objmgr vdev handle
* @value:vdev power save mode
* @psoc: objmgr psoc handle
* @value: power save mode
*
* Return: None
*/
@@ -1033,7 +1029,7 @@ ucfg_pmo_del_wow_user_pattern(struct wlan_objmgr_vdev *vdev,
uint8_t pattern_id);
/**
* ucfg_pmo_psoc_bus_resume() -handle bus resume request for psoc
* ucfg_pmo_psoc_bus_resume_req() - handle bus resume request for psoc
* @psoc: objmgr psoc handle
* @type: is this suspend part of runtime suspend or system suspend?
*
@@ -1067,7 +1063,7 @@ void ucfg_pmo_psoc_handle_initial_wake_up(void *cb_ctx);
int ucfg_pmo_psoc_is_target_wake_up_received(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_pmo_psoc_is_target_wake_up_received() - Clear initial wake up status
* ucfg_pmo_psoc_clear_target_wake_up() - Clear initial wake up status
* @psoc: objmgr psoc handle
*
* Return: 0 on success else error code
@@ -1076,7 +1072,8 @@ int ucfg_pmo_psoc_clear_target_wake_up(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_pmo_psoc_target_suspend_acknowledge() - Clear initial wake up status
* @psoc: objmgr psoc handle
* @context: caller-provided context
* @wow_nack: Was WoW NACK'ed
*
* Return: None
*/
@@ -1105,7 +1102,7 @@ QDF_STATUS ucfg_pmo_config_listen_interval(struct wlan_objmgr_vdev *vdev,
/**
* ucfg_pmo_config_modulated_dtim() - function to configure modulated dtim
* @vdev: objmgr vdev handle
* @param_value: New modulated dtim value passed by user
* @mod_dtim: New modulated dtim value passed by user
*
* This function configures the modulated dtim in firmware
*
@@ -1266,7 +1263,7 @@ static inline bool ucfg_pmo_is_apf_enabled(struct wlan_objmgr_psoc *psoc)
#ifdef WLAN_ENABLE_GPIO_WAKEUP
/**
* ucfg_pmo_get_enable_gpio_wakeup() - to get gpio wakeup enable configuration
* ucfg_pmo_is_gpio_wakeup_enabled() - to get gpio wakeup enable configuration
* @psoc: objmgr psoc handle
*
* Return: gpio wakeup enable configuration

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -228,7 +229,7 @@ enum pmo_wow_state {
* @lphb_cache: lphb cache
* @lphb_cb_ctx: callback context for lphb, kept as void* as
* osif structures are opaque to pmo.
* @pmo_lphb_callback: registered os if calllback function
* @lphb_cb: registered os if calllback function
* @ptrn_id_def: default pattern id counter for legacy firmware
* @ptrn_id_usr: user pattern id counter for legacy firmware
* @txrx_suspended: flag to determine if TX/RX is suspended
@@ -285,6 +286,7 @@ struct pmo_wow_add_pattern {
* @enable: wow enable or disable flag
* @can_suspend_link: flag to indicate if link can be suspended
* @pause_iface_config: interface config
* @flags: bitmap of WMI_WOW_FLAG_* flags
*/
struct pmo_wow_cmd_params {
bool enable;