root/drivers/staging/rtl8712/rtl871x_mp_ioctl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. GEN_MP_IOCTL_SUBCODE
  2. GEN_MP_IOCTL_SUBCODE
  3. GEN_MP_IOCTL_SUBCODE
  4. GEN_MP_IOCTL_SUBCODE
  5. GEN_MP_IOCTL_SUBCODE
  6. GEN_MP_IOCTL_SUBCODE
  7. GEN_MP_IOCTL_SUBCODE
  8. GEN_MP_IOCTL_SUBCODE
  9. GEN_MP_IOCTL_SUBCODE
  10. GEN_MP_IOCTL_SUBCODE
  11. GEN_MP_IOCTL_SUBCODE
  12. GEN_MP_IOCTL_SUBCODE
  13. GEN_MP_IOCTL_SUBCODE
  14. GEN_MP_IOCTL_SUBCODE
  15. GEN_MP_IOCTL_SUBCODE
  16. GEN_MP_IOCTL_SUBCODE
  17. GEN_MP_IOCTL_SUBCODE
  18. GEN_MP_IOCTL_SUBCODE
  19. GEN_MP_IOCTL_SUBCODE
  20. GEN_MP_IOCTL_SUBCODE
  21. GEN_MP_IOCTL_SUBCODE
  22. GEN_MP_IOCTL_SUBCODE
  23. GEN_MP_IOCTL_SUBCODE
  24. GEN_MP_IOCTL_SUBCODE
  25. GEN_MP_IOCTL_SUBCODE
  26. GEN_MP_IOCTL_SUBCODE
  27. GEN_MP_IOCTL_SUBCODE
  28. GEN_MP_IOCTL_SUBCODE
  29. GEN_MP_IOCTL_SUBCODE
  30. GEN_MP_IOCTL_SUBCODE
  31. GEN_MP_IOCTL_SUBCODE
  32. GEN_MP_IOCTL_SUBCODE
  33. GEN_MP_IOCTL_SUBCODE
  34. GEN_MP_IOCTL_SUBCODE
  35. GEN_MP_IOCTL_SUBCODE

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /******************************************************************************
   3  *
   4  * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
   5  *
   6  * Modifications for inclusion into the Linux staging tree are
   7  * Copyright(c) 2010 Larry Finger. All rights reserved.
   8  *
   9  * Contact information:
  10  * WLAN FAE <wlanfae@realtek.com>
  11  * Larry Finger <Larry.Finger@lwfinger.net>
  12  *
  13  ******************************************************************************/
  14 #ifndef _RTL871X_MP_IOCTL_H
  15 #define _RTL871X_MP_IOCTL_H
  16 
  17 #include "osdep_service.h"
  18 #include "drv_types.h"
  19 #include "mp_custom_oid.h"
  20 #include "rtl871x_ioctl.h"
  21 #include "rtl871x_ioctl_rtl.h"
  22 #include "rtl8712_efuse.h"
  23 
  24 #define TESTFWCMDNUMBER                 1000000
  25 #define TEST_H2CINT_WAIT_TIME           500
  26 #define TEST_C2HINT_WAIT_TIME           500
  27 #define HCI_TEST_SYSCFG_HWMASK          1
  28 #define _BUSCLK_40M                     (4 << 2)
  29 
  30 struct CFG_DBG_MSG_STRUCT {
  31         u32 DebugLevel;
  32         u32 DebugComponent_H32;
  33         u32 DebugComponent_L32;
  34 };
  35 
  36 struct mp_rw_reg {
  37         uint offset;
  38         uint width;
  39         u32 value;
  40 };
  41 
  42 /* for OID_RT_PRO_READ16_EEPROM & OID_RT_PRO_WRITE16_EEPROM */
  43 struct eeprom_rw_param {
  44         uint offset;
  45         u16 value;
  46 };
  47 
  48 struct EFUSE_ACCESS_STRUCT {
  49         u16     start_addr;
  50         u16     cnts;
  51         u8      data[0];
  52 };
  53 
  54 struct burst_rw_reg {
  55         uint offset;
  56         uint len;
  57         u8 Data[256];
  58 };
  59 
  60 struct usb_vendor_req {
  61         u8      bRequest;
  62         u16     wValue;
  63         u16     wIndex;
  64         u16     wLength;
  65         u8      u8Dir;/*0:OUT, 1:IN */
  66         u8      u8InData;
  67 };
  68 
  69 struct DR_VARIABLE_STRUCT {
  70         u8 offset;
  71         u32 variable;
  72 };
  73 
  74 /* oid_rtl_seg_87_11_00 */
  75 uint oid_rt_pro_read_register_hdl(struct oid_par_priv *poid_par_priv);
  76 uint oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv);
  77 /* oid_rtl_seg_81_80_00 */
  78 uint oid_rt_pro_set_data_rate_hdl(
  79                                 struct oid_par_priv *poid_par_priv);
  80 uint oid_rt_pro_start_test_hdl(struct oid_par_priv *poid_par_priv);
  81 uint oid_rt_pro_stop_test_hdl(struct oid_par_priv *poid_par_priv);
  82 uint oid_rt_pro_set_channel_direct_call_hdl(
  83                                 struct oid_par_priv *poid_par_priv);
  84 uint oid_rt_pro_set_antenna_bb_hdl(
  85                                 struct oid_par_priv *poid_par_priv);
  86 uint oid_rt_pro_set_tx_power_control_hdl(
  87                                 struct oid_par_priv *poid_par_priv);
  88 /* oid_rtl_seg_81_80_20 */
  89 uint oid_rt_pro_query_tx_packet_sent_hdl(
  90                                 struct oid_par_priv *poid_par_priv);
  91 uint oid_rt_pro_query_rx_packet_received_hdl(
  92                                 struct oid_par_priv *poid_par_priv);
  93 uint oid_rt_pro_query_rx_packet_crc32_error_hdl(
  94                                 struct oid_par_priv *poid_par_priv);
  95 uint oid_rt_pro_reset_tx_packet_sent_hdl(
  96                                 struct oid_par_priv *poid_par_priv);
  97 uint oid_rt_pro_reset_rx_packet_received_hdl(
  98                                 struct oid_par_priv *poid_par_priv);
  99 uint oid_rt_pro_set_modulation_hdl(struct oid_par_priv *poid_par_priv);
 100 uint oid_rt_pro_set_continuous_tx_hdl(
 101                                 struct oid_par_priv *poid_par_priv);
 102 uint oid_rt_pro_set_single_carrier_tx_hdl(
 103                                 struct oid_par_priv *poid_par_priv);
 104 uint oid_rt_pro_set_carrier_suppression_tx_hdl(
 105                                 struct oid_par_priv *poid_par_priv);
 106 uint oid_rt_pro_set_single_tone_tx_hdl(
 107                                 struct oid_par_priv *poid_par_priv);
 108 /* oid_rtl_seg_81_87 */
 109 uint oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv);
 110 uint oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv);
 111 uint oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv);
 112 uint oid_rt_pro_read_rf_reg_hdl(struct oid_par_priv *poid_par_priv);
 113 /* oid_rtl_seg_81_85 */
 114 uint oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv);
 115 uint oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv);
 116 uint oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv);
 117 uint oid_rt_get_efuse_current_size_hdl(
 118                                 struct oid_par_priv *poid_par_priv);
 119 uint oid_rt_pro_efuse_hdl(struct oid_par_priv *poid_par_priv);
 120 uint oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv);
 121 uint oid_rt_set_bandwidth_hdl(struct oid_par_priv *poid_par_priv);
 122 uint oid_rt_set_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv);
 123 uint oid_rt_get_efuse_max_size_hdl(struct oid_par_priv *poid_par_priv);
 124 uint oid_rt_get_thermal_meter_hdl(
 125                                 struct oid_par_priv *poid_par_priv);
 126 uint oid_rt_reset_phy_rx_packet_count_hdl(
 127                                 struct oid_par_priv *poid_par_priv);
 128 uint oid_rt_get_phy_rx_packet_received_hdl(
 129                                 struct oid_par_priv *poid_par_priv);
 130 uint oid_rt_get_phy_rx_packet_crc32_error_hdl(
 131                                 struct oid_par_priv *poid_par_priv);
 132 uint oid_rt_set_power_down_hdl(
 133                                 struct oid_par_priv *poid_par_priv);
 134 uint oid_rt_get_power_mode_hdl(
 135                                 struct oid_par_priv *poid_par_priv);
 136 #ifdef _RTL871X_MP_IOCTL_C_ /* CAUTION!!! */
 137 /* This ifdef _MUST_ be left in!! */
 138 static const struct oid_obj_priv oid_rtl_seg_81_80_00[] = {
 139         /* 0x00 OID_RT_PRO_RESET_DUT */
 140         {1, oid_null_function},
 141         /* 0x01 */
 142         {1, oid_rt_pro_set_data_rate_hdl},
 143         /* 0x02 */
 144         {1, oid_rt_pro_start_test_hdl},
 145         /* 0x03 */
 146         {1, oid_rt_pro_stop_test_hdl},
 147         /* 0x04 OID_RT_PRO_SET_PREAMBLE */
 148         {1, oid_null_function},
 149         /* 0x05 OID_RT_PRO_SET_SCRAMBLER */
 150         {1, oid_null_function},
 151         /* 0x06 OID_RT_PRO_SET_FILTER_BB */
 152         {1, oid_null_function},
 153         /* 0x07  OID_RT_PRO_SET_MANUAL_DIVERS_BB */
 154         {1, oid_null_function},
 155         /* 0x08 */
 156         {1, oid_rt_pro_set_channel_direct_call_hdl},
 157         /* 0x09  OID_RT_PRO_SET_SLEEP_MODE_DIRECT_CALL */
 158         {1, oid_null_function},
 159         /* 0x0A  OID_RT_PRO_SET_WAKE_MODE_DIRECT_CALL */
 160         {1, oid_null_function},
 161         /* 0x0B OID_RT_PRO_SET_TX_CONTINUOUS_DIRECT_CALL */
 162         {1, oid_rt_pro_set_continuous_tx_hdl},
 163         /* 0x0C OID_RT_PRO_SET_SINGLE_CARRIER_TX_CONTINUOUS */
 164         {1, oid_rt_pro_set_single_carrier_tx_hdl},
 165         /* 0x0D OID_RT_PRO_SET_TX_ANTENNA_BB */
 166         {1, oid_null_function},
 167         /* 0x0E */
 168         {1, oid_rt_pro_set_antenna_bb_hdl},
 169         /* 0x0F OID_RT_PRO_SET_CR_SCRAMBLER */
 170         {1, oid_null_function},
 171         /* 0x10 OID_RT_PRO_SET_CR_NEW_FILTER */
 172         {1, oid_null_function},
 173         /* 0x11 OID_RT_PRO_SET_TX_POWER_CONTROL */
 174         {1, oid_rt_pro_set_tx_power_control_hdl},
 175         /* 0x12 OID_RT_PRO_SET_CR_TX_CONFIG */
 176         {1, oid_null_function},
 177         /* 0x13  OID_RT_PRO_GET_TX_POWER_CONTROL */
 178         {1, oid_null_function},
 179         /* 0x14  OID_RT_PRO_GET_CR_SIGNAL_QUALITY */
 180         {1, oid_null_function},
 181         /* 0x15 OID_RT_PRO_SET_CR_SETPOINT */
 182         {1, oid_null_function},
 183         /* 0x16 OID_RT_PRO_SET_INTEGRATOR */
 184         {1, oid_null_function},
 185         /* 0x17 OID_RT_PRO_SET_SIGNAL_QUALITY */
 186         {1, oid_null_function},
 187         /* 0x18 OID_RT_PRO_GET_INTEGRATOR */
 188         {1, oid_null_function},
 189         /* 0x19 OID_RT_PRO_GET_SIGNAL_QUALITY */
 190         {1, oid_null_function},
 191         /* 0x1A OID_RT_PRO_QUERY_EEPROM_TYPE */
 192         {1, oid_null_function},
 193         /* 0x1B OID_RT_PRO_WRITE_MAC_ADDRESS */
 194         {1, oid_null_function},
 195         /* 0x1C OID_RT_PRO_READ_MAC_ADDRESS */
 196         {1, oid_null_function},
 197         /* 0x1D OID_RT_PRO_WRITE_CIS_DATA */
 198         {1, oid_null_function},
 199         /* 0x1E OID_RT_PRO_READ_CIS_DATA */
 200         {1, oid_null_function},
 201         /* 0x1F OID_RT_PRO_WRITE_POWER_CONTROL */
 202         {1, oid_null_function}
 203 };
 204 
 205 static const struct oid_obj_priv oid_rtl_seg_81_80_20[] = {
 206         /* 0x20 OID_RT_PRO_READ_POWER_CONTROL */
 207         {1, oid_null_function},
 208         /* 0x21 OID_RT_PRO_WRITE_EEPROM */
 209         {1, oid_null_function},
 210         /* 0x22 OID_RT_PRO_READ_EEPROM */
 211         {1, oid_null_function},
 212         /* 0x23 */
 213         {1, oid_rt_pro_reset_tx_packet_sent_hdl},
 214         /* 0x24 */
 215         {1, oid_rt_pro_query_tx_packet_sent_hdl},
 216         /* 0x25 */
 217         {1, oid_rt_pro_reset_rx_packet_received_hdl},
 218         /* 0x26 */
 219         {1, oid_rt_pro_query_rx_packet_received_hdl},
 220         /* 0x27 */
 221         {1, oid_rt_pro_query_rx_packet_crc32_error_hdl},
 222         /* 0x28 OID_RT_PRO_QUERY_CURRENT_ADDRESS */
 223         {1, oid_null_function},
 224         /* 0x29 OID_RT_PRO_QUERY_PERMANENT_ADDRESS */
 225         {1, oid_null_function},
 226         /* 0x2A OID_RT_PRO_SET_PHILIPS_RF_PARAMETERS */
 227         {1, oid_null_function},
 228         /* 0x2B OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX */
 229         {1, oid_rt_pro_set_carrier_suppression_tx_hdl},
 230         /* 0x2C OID_RT_PRO_RECEIVE_PACKET */
 231         {1, oid_null_function},
 232         /* 0x2D OID_RT_PRO_WRITE_EEPROM_BYTE */
 233         {1, oid_null_function},
 234         /* 0x2E OID_RT_PRO_READ_EEPROM_BYTE */
 235         {1, oid_null_function},
 236         /* 0x2F */
 237         {1, oid_rt_pro_set_modulation_hdl}
 238 };
 239 
 240 static const struct oid_obj_priv oid_rtl_seg_81_80_40[] = {
 241         {1, oid_null_function},                         /* 0x40 */
 242         {1, oid_null_function},                         /* 0x41 */
 243         {1, oid_null_function},                         /* 0x42 */
 244         {1, oid_rt_pro_set_single_tone_tx_hdl},         /* 0x43 */
 245         {1, oid_null_function},                         /* 0x44 */
 246         {1, oid_null_function}                          /* 0x45 */
 247 };
 248 
 249 static const struct oid_obj_priv oid_rtl_seg_81_80_80[] = {
 250         {1, oid_null_function},         /* 0x80 OID_RT_DRIVER_OPTION */
 251         {1, oid_null_function},         /* 0x81 OID_RT_RF_OFF */
 252         {1, oid_null_function}          /* 0x82 OID_RT_AUTH_STATUS */
 253 
 254 };
 255 
 256 static const struct oid_obj_priv oid_rtl_seg_81_85[] = {
 257         /* 0x00 OID_RT_WIRELESS_MODE */
 258         {1, oid_rt_wireless_mode_hdl}
 259 };
 260 
 261 #else /* _RTL871X_MP_IOCTL_C_ */
 262 extern struct oid_obj_priv oid_rtl_seg_81_80_00[32];
 263 extern struct oid_obj_priv oid_rtl_seg_81_80_20[16];
 264 extern struct oid_obj_priv oid_rtl_seg_81_80_40[6];
 265 extern struct oid_obj_priv oid_rtl_seg_81_80_80[3];
 266 extern struct oid_obj_priv oid_rtl_seg_81_85[1];
 267 extern struct oid_obj_priv oid_rtl_seg_81_87[5];
 268 extern struct oid_obj_priv oid_rtl_seg_87_11_00[32];
 269 extern struct oid_obj_priv oid_rtl_seg_87_11_20[5];
 270 extern struct oid_obj_priv oid_rtl_seg_87_11_50[2];
 271 extern struct oid_obj_priv oid_rtl_seg_87_11_80[1];
 272 extern struct oid_obj_priv oid_rtl_seg_87_11_B0[1];
 273 extern struct oid_obj_priv oid_rtl_seg_87_11_F0[16];
 274 extern struct oid_obj_priv oid_rtl_seg_87_12_00[32];
 275 
 276 #endif /* _RTL871X_MP_IOCTL_C_ */
 277 
 278 
 279 enum MP_MODE {
 280         MP_START_MODE,
 281         MP_STOP_MODE,
 282         MP_ERR_MODE
 283 };
 284 
 285 struct rwreg_param {
 286         unsigned int offset;
 287         unsigned int width;
 288         unsigned int value;
 289 };
 290 
 291 struct bbreg_param {
 292         unsigned int offset;
 293         unsigned int phymask;
 294         unsigned int value;
 295 };
 296 
 297 struct txpower_param {
 298         unsigned int pwr_index;
 299 };
 300 
 301 struct datarate_param {
 302         unsigned int rate_index;
 303 };
 304 
 305 struct rfintfs_parm {
 306         unsigned int rfintfs;
 307 };
 308 
 309 struct mp_xmit_packet {
 310         unsigned int len;
 311 };
 312 
 313 struct psmode_param {
 314         unsigned int ps_mode;
 315         unsigned int smart_ps;
 316 };
 317 
 318 struct mp_ioctl_handler {
 319         unsigned int paramsize;
 320         unsigned int (*handler)(struct oid_par_priv *poid_par_priv);
 321         unsigned int oid;
 322 };
 323 
 324 struct mp_ioctl_param {
 325         unsigned int subcode;
 326         unsigned int len;
 327         unsigned char data[0];
 328 };
 329 
 330 #define GEN_MP_IOCTL_SUBCODE(code) _MP_IOCTL_ ## code ## _CMD_
 331 
 332 enum RTL871X_MP_IOCTL_SUBCODE {
 333         GEN_MP_IOCTL_SUBCODE(MP_START),                 /*0*/
 334         GEN_MP_IOCTL_SUBCODE(MP_STOP),                  /*1*/
 335         GEN_MP_IOCTL_SUBCODE(READ_REG),                 /*2*/
 336         GEN_MP_IOCTL_SUBCODE(WRITE_REG),
 337         GEN_MP_IOCTL_SUBCODE(SET_CHANNEL),              /*4*/
 338         GEN_MP_IOCTL_SUBCODE(SET_TXPOWER),              /*5*/
 339         GEN_MP_IOCTL_SUBCODE(SET_DATARATE),             /*6*/
 340         GEN_MP_IOCTL_SUBCODE(READ_BB_REG),              /*7*/
 341         GEN_MP_IOCTL_SUBCODE(WRITE_BB_REG),
 342         GEN_MP_IOCTL_SUBCODE(READ_RF_REG),              /*9*/
 343         GEN_MP_IOCTL_SUBCODE(WRITE_RF_REG),
 344         GEN_MP_IOCTL_SUBCODE(SET_RF_INTFS),
 345         GEN_MP_IOCTL_SUBCODE(IOCTL_XMIT_PACKET),        /*12*/
 346         GEN_MP_IOCTL_SUBCODE(PS_STATE),                 /*13*/
 347         GEN_MP_IOCTL_SUBCODE(READ16_EEPROM),            /*14*/
 348         GEN_MP_IOCTL_SUBCODE(WRITE16_EEPROM),           /*15*/
 349         GEN_MP_IOCTL_SUBCODE(SET_PTM),                  /*16*/
 350         GEN_MP_IOCTL_SUBCODE(READ_TSSI),                /*17*/
 351         GEN_MP_IOCTL_SUBCODE(CNTU_TX),                  /*18*/
 352         GEN_MP_IOCTL_SUBCODE(SET_BANDWIDTH),            /*19*/
 353         GEN_MP_IOCTL_SUBCODE(SET_RX_PKT_TYPE),          /*20*/
 354         GEN_MP_IOCTL_SUBCODE(RESET_PHY_RX_PKT_CNT),     /*21*/
 355         GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_RECV),      /*22*/
 356         GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_ERROR),     /*23*/
 357         GEN_MP_IOCTL_SUBCODE(SET_POWER_DOWN),           /*24*/
 358         GEN_MP_IOCTL_SUBCODE(GET_THERMAL_METER),        /*25*/
 359         GEN_MP_IOCTL_SUBCODE(GET_POWER_MODE),           /*26*/
 360         GEN_MP_IOCTL_SUBCODE(EFUSE),                    /*27*/
 361         GEN_MP_IOCTL_SUBCODE(EFUSE_MAP),                /*28*/
 362         GEN_MP_IOCTL_SUBCODE(GET_EFUSE_MAX_SIZE),       /*29*/
 363         GEN_MP_IOCTL_SUBCODE(GET_EFUSE_CURRENT_SIZE),   /*30*/
 364         GEN_MP_IOCTL_SUBCODE(SC_TX),                    /*31*/
 365         GEN_MP_IOCTL_SUBCODE(CS_TX),                    /*32*/
 366         GEN_MP_IOCTL_SUBCODE(ST_TX),                    /*33*/
 367         GEN_MP_IOCTL_SUBCODE(SET_ANTENNA),              /*34*/
 368         MAX_MP_IOCTL_SUBCODE,
 369 };
 370 
 371 unsigned int mp_ioctl_xmit_packet_hdl(struct oid_par_priv *poid_par_priv);
 372 
 373 #ifdef _RTL871X_MP_IOCTL_C_ /* CAUTION!!! */
 374 /* This ifdef _MUST_ be left in!! */
 375 
 376 static struct mp_ioctl_handler mp_ioctl_hdl[] = {
 377         {sizeof(u32), oid_rt_pro_start_test_hdl,
 378                              OID_RT_PRO_START_TEST},/*0*/
 379         {sizeof(u32), oid_rt_pro_stop_test_hdl,
 380                              OID_RT_PRO_STOP_TEST},/*1*/
 381         {sizeof(struct rwreg_param),
 382                              oid_rt_pro_read_register_hdl,
 383                              OID_RT_PRO_READ_REGISTER},/*2*/
 384         {sizeof(struct rwreg_param),
 385                              oid_rt_pro_write_register_hdl,
 386                              OID_RT_PRO_WRITE_REGISTER},
 387         {sizeof(u32),
 388                              oid_rt_pro_set_channel_direct_call_hdl,
 389                              OID_RT_PRO_SET_CHANNEL_DIRECT_CALL},
 390         {sizeof(struct txpower_param),
 391                              oid_rt_pro_set_tx_power_control_hdl,
 392                              OID_RT_PRO_SET_TX_POWER_CONTROL},
 393         {sizeof(u32),
 394                              oid_rt_pro_set_data_rate_hdl,
 395                              OID_RT_PRO_SET_DATA_RATE},
 396         {sizeof(struct bb_reg_param),
 397                              oid_rt_pro_read_bb_reg_hdl,
 398                              OID_RT_PRO_READ_BB_REG},/*7*/
 399         {sizeof(struct bb_reg_param),
 400                              oid_rt_pro_write_bb_reg_hdl,
 401                              OID_RT_PRO_WRITE_BB_REG},
 402         {sizeof(struct rwreg_param),
 403                              oid_rt_pro_read_rf_reg_hdl,
 404                              OID_RT_PRO_RF_READ_REGISTRY},/*9*/
 405         {sizeof(struct rwreg_param),
 406                              oid_rt_pro_write_rf_reg_hdl,
 407                              OID_RT_PRO_RF_WRITE_REGISTRY},
 408         {sizeof(struct rfintfs_parm), NULL, 0},
 409         {0, mp_ioctl_xmit_packet_hdl, 0},/*12*/
 410         {sizeof(struct psmode_param), NULL, 0},/*13*/
 411         {sizeof(struct eeprom_rw_param), NULL, 0},/*14*/
 412         {sizeof(struct eeprom_rw_param), NULL, 0},/*15*/
 413         {sizeof(unsigned char), NULL, 0},/*16*/
 414         {sizeof(u32), NULL, 0},/*17*/
 415         {sizeof(u32), oid_rt_pro_set_continuous_tx_hdl,
 416                              OID_RT_PRO_SET_CONTINUOUS_TX},/*18*/
 417         {sizeof(u32), oid_rt_set_bandwidth_hdl,
 418                              OID_RT_SET_BANDWIDTH},/*19*/
 419         {sizeof(u32), oid_rt_set_rx_packet_type_hdl,
 420                              OID_RT_SET_RX_PACKET_TYPE},/*20*/
 421         {0, oid_rt_reset_phy_rx_packet_count_hdl,
 422                              OID_RT_RESET_PHY_RX_PACKET_COUNT},/*21*/
 423         {sizeof(u32), oid_rt_get_phy_rx_packet_received_hdl,
 424                              OID_RT_GET_PHY_RX_PACKET_RECEIVED},/*22*/
 425         {sizeof(u32), oid_rt_get_phy_rx_packet_crc32_error_hdl,
 426                              OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR},/*23*/
 427         {sizeof(unsigned char), oid_rt_set_power_down_hdl,
 428                              OID_RT_SET_POWER_DOWN},/*24*/
 429         {sizeof(u32), oid_rt_get_thermal_meter_hdl,
 430                              OID_RT_PRO_GET_THERMAL_METER},/*25*/
 431         {sizeof(u32), oid_rt_get_power_mode_hdl,
 432                              OID_RT_GET_POWER_MODE},/*26*/
 433         {sizeof(struct EFUSE_ACCESS_STRUCT),
 434                              oid_rt_pro_efuse_hdl, OID_RT_PRO_EFUSE},/*27*/
 435         {EFUSE_MAP_MAX_SIZE, oid_rt_pro_efuse_map_hdl,
 436                              OID_RT_PRO_EFUSE_MAP},/*28*/
 437         {sizeof(u32), oid_rt_get_efuse_max_size_hdl,
 438                              OID_RT_GET_EFUSE_MAX_SIZE},/*29*/
 439         {sizeof(u32), oid_rt_get_efuse_current_size_hdl,
 440                              OID_RT_GET_EFUSE_CURRENT_SIZE},/*30*/
 441         {sizeof(u32), oid_rt_pro_set_single_carrier_tx_hdl,
 442                              OID_RT_PRO_SET_SINGLE_CARRIER_TX},/*31*/
 443         {sizeof(u32), oid_rt_pro_set_carrier_suppression_tx_hdl,
 444                              OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX},/*32*/
 445         {sizeof(u32), oid_rt_pro_set_single_tone_tx_hdl,
 446                              OID_RT_PRO_SET_SINGLE_TONE_TX},/*33*/
 447         {sizeof(u32), oid_rt_pro_set_antenna_bb_hdl,
 448                              OID_RT_PRO_SET_ANTENNA_BB},/*34*/
 449 };
 450 
 451 #else /* _RTL871X_MP_IOCTL_C_ */
 452 extern struct mp_ioctl_handler mp_ioctl_hdl[];
 453 #endif /* _RTL871X_MP_IOCTL_C_ */
 454 
 455 #endif
 456 

/* [<][>][^][v][top][bottom][index][help] */