Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 1 | /* |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 2 | * Copyright (c) 2011-2012, 2014-2018 The Linux Foundation. All rights reserved. |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 3 | * |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 4 | * Permission to use, copy, modify, and/or distribute this software for |
| 5 | * any purpose with or without fee is hereby granted, provided that the |
| 6 | * above copyright notice and this permission notice appear in all |
| 7 | * copies. |
| 8 | * |
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| 10 | * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| 11 | * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| 12 | * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| 13 | * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| 14 | * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| 15 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| 16 | * PERFORMANCE OF THIS SOFTWARE. |
| 17 | */ |
| 18 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 19 | /**========================================================================= |
| 20 | |
| 21 | \file rrm_api.h |
| 22 | |
| 23 | \brief RRM APIs |
| 24 | |
| 25 | ========================================================================*/ |
| 26 | |
| 27 | /* $Header$ */ |
| 28 | |
| 29 | #ifndef __RRM_API_H__ |
| 30 | #define __RRM_API_H__ |
| 31 | |
| 32 | #define RRM_MIN_TX_PWR_CAP 13 |
| 33 | #define RRM_MAX_TX_PWR_CAP 19 |
| 34 | |
| 35 | #define RRM_BCN_RPT_NO_BSS_INFO 0 |
| 36 | #define RRM_BCN_RPT_MIN_RPT 1 |
| 37 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 38 | uint8_t rrm_get_min_of_max_tx_power(struct mac_context *mac, int8_t regMax, |
Amar Singhal | a297bfa | 2015-10-15 15:07:29 -0700 | [diff] [blame] | 39 | int8_t apTxPower); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 40 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 41 | QDF_STATUS rrm_initialize(struct mac_context *mac); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 42 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 43 | QDF_STATUS rrm_cleanup(struct mac_context *mac); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 44 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 45 | QDF_STATUS rrm_process_link_measurement_request(struct mac_context *mac, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 46 | uint8_t *pRxPacketInfo, |
| 47 | tDot11fLinkMeasurementRequest |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 48 | *pLinkReq, |
Jeff Johnson | 66845ca | 2018-11-18 21:44:10 -0800 | [diff] [blame] | 49 | struct pe_session * |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 50 | pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 51 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 52 | QDF_STATUS rrm_process_radio_measurement_request(struct mac_context *mac, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 53 | tSirMacAddr peer, |
| 54 | tDot11fRadioMeasurementRequest |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 55 | *pRRMReq, |
Jeff Johnson | 66845ca | 2018-11-18 21:44:10 -0800 | [diff] [blame] | 56 | struct pe_session * |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 57 | pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 58 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 59 | QDF_STATUS rrm_process_neighbor_report_response(struct mac_context *mac, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 60 | tDot11fNeighborReportResponse |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 61 | *pNeighborRep, |
Jeff Johnson | 66845ca | 2018-11-18 21:44:10 -0800 | [diff] [blame] | 62 | struct pe_session * |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 63 | pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 64 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 65 | QDF_STATUS rrm_send_set_max_tx_power_req(struct mac_context *mac, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 66 | int8_t txPower, |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 67 | struct pe_session *pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 68 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 69 | int8_t rrm_get_mgmt_tx_power(struct mac_context *mac, |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 70 | struct pe_session *pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 71 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 72 | void rrm_cache_mgmt_tx_power(struct mac_context *mac, |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 73 | int8_t txPower, struct pe_session *pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 74 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 75 | tpRRMCaps rrm_get_capabilities(struct mac_context *mac, |
Jeff Johnson | b5c1333 | 2018-12-03 09:54:51 -0800 | [diff] [blame] | 76 | struct pe_session *pe_session); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 77 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 78 | void rrm_get_start_tsf(struct mac_context *mac, uint32_t *pStartTSF); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 79 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 80 | void rrm_update_start_tsf(struct mac_context *mac, uint32_t startTSF[2]); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 81 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 82 | QDF_STATUS rrm_set_max_tx_power_rsp(struct mac_context *mac, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 83 | struct scheduler_msg *limMsgQ); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 84 | |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 85 | QDF_STATUS |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 86 | rrm_process_neighbor_report_req(struct mac_context *mac, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 87 | tpSirNeighborReportReqInd pNeighborReq); |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 88 | |
| 89 | QDF_STATUS |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 90 | rrm_process_beacon_report_xmit(struct mac_context *mac, |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 91 | tpSirBeaconReportXmitInd pBcnReport); |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 92 | |
Jeff Johnson | b228e0a | 2018-12-02 12:27:26 -0800 | [diff] [blame^] | 93 | void lim_update_rrm_capability(struct mac_context *mac_ctx, |
Jeff Johnson | ceb4e9b | 2018-06-22 14:44:24 -0700 | [diff] [blame] | 94 | tpSirSmeJoinReq join_req); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 95 | #endif |