qcacld-3.0: Add go_ignore_non_p2p_probe_req in probe rsp template

Add config to enable go ignore non-p2p probe req feature. If set,
don't need to send probe rsp to STA, hence save power.

Change-Id: I8b4776e4ffd1315bf30e210797b22a673cf2a6c2
CRs-Fixed: 3812361
这个提交包含在:
Jianmin Zhu
2024-05-13 22:49:26 +08:00
提交者 Ravindra Konda
父节点 ab7e52fd17
当前提交 dcb8aef352
修改 8 个文件,包含 70 行新增5 行删除

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2024 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
@@ -555,6 +555,9 @@ static QDF_STATUS p2p_object_init_params(
cfg_get(psoc, CFG_ACTION_FRAME_RANDOM_SEQ_NUM_ENABLED);
p2p_soc_obj->param.indoor_channel_support =
cfg_get(psoc, CFG_P2P_GO_ON_5GHZ_INDOOR_CHANNEL);
p2p_soc_obj->param.go_ignore_non_p2p_probe_req =
cfg_get(psoc, CFG_GO_IGNORE_NON_P2P_PROBE_REQ);
return QDF_STATUS_SUCCESS;
}

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2024 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
@@ -213,6 +213,7 @@ void p2p_status_update(struct p2p_soc_priv_obj *p2p_soc_obj,
* @skip_dfs_channel_p2p_search: skip DFS Channel in case of P2P Search
* @is_random_seq_num_enabled: Flag to generate random sequence numbers
* @indoor_channel_support: support to allow GO in indoor channels
* @go_ignore_non_p2p_probe_req: P2P GO ignore non-P2P probe req
*/
struct p2p_param {
uint32_t go_keepalive_period;
@@ -220,6 +221,7 @@ struct p2p_param {
bool p2p_device_addr_admin;
bool is_random_seq_num_enabled;
bool indoor_channel_support;
bool go_ignore_non_p2p_probe_req;
};
/**

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2024 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
@@ -147,11 +147,35 @@
0, \
"Allow P2P GO on 5 GHz indoor channels")
/*
* <ini>
* p2p_go_ignore_non_p2p_probe_req - P2P GO ignore non-P2P probe req
*
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable P2P GO ignore non-P2P probe req and don't
* send probe rsp to non-p2p device like STA.
*
*
* Supported Feature: P2P GO
*
* Usage: external
*
* </ini>
*/
#define CFG_GO_IGNORE_NON_P2P_PROBE_REQ CFG_INI_BOOL(\
"go_ignore_non_p2p_probe_req", \
0, \
"P2P GO ignore non-P2P probe req")
#define CFG_P2P_ALL \
CFG(CFG_ACTION_FRAME_RANDOM_SEQ_NUM_ENABLED) \
CFG(CFG_GO_KEEP_ALIVE_PERIOD) \
CFG(CFG_GO_LINK_MONITOR_PERIOD) \
CFG(CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED) \
CFG(CFG_P2P_GO_ON_5GHZ_INDOOR_CHANNEL)
CFG(CFG_P2P_GO_ON_5GHZ_INDOOR_CHANNEL) \
CFG(CFG_GO_IGNORE_NON_P2P_PROBE_REQ)
#endif

查看文件

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2024 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,4 +71,12 @@ cfg_p2p_get_device_addr_admin(struct wlan_objmgr_psoc *psoc,
*/
bool cfg_p2p_is_roam_config_disabled(struct wlan_objmgr_psoc *psoc);
/**
* cfg_p2p_is_go_ignore_non_p2p_probe_req() - Is P2P GO ignore non-P2P probe
* req enabled
* @psoc: pointer to psoc object
*
* If P2P GO ignore non-P2P probe req enabled, don't send probe rsp to STA
*/
bool cfg_p2p_is_go_ignore_non_p2p_probe_req(struct wlan_objmgr_psoc *psoc);
#endif /* _WLAN_P2P_CFG_API_H_ */

查看文件

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2024 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
@@ -97,3 +98,18 @@ bool cfg_p2p_is_roam_config_disabled(struct wlan_objmgr_psoc *psoc)
return false;
}
bool
cfg_p2p_is_go_ignore_non_p2p_probe_req(struct wlan_objmgr_psoc *psoc)
{
struct p2p_soc_priv_obj *p2p_soc_obj;
p2p_soc_obj = wlan_psoc_get_p2p_object(psoc);
if (!p2p_soc_obj) {
p2p_err("p2p psoc null");
return false;
}
return p2p_soc_obj->param.go_ignore_non_p2p_probe_req;
}