rtl871x_mp_ioctl.h revision e3dc896b21fbb4d23e2747dbe58bb9156c9e1a99
12865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#ifndef _RTL871X_MP_IOCTL_H 22865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define _RTL871X_MP_IOCTL_H 32865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 42865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "osdep_service.h" 52865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "drv_types.h" 62865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "mp_custom_oid.h" 72865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "rtl871x_ioctl.h" 82865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "rtl871x_ioctl_rtl.h" 92865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#include "rtl8712_efuse.h" 102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define TESTFWCMDNUMBER 1000000 122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define TEST_H2CINT_WAIT_TIME 500 132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define TEST_C2HINT_WAIT_TIME 500 142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define HCI_TEST_SYSCFG_HWMASK 1 152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define _BUSCLK_40M (4 << 2) 162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct CFG_DBG_MSG_STRUCT { 182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u32 DebugLevel; 192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u32 DebugComponent_H32; 202865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u32 DebugComponent_L32; 212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct mp_rw_reg { 242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger uint offset; 252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger uint width; 262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u32 value; 272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* for OID_RT_PRO_READ16_EEPROM & OID_RT_PRO_WRITE16_EEPROM */ 302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct eeprom_rw_param { 312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger uint offset; 322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 value; 332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct EFUSE_ACCESS_STRUCT { 362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 start_addr; 372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 cnts; 382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 data[0]; 392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct burst_rw_reg { 422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger uint offset; 432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger uint len; 442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 Data[256]; 452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct usb_vendor_req { 482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 bRequest; 492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 wValue; 502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 wIndex; 512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u16 wLength; 522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 u8Dir;/*0:OUT, 1:IN */ 532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 u8InData; 542865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 552865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct DR_VARIABLE_STRUCT { 572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u8 offset; 582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger u32 variable; 592865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 602865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 612865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerint mp_start_joinbss(struct _adapter *padapter, struct ndis_802_11_ssid *pssid); 622865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_87_11_00 */ 642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro8711_join_bss_hdl(struct oid_par_priv *poid_par_priv); 652865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_read_register_hdl(struct oid_par_priv *poid_par_priv); 662865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv); 672865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_burst_read_register_hdl(struct oid_par_priv* 682865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger poid_par_priv); 692865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_burst_write_register_hdl(struct oid_par_priv* 702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger poid_par_priv); 712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write_txcmd_hdl(struct oid_par_priv *poid_par_priv); 722865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_read16_eeprom_hdl(struct oid_par_priv *poid_par_priv); 732865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write16_eeprom_hdl(struct oid_par_priv *poid_par_priv); 742865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro8711_wi_poll_hdl(struct oid_par_priv *poid_par_priv); 752865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro8711_pkt_loss_hdl(struct oid_par_priv *poid_par_priv); 762865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_rd_attrib_mem_hdl(struct oid_par_priv *poid_par_priv); 772865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_wr_attrib_mem_hdl(struct oid_par_priv *poid_par_priv); 782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_rf_intfs_hdl(struct oid_par_priv *poid_par_priv); 792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_poll_rx_status_hdl(struct oid_par_priv *poid_par_priv); 802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_87_11_20 */ 812865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_cfg_debug_message_hdl( 822865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 832865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_data_rate_ex_hdl( 842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_basic_rate_hdl( 862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 872865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_power_tracking_hdl( 882865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 892865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_87_11_50 */ 902865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_qry_pwrstate_hdl( 912865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_pwrstate_hdl( 932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_87_11_F0 */ 952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_h2c_set_rate_table_hdl( 962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_h2c_get_rate_table_hdl( 982865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 992865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_81_80_00 */ 1002865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_data_rate_hdl( 1012865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1022865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_start_test_hdl(struct oid_par_priv *poid_par_priv); 1032865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_stop_test_hdl(struct oid_par_priv *poid_par_priv); 1042865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_channel_direct_call_hdl( 1052865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1062865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_antenna_bb_hdl( 1072865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1082865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_tx_power_control_hdl( 1092865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_81_80_20 */ 1112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_query_tx_packet_sent_hdl( 1122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_query_rx_packet_received_hdl( 1142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_query_rx_packet_crc32_error_hdl( 1162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_reset_tx_packet_sent_hdl( 1182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_reset_rx_packet_received_hdl( 1202865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_modulation_hdl(struct oid_par_priv *poid_par_priv); 1222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_continuous_tx_hdl( 1232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_single_carrier_tx_hdl( 1252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_carrier_suppression_tx_hdl( 1272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_single_tone_tx_hdl( 1292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_81_87 */ 1312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv); 1322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv); 1332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv); 1342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_read_rf_reg_hdl(struct oid_par_priv *poid_par_priv); 1352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_81_85 */ 1362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv); 1372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* oid_rtl_seg_87_12_00 */ 1382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv *poid_par_priv); 1392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_add_sta_info_hdl(struct oid_par_priv *poid_par_priv); 1402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_dele_sta_info_hdl(struct oid_par_priv *poid_par_priv); 1412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_query_dr_variable_hdl( 1422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv); 1442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv); 1452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv); 1462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv); 1472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_efuse_current_size_hdl( 1482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_efuse_hdl(struct oid_par_priv *poid_par_priv); 1502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv); 1512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_set_bandwidth_hdl(struct oid_par_priv *poid_par_priv); 1522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_set_crystal_cap_hdl(struct oid_par_priv *poid_par_priv); 1532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_set_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv); 1542865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_efuse_max_size_hdl(struct oid_par_priv *poid_par_priv); 1552865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_tx_agc_offset_hdl( 1562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_pro_set_pkt_test_mode_hdl( 1582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1592865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_thermal_meter_hdl( 1602865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1612865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_reset_phy_rx_packet_count_hdl( 1622865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_phy_rx_packet_received_hdl( 1642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1652865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_phy_rx_packet_crc32_error_hdl( 1662865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1672865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_set_power_down_hdl( 1682865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1692865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingeruint oid_rt_get_power_mode_hdl( 1702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger struct oid_par_priv *poid_par_priv); 1712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#ifdef _RTL871X_MP_IOCTL_C_ /* CAUTION!!! */ 1722865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* This ifdef _MUST_ be left in!! */ 1732865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstatic const struct oid_obj_priv oid_rtl_seg_81_80_00[] = { 1742865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x00 OID_RT_PRO_RESET_DUT */ 1752865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_data_rate_hdl}, /*0x01*/ 1762865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_start_test_hdl},/*0x02*/ 1772865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_stop_test_hdl}, /*0x03*/ 1782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x04 OID_RT_PRO_SET_PREAMBLE*/ 1792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x05 OID_RT_PRO_SET_SCRAMBLER*/ 1802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x06 OID_RT_PRO_SET_FILTER_BB*/ 1812865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x07 1822865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_MANUAL_DIVERS_BB*/ 1832865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_channel_direct_call_hdl}, /*0x08*/ 1842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x09 1852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_SLEEP_MODE_DIRECT_CALL*/ 1862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x0A 1872865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_WAKE_MODE_DIRECT_CALL*/ 1882865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_continuous_tx_hdl}, /*0x0B 1892865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_TX_CONTINUOUS_DIRECT_CALL*/ 1902865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_single_carrier_tx_hdl}, /*0x0C 1912865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_SINGLE_CARRIER_TX_CONTINUOUS*/ 1922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x0D 1932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_TX_ANTENNA_BB*/ 1942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_antenna_bb_hdl}, /*0x0E*/ 1952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x0F OID_RT_PRO_SET_CR_SCRAMBLER*/ 1962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x10 OID_RT_PRO_SET_CR_NEW_FILTER*/ 1972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_tx_power_control_hdl}, /*0x11 1982865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_SET_TX_POWER_CONTROL*/ 1992865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x12 OID_RT_PRO_SET_CR_TX_CONFIG*/ 2002865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x13 2012865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_GET_TX_POWER_CONTROL*/ 2022865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x14 2032865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger * OID_RT_PRO_GET_CR_SIGNAL_QUALITY*/ 2042865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x15 OID_RT_PRO_SET_CR_SETPOINT*/ 2052865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x16 OID_RT_PRO_SET_INTEGRATOR*/ 2062865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x17 OID_RT_PRO_SET_SIGNAL_QUALITY*/ 2072865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x18 OID_RT_PRO_GET_INTEGRATOR*/ 2082865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x19 OID_RT_PRO_GET_SIGNAL_QUALITY*/ 2092865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x1A OID_RT_PRO_QUERY_EEPROM_TYPE*/ 2102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x1B OID_RT_PRO_WRITE_MAC_ADDRESS*/ 2112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x1C OID_RT_PRO_READ_MAC_ADDRESS*/ 2122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x1D OID_RT_PRO_WRITE_CIS_DATA*/ 2132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x1E OID_RT_PRO_READ_CIS_DATA*/ 2142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function} /*0x1F OID_RT_PRO_WRITE_POWER_CONTROL*/ 2152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstatic const struct oid_obj_priv oid_rtl_seg_81_80_20[] = { 2182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x20 OID_RT_PRO_READ_POWER_CONTROL*/ 2192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x21 OID_RT_PRO_WRITE_EEPROM*/ 2202865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x22 OID_RT_PRO_READ_EEPROM*/ 2212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_reset_tx_packet_sent_hdl}, /*0x23*/ 2222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_query_tx_packet_sent_hdl}, /*0x24*/ 2232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_reset_rx_packet_received_hdl}, /*0x25*/ 2242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_query_rx_packet_received_hdl}, /*0x26*/ 2252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_query_rx_packet_crc32_error_hdl},/*0x27*/ 2262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x28 2272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger *OID_RT_PRO_QUERY_CURRENT_ADDRESS*/ 2282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x29 2292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger *OID_RT_PRO_QUERY_PERMANENT_ADDRESS*/ 2302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x2A 2312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger *OID_RT_PRO_SET_PHILIPS_RF_PARAMETERS*/ 2322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_carrier_suppression_tx_hdl},/*0x2B 2332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger *OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX*/ 2342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x2C OID_RT_PRO_RECEIVE_PACKET*/ 2352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x2D OID_RT_PRO_WRITE_EEPROM_BYTE*/ 2362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x2E OID_RT_PRO_READ_EEPROM_BYTE*/ 2372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_modulation_hdl} /*0x2F*/ 2382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstatic const struct oid_obj_priv oid_rtl_seg_81_80_40[] = { 2412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x40*/ 2422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x41*/ 2432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x42*/ 2442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_pro_set_single_tone_tx_hdl}, /*0x43*/ 2452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x44*/ 2462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function} /*0x45*/ 2472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstatic const struct oid_obj_priv oid_rtl_seg_81_80_80[] = { 2502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x80 OID_RT_DRIVER_OPTION*/ 2512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function}, /*0x81 OID_RT_RF_OFF*/ 2522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_null_function} /*0x82 OID_RT_AUTH_STATUS*/ 2532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2542865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2552865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstatic const struct oid_obj_priv oid_rtl_seg_81_85[] = { 2572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {1, &oid_rt_wireless_mode_hdl} /*0x00 OID_RT_WIRELESS_MODE*/ 2582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2592865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2602865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#else /* _RTL871X_MP_IOCTL_C_ */ 2612865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_80_00[32]; 2622865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_80_20[16]; 2632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_80_40[6]; 2642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_80_80[3]; 2652865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_85[1]; 2662865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_81_87[5]; 2672865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_00[32]; 2682865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_20[5]; 2692865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_50[2]; 2702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_80[1]; 2712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_B0[1]; 2722865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_11_F0[16]; 2732865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct oid_obj_priv oid_rtl_seg_87_12_00[32]; 2742865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2752865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#endif /* _RTL871X_MP_IOCTL_C_ */ 2762865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2772865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum MP_MODE { 2792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger MP_START_MODE, 2802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger MP_STOP_MODE, 2812865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger MP_ERR_MODE 2822865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2832865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct rwreg_param{ 2852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int offset; 2862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int width; 2872865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int value; 2882865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2892865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2902865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct bbreg_param{ 2912865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int offset; 2922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int phymask; 2932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int value; 2942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 2962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct txpower_param{ 2972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int pwr_index; 2982865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 2992865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3002865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct datarate_param{ 3012865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int rate_index; 3022865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3032865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3042865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct rfintfs_parm { 3052865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int rfintfs; 3062865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3072865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3082865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct mp_xmit_packet { 3092865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int len; 3102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int mem[MAX_MP_XMITBUF_SZ >> 2]; 3112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct psmode_param { 3142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int ps_mode; 3152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int smart_ps; 3162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct mp_ioctl_handler { 3192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int paramsize; 3202865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int (*handler)(struct oid_par_priv *poid_par_priv); 3212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int oid; 3222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerstruct mp_ioctl_param{ 3252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int subcode; 3262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned int len; 3272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger unsigned char data[0]; 3282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#define GEN_MP_IOCTL_SUBCODE(code) _MP_IOCTL_ ## code ## _CMD_ 3312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerenum RTL871X_MP_IOCTL_SUBCODE { 3332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(MP_START), /*0*/ 3342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(MP_STOP), /*1*/ 3352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(READ_REG), /*2*/ 3362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(WRITE_REG), 3372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_CHANNEL), /*4*/ 3382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_TXPOWER), /*5*/ 3392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_DATARATE), /*6*/ 3402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(READ_BB_REG), /*7*/ 3412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(WRITE_BB_REG), 3422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(READ_RF_REG), /*9*/ 3432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(WRITE_RF_REG), 3442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_RF_INTFS), 3452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(IOCTL_XMIT_PACKET), /*12*/ 3462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(PS_STATE), /*13*/ 3472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(READ16_EEPROM), /*14*/ 3482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(WRITE16_EEPROM), /*15*/ 3492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_PTM), /*16*/ 3502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(READ_TSSI), /*17*/ 3512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(CNTU_TX), /*18*/ 3522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_BANDWIDTH), /*19*/ 3532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_RX_PKT_TYPE), /*20*/ 3542865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(RESET_PHY_RX_PKT_CNT), /*21*/ 3552865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_RECV), /*22*/ 3562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_ERROR), /*23*/ 3572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_POWER_DOWN), /*24*/ 3582865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_THERMAL_METER), /*25*/ 3592865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_POWER_MODE), /*26*/ 3602865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(EFUSE), /*27*/ 3612865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(EFUSE_MAP), /*28*/ 3622865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_EFUSE_MAX_SIZE), /*29*/ 3632865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(GET_EFUSE_CURRENT_SIZE), /*30*/ 3642865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SC_TX), /*31*/ 3652865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(CS_TX), /*32*/ 3662865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(ST_TX), /*33*/ 3672865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger GEN_MP_IOCTL_SUBCODE(SET_ANTENNA), /*34*/ 3682865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger MAX_MP_IOCTL_SUBCODE, 3692865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 3702865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3712865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerunsigned int mp_ioctl_xmit_packet_hdl(struct oid_par_priv *poid_par_priv); 3722865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 3732865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#ifdef _RTL871X_MP_IOCTL_C_ /* CAUTION!!! */ 3742865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger/* This ifdef _MUST_ be left in!! */ 3752865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 376e3dc896b21fbb4d23e2747dbe58bb9156c9e1a99Larry Fingerstatic struct mp_ioctl_handler mp_ioctl_hdl[] = { 3772865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_start_test_hdl, 3782865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_START_TEST},/*0*/ 3792865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_stop_test_hdl, 3802865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_STOP_TEST},/*1*/ 3812865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct rwreg_param), 3822865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_read_register_hdl, 3832865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_READ_REGISTER},/*2*/ 3842865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct rwreg_param), 3852865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_write_register_hdl, 3862865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_WRITE_REGISTER}, 3872865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), 3882865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_set_channel_direct_call_hdl, 3892865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_CHANNEL_DIRECT_CALL}, 3902865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct txpower_param), 3912865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_set_tx_power_control_hdl, 3922865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_TX_POWER_CONTROL}, 3932865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), 3942865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_set_data_rate_hdl, 3952865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_DATA_RATE}, 3962865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct bb_reg_param), 3972865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_read_bb_reg_hdl, 3982865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_READ_BB_REG},/*7*/ 3992865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct bb_reg_param), 4002865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_write_bb_reg_hdl, 4012865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_WRITE_BB_REG}, 4022865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct rwreg_param), 4032865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_read_rf_reg_hdl, 4042865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_RF_READ_REGISTRY},/*9*/ 4052865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct rwreg_param), 4062865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_write_rf_reg_hdl, 4072865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_RF_WRITE_REGISTRY}, 4082865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct rfintfs_parm), NULL, 0}, 4092865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {0, &mp_ioctl_xmit_packet_hdl, 0},/*12*/ 4102865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct psmode_param), NULL, 0},/*13*/ 4112865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct eeprom_rw_param), NULL, 0},/*14*/ 4122865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct eeprom_rw_param), NULL, 0},/*15*/ 4132865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u8), oid_rt_pro_set_power_tracking_hdl, 4142865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_POWER_TRACKING},/*16*/ 4152865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), NULL, 0},/*17*/ 4162865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_set_continuous_tx_hdl, 4172865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_CONTINUOUS_TX},/*18*/ 4182865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_set_bandwidth_hdl, 4192865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_SET_BANDWIDTH},/*19*/ 4202865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_set_rx_packet_type_hdl, 4212865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_SET_RX_PACKET_TYPE},/*20*/ 4222865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {0, oid_rt_reset_phy_rx_packet_count_hdl, 4232865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_RESET_PHY_RX_PACKET_COUNT},/*21*/ 4242865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_phy_rx_packet_received_hdl, 4252865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_GET_PHY_RX_PACKET_RECEIVED},/*22*/ 4262865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_phy_rx_packet_crc32_error_hdl, 4272865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR},/*23*/ 4282865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(unsigned char), oid_rt_set_power_down_hdl, 4292865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_SET_POWER_DOWN},/*24*/ 4302865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_thermal_meter_hdl, 4312865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_GET_THERMAL_METER},/*25*/ 4322865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_power_mode_hdl, 4332865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_GET_POWER_MODE},/*26*/ 4342865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(struct EFUSE_ACCESS_STRUCT), 4352865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger oid_rt_pro_efuse_hdl, OID_RT_PRO_EFUSE},/*27*/ 4362865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {EFUSE_MAP_MAX_SIZE, oid_rt_pro_efuse_map_hdl, 4372865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_EFUSE_MAP},/*28*/ 4382865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_efuse_max_size_hdl, 4392865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_GET_EFUSE_MAX_SIZE},/*29*/ 4402865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_get_efuse_current_size_hdl, 4412865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_GET_EFUSE_CURRENT_SIZE},/*30*/ 4422865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_set_single_carrier_tx_hdl, 4432865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_SINGLE_CARRIER_TX},/*31*/ 4442865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_set_carrier_suppression_tx_hdl, 4452865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX},/*32*/ 4462865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_set_single_tone_tx_hdl, 4472865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_SINGLE_TONE_TX},/*33*/ 4482865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger {sizeof(u32), oid_rt_pro_set_antenna_bb_hdl, 4492865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger OID_RT_PRO_SET_ANTENNA_BB},/*34*/ 4502865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger}; 4512865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 4522865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#else /* _RTL871X_MP_IOCTL_C_ */ 4532865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Fingerextern struct mp_ioctl_handler mp_ioctl_hdl[]; 4542865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#endif /* _RTL871X_MP_IOCTL_C_ */ 4552865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 4562865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger#endif 4572865d42c78a9121caad52cb02d1fbb7f5cdbc4efLarry Finger 458