hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/******************************************************************************
 *
 * Copyright(c) 2019 Realtek Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 *****************************************************************************/
#define _HAL_EXT_TX_PWR_LMT_C_
#include "hal_headers.h"
 
 
enum rtw_hal_status
rtw_hal_set_power_lmt(void *hal, u8 band_idx)
{
   struct hal_info_t *hal_info = (struct hal_info_t *)hal;
   enum rtw_hal_status status = RTW_HAL_STATUS_SUCCESS;
   enum phl_phy_idx phy_idx = HW_PHY_0;
 
   if (band_idx == 1)
       phy_idx = HW_PHY_1;
 
   status = rtw_hal_rf_set_power(hal_info, phy_idx, PWR_LIMIT);
 
   return status;
}
 
 
void
rtw_hal_enable_ext_pwr_lmt(void *hal, u8 hw_band,
       struct rtw_tpu_ext_pwr_lmt_info *ext_pwr_lmt_info)
{
   struct hal_info_t *hal_info = (struct hal_info_t *)hal;
   struct rtw_hal_com_t *hal_com = hal_info->hal_com;
   struct rtw_tpu_ext_pwr_lmt_info *tpu_ext_pwr_lmt_info;
   u8 i;
 
   PHL_INFO("%s\n", __func__);
 
   tpu_ext_pwr_lmt_info = &(hal_com->rtw_tpu_ext_pwr_lmt_i[hw_band]);
 
   /* enable external tx power limit mechanism */
   hal_com->ext_pwr_lmt_en = true;
 
   /* Fill external tx power limit into hal_com->rtw_tpu_ext_pwr_lmt_info */
   for (i = 0; i < HAL_MAX_PATH; i++) {
       tpu_ext_pwr_lmt_info->ext_pwr_lmt_2_4g[i]
           = ext_pwr_lmt_info->ext_pwr_lmt_2_4g[i];
 
       tpu_ext_pwr_lmt_info->ext_pwr_lmt_5g_band1[i]
           = ext_pwr_lmt_info->ext_pwr_lmt_5g_band1[i];
       tpu_ext_pwr_lmt_info->ext_pwr_lmt_5g_band2[i]
           = ext_pwr_lmt_info->ext_pwr_lmt_5g_band2[i];
       tpu_ext_pwr_lmt_info->ext_pwr_lmt_5g_band3[i]
           = ext_pwr_lmt_info->ext_pwr_lmt_5g_band3[i];
       tpu_ext_pwr_lmt_info->ext_pwr_lmt_5g_band4[i]
           = ext_pwr_lmt_info->ext_pwr_lmt_5g_band4[i];
   }
 
   rtw_hal_rf_update_ext_pwr_lmt_table(hal_info);
 
}