diff --git a/include/rtw_mp_ioctl.h b/include/rtw_mp_ioctl.h index adf6a6d..0f850fb 100644 --- a/include/rtw_mp_ioctl.h +++ b/include/rtw_mp_ioctl.h @@ -226,114 +226,6 @@ static const struct oid_obj_priv oid_rtl_seg_81_85[] = { {1, &oid_rt_wireless_mode_hdl} /* 0x00 OID_RT_WIRELESS_MODE */ }; -static struct oid_obj_priv oid_rtl_seg_81_87[] = { - {1, &oid_null_function}, /* 0x80 OID_RT_PRO8187_WI_POLL */ - {1, &oid_rt_pro_write_bb_reg_hdl}, /* 0x81 */ - {1, &oid_rt_pro_read_bb_reg_hdl}, /* 0x82 */ - {1, &oid_rt_pro_write_rf_reg_hdl}, /* 0x82 */ - {1, &oid_rt_pro_read_rf_reg_hdl} /* 0x83 */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_00[] = { - {1, &oid_rt_pro8711_join_bss_hdl}, /* 0x00 S */ - {1, &oid_rt_pro_read_register_hdl}, /* 0x01 */ - {1, &oid_rt_pro_write_register_hdl}, /* 0x02 */ - {1, &oid_rt_pro_burst_read_register_hdl},/* 0x03 */ - {1, &oid_rt_pro_burst_write_register_hdl},/* 0x04 */ - {1, &oid_rt_pro_write_txcmd_hdl}, /* 0x05 */ - {1, &oid_rt_pro_read16_eeprom_hdl}, /* 0x06 */ - {1, &oid_rt_pro_write16_eeprom_hdl}, /* 0x07 */ - {1, &oid_null_function}, /* 0x08 OID_RT_PRO_H2C_SET_COMMAND */ - {1, &oid_null_function}, /* 0x09 OID_RT_PRO_H2C_QUERY_RESULT */ - {1, &oid_rt_pro8711_wi_poll_hdl}, /* 0x0A */ - {1, &oid_rt_pro8711_pkt_loss_hdl}, /* 0x0B */ - {1, &oid_rt_rd_attrib_mem_hdl}, /* 0x0C */ - {1, &oid_rt_wr_attrib_mem_hdl}, /* 0x0D */ - {1, &oid_null_function}, /* 0x0E */ - {1, &oid_null_function}, /* 0x0F */ - {1, &oid_null_function}, /* 0x10 OID_RT_PRO_H2C_CMD_MODE */ - {1, &oid_null_function}, /* 0x11 OID_RT_PRO_H2C_CMD_RSP_MODE */ - {1, &oid_null_function}, /* 0X12 OID_RT_PRO_WAIT_C2H_EVENT */ - {1, &oid_null_function}, /* 0X13 OID_RT_PRO_RW_ACCESS_PROTOCOL_TEST */ - {1, &oid_null_function}, /* 0X14 OID_RT_PRO_SCSI_ACCESS_TEST */ - {1, &oid_null_function}, /* 0X15 OID_RT_PRO_SCSI_TCPIPOFFLOAD_OUT */ - {1, &oid_null_function}, /* 0X16 OID_RT_PRO_SCSI_TCPIPOFFLOAD_IN */ - {1, &oid_null_function}, /* 0X17 OID_RT_RRO_RX_PKT_VIA_IOCTRL */ - {1, &oid_null_function}, /* 0X18 OID_RT_RRO_RX_PKTARRAY_VIA_IOCTRL */ - {1, &oid_null_function}, /* 0X19 OID_RT_RPO_SET_PWRMGT_TEST */ - {1, &oid_null_function}, /* 0X1A */ - {1, &oid_null_function}, /* 0X1B OID_RT_PRO_QRY_PWRMGT_TEST */ - {1, &oid_null_function}, /* 0X1C OID_RT_RPO_ASYNC_RWIO_TEST */ - {1, &oid_null_function}, /* 0X1D OID_RT_RPO_ASYNC_RWIO_POLL */ - {1, &oid_rt_pro_set_rf_intfs_hdl}, /* 0X1E */ - {1, &oid_rt_poll_rx_status_hdl} /* 0X1F */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_20[] = { - {1, &oid_rt_pro_cfg_debug_message_hdl}, /* 0x20 */ - {1, &oid_rt_pro_set_data_rate_ex_hdl}, /* 0x21 */ - {1, &oid_rt_pro_set_basic_rate_hdl}, /* 0x22 */ - {1, &oid_rt_pro_read_tssi_hdl}, /* 0x23 */ - {1, &oid_rt_pro_set_power_tracking_hdl} /* 0x24 */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_50[] = { - {1, &oid_rt_pro_qry_pwrstate_hdl}, /* 0x50 */ - {1, &oid_rt_pro_set_pwrstate_hdl} /* 0x51 */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_80[] = { - {1, &oid_null_function} /* 0x80 */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_B0[] = { - {1, &oid_null_function} /* 0xB0 */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_11_F0[] = { - {1, &oid_null_function}, /* 0xF0 */ - {1, &oid_null_function}, /* 0xF1 */ - {1, &oid_null_function}, /* 0xF2 */ - {1, &oid_null_function}, /* 0xF3 */ - {1, &oid_null_function}, /* 0xF4 */ - {1, &oid_null_function}, /* 0xF5 */ - {1, &oid_null_function}, /* 0xF6 */ - {1, &oid_null_function}, /* 0xF7 */ - {1, &oid_null_function}, /* 0xF8 */ - {1, &oid_null_function}, /* 0xF9 */ - {1, &oid_null_function}, /* 0xFA */ - {1, &oid_rt_pro_h2c_set_rate_table_hdl},/* 0xFB */ - {1, &oid_rt_pro_h2c_get_rate_table_hdl},/* 0xFC */ - {1, &oid_null_function}, /* 0xFD */ - {1, &oid_null_function}, /* 0xFE OID_RT_PRO_H2C_C2H_LBK_TEST */ - {1, &oid_null_function} /* 0xFF */ -}; - -static struct oid_obj_priv oid_rtl_seg_87_12_00[]= { - {1, &oid_rt_pro_encryption_ctrl_hdl}, /* 0x00 Q&S */ - {1, &oid_rt_pro_add_sta_info_hdl}, /* 0x01 S */ - {1, &oid_rt_pro_dele_sta_info_hdl}, /* 0x02 S */ - {1, &oid_rt_pro_query_dr_variable_hdl}, /* 0x03 Q */ - {1, &oid_rt_pro_rx_packet_type_hdl}, /* 0x04 Q,S */ - {1, &oid_rt_pro_read_efuse_hdl}, /* 0x05 Q OID_RT_PRO_READ_EFUSE */ - {1, &oid_rt_pro_write_efuse_hdl}, /* 0x06 S OID_RT_PRO_WRITE_EFUSE */ - {1, &oid_rt_pro_rw_efuse_pgpkt_hdl}, /* 0x07 Q,S */ - {1, &oid_rt_get_efuse_current_size_hdl},/* 0x08 Q */ - {1, &oid_rt_set_bandwidth_hdl}, /* 0x09 */ - {1, &oid_rt_set_crystal_cap_hdl}, /* 0x0a */ - {1, &oid_rt_set_rx_packet_type_hdl}, /* 0x0b S */ - {1, &oid_rt_get_efuse_max_size_hdl}, /* 0x0c */ - {1, &oid_rt_pro_set_tx_agc_offset_hdl}, /* 0x0d */ - {1, &oid_rt_pro_set_pkt_test_mode_hdl}, /* 0x0e */ - {1, &oid_null_function}, /* 0x0f OID_RT_PRO_FOR_EVM_TEST_SETTING */ - {1, &oid_rt_get_thermal_meter_hdl}, /* 0x10 Q OID_RT_PRO_GET_THERMAL_METER */ - {1, &oid_rt_reset_phy_rx_packet_count_hdl},/* 0x11 S OID_RT_RESET_PHY_RX_PACKET_COUNT */ - {1, &oid_rt_get_phy_rx_packet_received_hdl},/* 0x12 Q OID_RT_GET_PHY_RX_PACKET_RECEIVED */ - {1, &oid_rt_get_phy_rx_packet_crc32_error_hdl},/* 0x13 Q OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR */ - {1, &oid_rt_set_power_down_hdl}, /* 0x14 Q OID_RT_SET_POWER_DOWN */ - {1, &oid_rt_get_power_mode_hdl} /* 0x15 Q OID_RT_GET_POWER_MODE */ -}; - #endif /* _RTL871X_MP_IOCTL_C_ */ struct rwreg_param { @@ -444,46 +336,4 @@ s32 mp_ioctl_xmit_packet_hdl(struct oid_par_priv *poid_par_priv); #define EXT_MP_IOCTL_HANDLER(sz, subcode, oid) \ {sz, mp_ioctl_ ## subcode ## _hdl, oid}, -static struct mp_ioctl_handler mp_ioctl_hdl[] = { -/*0*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_start_test_hdl, OID_RT_PRO_START_TEST) - GEN_HANDLER(sizeof(u32), oid_rt_pro_stop_test_hdl, OID_RT_PRO_STOP_TEST) - - GEN_HANDLER(sizeof(struct rwreg_param), oid_rt_pro_read_register_hdl, OID_RT_PRO_READ_REGISTER) - GEN_HANDLER(sizeof(struct rwreg_param), oid_rt_pro_write_register_hdl, OID_RT_PRO_WRITE_REGISTER) - GEN_HANDLER(sizeof(struct bb_reg_param), oid_rt_pro_read_bb_reg_hdl, OID_RT_PRO_READ_BB_REG) -/*5*/ GEN_HANDLER(sizeof(struct bb_reg_param), oid_rt_pro_write_bb_reg_hdl, OID_RT_PRO_WRITE_BB_REG) - GEN_HANDLER(sizeof(struct rf_reg_param), oid_rt_pro_read_rf_reg_hdl, OID_RT_PRO_RF_READ_REGISTRY) - GEN_HANDLER(sizeof(struct rf_reg_param), oid_rt_pro_write_rf_reg_hdl, OID_RT_PRO_RF_WRITE_REGISTRY) - - GEN_HANDLER(sizeof(u32), oid_rt_pro_set_channel_direct_call_hdl, OID_RT_PRO_SET_CHANNEL_DIRECT_CALL) - GEN_HANDLER(sizeof(struct txpower_param), oid_rt_pro_set_tx_power_control_hdl, OID_RT_PRO_SET_TX_POWER_CONTROL) -/*10*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_set_data_rate_hdl, OID_RT_PRO_SET_DATA_RATE) - GEN_HANDLER(sizeof(u32), oid_rt_set_bandwidth_hdl, OID_RT_SET_BANDWIDTH) - GEN_HANDLER(sizeof(u32), oid_rt_pro_set_antenna_bb_hdl, OID_RT_PRO_SET_ANTENNA_BB) - - GEN_HANDLER(sizeof(u32), oid_rt_pro_set_continuous_tx_hdl, OID_RT_PRO_SET_CONTINUOUS_TX) - GEN_HANDLER(sizeof(u32), oid_rt_pro_set_single_carrier_tx_hdl, OID_RT_PRO_SET_SINGLE_CARRIER_TX) -/*15*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_set_carrier_suppression_tx_hdl, OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX) - GEN_HANDLER(sizeof(u32), oid_rt_pro_set_single_tone_tx_hdl, OID_RT_PRO_SET_SINGLE_TONE_TX) - - EXT_MP_IOCTL_HANDLER(0, xmit_packet, 0) - - GEN_HANDLER(sizeof(u32), oid_rt_set_rx_packet_type_hdl, OID_RT_SET_RX_PACKET_TYPE) - GEN_HANDLER(0, oid_rt_reset_phy_rx_packet_count_hdl, OID_RT_RESET_PHY_RX_PACKET_COUNT) -/*20*/ GEN_HANDLER(sizeof(u32), oid_rt_get_phy_rx_packet_received_hdl, OID_RT_GET_PHY_RX_PACKET_RECEIVED) - GEN_HANDLER(sizeof(u32), oid_rt_get_phy_rx_packet_crc32_error_hdl, OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR) - - GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0) - GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0) - GEN_HANDLER(sizeof(struct efuse_access_struct), oid_rt_pro_efuse_hdl, OID_RT_PRO_EFUSE) -/*25*/ GEN_HANDLER(0, oid_rt_pro_efuse_map_hdl, OID_RT_PRO_EFUSE_MAP) - GEN_HANDLER(sizeof(u32), oid_rt_get_efuse_max_size_hdl, OID_RT_GET_EFUSE_MAX_SIZE) - GEN_HANDLER(sizeof(u32), oid_rt_get_efuse_current_size_hdl, OID_RT_GET_EFUSE_CURRENT_SIZE) - - GEN_HANDLER(sizeof(u32), oid_rt_get_thermal_meter_hdl, OID_RT_PRO_GET_THERMAL_METER) - GEN_HANDLER(sizeof(u8), oid_rt_pro_set_power_tracking_hdl, OID_RT_PRO_SET_POWER_TRACKING) -/*30*/ GEN_HANDLER(sizeof(u8), oid_rt_set_power_down_hdl, OID_RT_SET_POWER_DOWN) -/*31*/ GEN_HANDLER(0, oid_rt_pro_trigger_gpio_hdl, 0) -}; - #endif diff --git a/os_dep/ioctl_linux.c b/os_dep/ioctl_linux.c index 1414355..8aa7fb3 100644 --- a/os_dep/ioctl_linux.c +++ b/os_dep/ioctl_linux.c @@ -68,6 +68,48 @@ static u8 convert_ip_addr(u8 hch, u8 mch, u8 lch) key_char2num(lch); } +static struct mp_ioctl_handler mp_ioctl_hdl[] = { +/*0*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_start_test_hdl, OID_RT_PRO_START_TEST) + GEN_HANDLER(sizeof(u32), oid_rt_pro_stop_test_hdl, OID_RT_PRO_STOP_TEST) + + GEN_HANDLER(sizeof(struct rwreg_param), oid_rt_pro_read_register_hdl, OID_RT_PRO_READ_REGISTER) + GEN_HANDLER(sizeof(struct rwreg_param), oid_rt_pro_write_register_hdl, OID_RT_PRO_WRITE_REGISTER) + GEN_HANDLER(sizeof(struct bb_reg_param), oid_rt_pro_read_bb_reg_hdl, OID_RT_PRO_READ_BB_REG) +/*5*/ GEN_HANDLER(sizeof(struct bb_reg_param), oid_rt_pro_write_bb_reg_hdl, OID_RT_PRO_WRITE_BB_REG) + GEN_HANDLER(sizeof(struct rf_reg_param), oid_rt_pro_read_rf_reg_hdl, OID_RT_PRO_RF_READ_REGISTRY) + GEN_HANDLER(sizeof(struct rf_reg_param), oid_rt_pro_write_rf_reg_hdl, OID_RT_PRO_RF_WRITE_REGISTRY) + + GEN_HANDLER(sizeof(u32), oid_rt_pro_set_channel_direct_call_hdl, OID_RT_PRO_SET_CHANNEL_DIRECT_CALL) + GEN_HANDLER(sizeof(struct txpower_param), oid_rt_pro_set_tx_power_control_hdl, OID_RT_PRO_SET_TX_POWER_CONTROL) +/*10*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_set_data_rate_hdl, OID_RT_PRO_SET_DATA_RATE) + GEN_HANDLER(sizeof(u32), oid_rt_set_bandwidth_hdl, OID_RT_SET_BANDWIDTH) + GEN_HANDLER(sizeof(u32), oid_rt_pro_set_antenna_bb_hdl, OID_RT_PRO_SET_ANTENNA_BB) + + GEN_HANDLER(sizeof(u32), oid_rt_pro_set_continuous_tx_hdl, OID_RT_PRO_SET_CONTINUOUS_TX) + GEN_HANDLER(sizeof(u32), oid_rt_pro_set_single_carrier_tx_hdl, OID_RT_PRO_SET_SINGLE_CARRIER_TX) +/*15*/ GEN_HANDLER(sizeof(u32), oid_rt_pro_set_carrier_suppression_tx_hdl, OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX) + GEN_HANDLER(sizeof(u32), oid_rt_pro_set_single_tone_tx_hdl, OID_RT_PRO_SET_SINGLE_TONE_TX) + + EXT_MP_IOCTL_HANDLER(0, xmit_packet, 0) + + GEN_HANDLER(sizeof(u32), oid_rt_set_rx_packet_type_hdl, OID_RT_SET_RX_PACKET_TYPE) + GEN_HANDLER(0, oid_rt_reset_phy_rx_packet_count_hdl, OID_RT_RESET_PHY_RX_PACKET_COUNT) +/*20*/ GEN_HANDLER(sizeof(u32), oid_rt_get_phy_rx_packet_received_hdl, OID_RT_GET_PHY_RX_PACKET_RECEIVED) + GEN_HANDLER(sizeof(u32), oid_rt_get_phy_rx_packet_crc32_error_hdl, OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR) + + GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0) + GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0) + GEN_HANDLER(sizeof(struct efuse_access_struct), oid_rt_pro_efuse_hdl, OID_RT_PRO_EFUSE) +/*25*/ GEN_HANDLER(0, oid_rt_pro_efuse_map_hdl, OID_RT_PRO_EFUSE_MAP) + GEN_HANDLER(sizeof(u32), oid_rt_get_efuse_max_size_hdl, OID_RT_GET_EFUSE_MAX_SIZE) + GEN_HANDLER(sizeof(u32), oid_rt_get_efuse_current_size_hdl, OID_RT_GET_EFUSE_CURRENT_SIZE) + + GEN_HANDLER(sizeof(u32), oid_rt_get_thermal_meter_hdl, OID_RT_PRO_GET_THERMAL_METER) + GEN_HANDLER(sizeof(u8), oid_rt_pro_set_power_tracking_hdl, OID_RT_PRO_SET_POWER_TRACKING) +/*30*/ GEN_HANDLER(sizeof(u8), oid_rt_set_power_down_hdl, OID_RT_SET_POWER_DOWN) +/*31*/ GEN_HANDLER(0, oid_rt_pro_trigger_gpio_hdl, 0) +}; + static u32 rtw_rates[] = {1000000, 2000000, 5500000, 11000000, 6000000, 9000000, 12000000, 18000000, 24000000, 36000000, 48000000, 54000000};