From bf0930cb1af4e7fccec4cad1cca29ab89967ec6f Mon Sep 17 00:00:00 2001 From: Jeff Johnson Date: Wed, 4 Jan 2023 12:41:16 -0800 Subject: [PATCH] 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 --- components/pmo/core/inc/wlan_pmo_gtk.h | 3 +- components/pmo/core/inc/wlan_pmo_main.h | 2 + .../pmo/core/inc/wlan_pmo_mc_addr_filtering.h | 22 +++-- components/pmo/core/inc/wlan_pmo_objmgr.h | 3 +- components/pmo/core/inc/wlan_pmo_pkt_filter.h | 3 +- components/pmo/core/inc/wlan_pmo_priv.h | 10 ++- .../pmo/core/inc/wlan_pmo_static_config.h | 3 +- .../pmo/core/inc/wlan_pmo_suspend_resume.h | 22 ++--- components/pmo/core/inc/wlan_pmo_wow.h | 13 +-- .../pmo/core/src/wlan_pmo_suspend_resume.c | 5 +- .../inc/wlan_pmo_arp_public_struct.h | 4 +- .../inc/wlan_pmo_common_public_struct.h | 50 +++++++---- .../inc/wlan_pmo_gtk_public_struct.h | 11 ++- .../inc/wlan_pmo_hw_filter_public_struct.h | 10 +-- .../inc/wlan_pmo_lphb_public_struct.h | 3 +- ...wlan_pmo_mc_addr_filtering_public_struct.h | 5 +- .../inc/wlan_pmo_ns_public_struct.h | 5 ++ .../dispatcher/inc/wlan_pmo_obj_mgmt_api.h | 6 +- .../inc/wlan_pmo_obj_mgmt_public_struct.h | 68 ++++++++++---- .../inc/wlan_pmo_pkt_filter_public_struct.h | 4 +- .../pmo/dispatcher/inc/wlan_pmo_tgt_api.h | 14 +-- .../pmo/dispatcher/inc/wlan_pmo_ucfg_api.h | 89 +++++++++---------- .../inc/wlan_pmo_wow_public_struct.h | 4 +- 23 files changed, 218 insertions(+), 141 deletions(-) diff --git a/components/pmo/core/inc/wlan_pmo_gtk.h b/components/pmo/core/inc/wlan_pmo_gtk.h index 44774872e9..f08f2b5b8b 100644 --- a/components/pmo/core/inc/wlan_pmo_gtk.h +++ b/components/pmo/core/inc/wlan_pmo_gtk.h @@ -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 * diff --git a/components/pmo/core/inc/wlan_pmo_main.h b/components/pmo/core/inc/wlan_pmo_main.h index fea451cfb9..26af6ee269 100644 --- a/components/pmo/core/inc/wlan_pmo_main.h +++ b/components/pmo/core/inc/wlan_pmo_main.h @@ -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 diff --git a/components/pmo/core/inc/wlan_pmo_mc_addr_filtering.h b/components/pmo/core/inc/wlan_pmo_mc_addr_filtering.h index fd0cca9fba..5c03593ac0 100644 --- a/components/pmo/core/inc/wlan_pmo_mc_addr_filtering.h +++ b/components/pmo/core/inc/wlan_pmo_mc_addr_filtering.h @@ -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); diff --git a/components/pmo/core/inc/wlan_pmo_objmgr.h b/components/pmo/core/inc/wlan_pmo_objmgr.h index b82d70d78f..4c4f54adb7 100644 --- a/components/pmo/core/inc/wlan_pmo_objmgr.h +++ b/components/pmo/core/inc/wlan_pmo_objmgr.h @@ -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 diff --git a/components/pmo/core/inc/wlan_pmo_pkt_filter.h b/components/pmo/core/inc/wlan_pmo_pkt_filter.h index 3064122909..29684b0d93 100644 --- a/components/pmo/core/inc/wlan_pmo_pkt_filter.h +++ b/components/pmo/core/inc/wlan_pmo_pkt_filter.h @@ -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 diff --git a/components/pmo/core/inc/wlan_pmo_priv.h b/components/pmo/core/inc/wlan_pmo_priv.h index a4f30ed8f0..171211f540 100644 --- a/components/pmo/core/inc/wlan_pmo_priv.h +++ b/components/pmo/core/inc/wlan_pmo_priv.h @@ -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 diff --git a/components/pmo/core/inc/wlan_pmo_static_config.h b/components/pmo/core/inc/wlan_pmo_static_config.h index fed6b472d8..31ed642b45 100644 --- a/components/pmo/core/inc/wlan_pmo_static_config.h +++ b/components/pmo/core/inc/wlan_pmo_static_config.h @@ -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 diff --git a/components/pmo/core/inc/wlan_pmo_suspend_resume.h b/components/pmo/core/inc/wlan_pmo_suspend_resume.h index c3cd1cc187..7709903b76 100644 --- a/components/pmo/core/inc/wlan_pmo_suspend_resume.h +++ b/components/pmo/core/inc/wlan_pmo_suspend_resume.h @@ -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 * diff --git a/components/pmo/core/inc/wlan_pmo_wow.h b/components/pmo/core/inc/wlan_pmo_wow.h index 232c050551..d0d1e899e0 100644 --- a/components/pmo/core/inc/wlan_pmo_wow.h +++ b/components/pmo/core/inc/wlan_pmo_wow.h @@ -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 diff --git a/components/pmo/core/src/wlan_pmo_suspend_resume.c b/components/pmo/core/src/wlan_pmo_suspend_resume.c index 11ad699efb..d83f8eaba8 100644 --- a/components/pmo/core/src/wlan_pmo_suspend_resume.c +++ b/components/pmo/core/src/wlan_pmo_suspend_resume.c @@ -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 * diff --git a/components/pmo/dispatcher/inc/wlan_pmo_arp_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_arp_public_struct.h index 305afcf0fc..6265bae807 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_arp_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_arp_public_struct.h @@ -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; diff --git a/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h index 9ef3f10805..946bfbf89a 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_gtk_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_gtk_public_struct.h index 46e8d08f89..c661e2919c 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_gtk_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_gtk_public_struct.h @@ -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 */ diff --git a/components/pmo/dispatcher/inc/wlan_pmo_hw_filter_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_hw_filter_public_struct.h index 7ccf034517..b7bb96f961 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_hw_filter_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_hw_filter_public_struct.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_lphb_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_lphb_public_struct.h index 4cd0df3a85..8959bd20e2 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_lphb_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_lphb_public_struct.h @@ -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; diff --git a/components/pmo/dispatcher/inc/wlan_pmo_mc_addr_filtering_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_mc_addr_filtering_public_struct.h index 6f922991d0..b4880bbf4c 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_mc_addr_filtering_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_mc_addr_filtering_public_struct.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_ns_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_ns_public_struct.h index 2028d7bab5..6e785f16ea 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_ns_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_ns_public_struct.h @@ -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; diff --git a/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_api.h b/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_api.h index 0bb1e90c85..370e397d0b 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_api.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_api.h @@ -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 @@ -59,8 +59,8 @@ QDF_STATUS pmo_psoc_object_created_notification(struct wlan_objmgr_psoc *psoc, void *arg); /** - * pmo_psoc_object_destroyed_notification(): pmo psoc delete handler - * @psco: psoc which is going to delete by objmgr + * pmo_psoc_object_destroyed_notification(): pmo psoc delete handler + * @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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_public_struct.h index 41289ccd04..3d94cd504d 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_obj_mgmt_public_struct.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_pkt_filter_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_pkt_filter_public_struct.h index 992144b60f..d654b9664f 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_pkt_filter_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_pkt_filter_public_struct.h @@ -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: diff --git a/components/pmo/dispatcher/inc/wlan_pmo_tgt_api.h b/components/pmo/dispatcher/inc/wlan_pmo_tgt_api.h index 2b30a2f982..2f25df7e0e 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_tgt_api.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_tgt_api.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h b/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h index 37e92e5f0d..39acf86d75 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h @@ -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 diff --git a/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h index fb99e09935..0c09c19675 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h @@ -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;