len += snprintf(page + len, count - len, "free_xmitbuf_cnt =%d, free_xmitframe_cnt =%d, free_ext_xmitbuf_cnt =%d, free_recvframe_cnt =%d\n",
pxmitpriv->free_xmitbuf_cnt, pxmitpriv->free_xmitframe_cnt, pxmitpriv->free_xmit_extbuf_cnt, precvpriv->free_recvframe_cnt);
-#ifdef CONFIG_USB_HCI
len += snprintf(page + len, count - len, "rx_urb_pending_cn =%d\n", precvpriv->rx_pending_cnt);
-#endif
*eof = 1;
return len;
}
Compiler Flag Option:
-1. CONFIG_SDIO_HCI:
- a. USE_SYNC_IRP: Only sync operations are provided.
- b. USE_ASYNC_IRP:Both sync/async operations are provided.
-
-2. CONFIG_USB_HCI:
+1. default USB configuration:
a. USE_ASYNC_IRP: Both sync/async operations are provided.
-3. CONFIG_CFIO_HCI:
- b. USE_SYNC_IRP: Only sync operations are provided.
-
-
Only sync read/rtw_write_mem operations are provided.
jackson@realtek.com.tw
#include <usb_ops.h>
-#ifdef CONFIG_SDIO_HCI
-#define rtw_le16_to_cpu(val) val
-#define rtw_le32_to_cpu(val) val
-#define rtw_cpu_to_le16(val) val
-#define rtw_cpu_to_le32(val) val
-#else
#define rtw_le16_to_cpu(val) le16_to_cpu(val)
#define rtw_le32_to_cpu(val) le32_to_cpu(val)
#define rtw_cpu_to_le16(val) cpu_to_le16(val)
#define rtw_cpu_to_le32(val) cpu_to_le32(val)
-#endif
u8 _rtw_read8(_adapter *adapter, u32 addr)
_init_timer(&(pLed->BlinkTimer), padapter->pnetdev, BlinkTimerCallback, pLed);
-#if defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI)
_init_workitem(&(pLed->BlinkWorkItem), BlinkWorkItemCallback, pLed);
-#endif
}
{
_enter_pwrlock(&pwrpriv->lock);
- if ((padapter->bSurpriseRemoved == true)
- || (padapter->hw_init_completed == false)
-#ifdef CONFIG_USB_HCI
- || (padapter->bDriverStopped == true)
-#endif
- || (pwrpriv->pwr_mode == PS_MODE_ACTIVE)
- )
- {
+ if ((padapter->bSurpriseRemoved == true) ||
+ (padapter->hw_init_completed == false) ||
+ (padapter->bDriverStopped == true) ||
+ (pwrpriv->pwr_mode == PS_MODE_ACTIVE))
bReady = true;
- }
_exit_pwrlock(&pwrpriv->lock);
if(true == bReady)
break;
- if(rtw_get_passing_time_ms(start_time)>100)
- {
+ if(rtw_get_passing_time_ms(start_time)>100) {
DBG_871X("Wait for cpwm event than 100 ms!!!\n");
break;
}
}
if(rf_off == pwrpriv->rf_pwrstate )
{
-#ifdef CONFIG_USB_HCI
#ifdef CONFIG_AUTOSUSPEND
if(pwrpriv->brfoffbyhw == true)
{
}
else
#endif
-#endif
{
#ifdef CONFIG_IPS
DBG_8192C("%s call ips_leave....\n", __func__);
#include <ip.h>
#include <if_ether.h>
#include <ethernet.h>
-
-#ifdef CONFIG_USB_HCI
#include <usb_ops.h>
-#endif
-
#include <wifi.h>
#include <circ_buf.h>
}
-#ifdef CONFIG_USB_HCI
-
precvpriv->rx_pending_cnt=1;
_rtw_init_sema(&precvpriv->allrxreturnevt, 0);
-#endif
-
res = rtw_hal_init_recv_priv(padapter);
#ifdef CONFIG_NEW_SIGNAL_STAT_PROCESS
#include <osdep_intf.h>
#include <circ_buf.h>
#include <ip.h>
-
-#ifdef CONFIG_USB_HCI
#include <usb_ops.h>
-#endif
-
static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 };
static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
rtw_alloc_hwxmits(padapter);
rtw_init_hwxmits(pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
-#ifdef CONFIG_USB_HCI
pxmitpriv->txirp_cnt=1;
_rtw_init_sema(&(pxmitpriv->tx_retevt), 0);
pxmitpriv->bkq_cnt = 0;
pxmitpriv->viq_cnt = 0;
pxmitpriv->voq_cnt = 0;
-#endif
#ifdef CONFIG_XMIT_ACK
_adapter *padapter = pxmitpriv->adapter;
struct registry_priv *pregpriv = &padapter->registrypriv;
int i, inx[4];
-#ifdef CONFIG_USB_HCI
-// int j, tmp, acirp_cnt[4];
-#endif
_func_enter_;
{
int j, tmp, acirp_cnt[4];
-#if defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI)
for(j=0; j<4; j++)
inx[j] = pxmitpriv->wmm_para_seq[j];
-#endif
}
_enter_critical_bh(&pxmitpriv->lock, &irqL0);
- for(i = 0; i < entry; i++)
- {
+ for(i = 0; i < entry; i++) {
phwxmit = phwxmit_i + inx[i];
- //_enter_critical_ex(&phwxmit->sta_queue->lock, &irqL0);
-
sta_phead = get_list_head(phwxmit->sta_queue);
sta_plist = get_next(sta_phead);
- while ((rtw_end_of_queue_search(sta_phead, sta_plist)) == false)
- {
+ while ((rtw_end_of_queue_search(sta_phead, sta_plist)) == false) {
ptxservq= LIST_CONTAINOR(sta_plist, struct tx_servq, tx_pending);
rtw_list_insert_tail(&pxmitbuf->list, get_list_head(pqueue));
_exit_critical_bh(&pqueue->lock, &irql);
-
-
-#if defined(CONFIG_SDIO_HCI) && defined(CONFIG_CONCURRENT_MODE)
- if (pri_adapter->adapter_type > PRIMARY_ADAPTER)
- pri_adapter = pri_adapter->pbuddy_adapter;
-#endif //SDIO_HCI + CONCURRENT
_rtw_up_sema(&(pri_adapter->xmitpriv.xmit_sema));
-
}
struct xmit_buf* dequeue_pending_xmitbuf(
{
unsigned long irql;
struct xmit_buf *pxmitbuf;
-#ifdef CONFIG_USB_HCI
struct xmit_frame *pxmitframe;
-#endif
_queue *pqueue;
pxmitbuf = LIST_CONTAINOR(plist, struct xmit_buf, list);
-#ifdef CONFIG_USB_HCI
pxmitframe = (struct xmit_frame*)pxmitbuf->priv_data;
if(pxmitframe)
- {
type = GetFrameSubType(pxmitbuf->pbuf + TXDESC_SIZE + pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
- }
else
- {
DBG_871X("%s, !!!ERROR!!! For USB, TODO ITEM \n", __FUNCTION__);
- }
-#else
- type = GetFrameSubType(pxmitbuf->pbuf + TXDESC_OFFSET);
-#endif
if ((type == WIFI_PROBEREQ) ||
- (type == WIFI_DATA_NULL) ||
- (type == WIFI_QOS_DATA_NULL))
- {
+ (type == WIFI_DATA_NULL) ||
+ (type == WIFI_QOS_DATA_NULL)) {
rtw_list_delete(&pxmitbuf->list);
break;
}
u8 *TxPwrLevel = pMptCtx->TxPwrLevel;
#endif
u8 OFDM_min_index = 6, rf; //OFDM BB Swing should be less than +3.0dB, which is required by Arthur
-#ifdef CONFIG_USB_HCI
u8 ThermalValue_HP_count = 0;
u32 ThermalValue_HP = 0;
s32 index_mapping_HP[index_mapping_HP_NUM] = {
7, 9, 10, 12, 13,
15, 16, 18, 19, 21
};
-
s8 index_HP;
-#endif
pdmpriv->TXPowerTrackingCallbackCnt++; //cosa add for debug
pdmpriv->bTXPowerTrackingInit = true;
else if(pHalData->CurrentChannel != 14 && pdmpriv->bCCKinCH14)
pdmpriv->bCCKinCH14 = false;
- //DBG_8192C("===>dm_TXPowerTrackingCallback_ThermalMeter_92C\n");
-
ThermalValue = (u8)PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_METER, 0x1f); // 0x24: RF Reg[4:0]
- //DBG_8192C("\n\nReadback Thermal Meter = 0x%x pre thermal meter 0x%x EEPROMthermalmeter 0x%x\n",ThermalValue,pdmpriv->ThermalValue, pHalData->EEPROMThermalMeter);
-
rtl8192c_PHY_APCalibrate(Adapter, (ThermalValue - pHalData->EEPROMThermalMeter));
if(is2T)
else
rf = 1;
- if(ThermalValue)
- {
-// if(!pHalData->ThermalValue)
+ if(ThermalValue) {
{
//Query OFDM path A default setting
ele_D = PHY_QueryBBReg(Adapter, rOFDM0_XATxIQImbalance, bMaskDWord)&bMaskOFDM_D;
if(ele_D == (OFDMSwingTable[i]&bMaskOFDM_D))
{
OFDM_index_old[0] = (u8)i;
- //DBG_8192C("Initial pathA ele_D reg0x%x = 0x%x, OFDM_index=0x%x\n", rOFDM0_XATxIQImbalance, ele_D, OFDM_index_old[0]);
break;
}
}
pdmpriv->ThermalValue_IQK = ThermalValue;
pdmpriv->ThermalValue_DPK = pHalData->EEPROMThermalMeter;
-#ifdef CONFIG_USB_HCI
for(i = 0; i < rf; i++)
pdmpriv->OFDM_index_HP[i] = pdmpriv->OFDM_index[i] = OFDM_index_old[i];
pdmpriv->CCK_index_HP = pdmpriv->CCK_index = CCK_index_old;
-#else
- for(i = 0; i < rf; i++)
- pdmpriv->OFDM_index[i] = OFDM_index_old[i];
- pdmpriv->CCK_index = CCK_index_old;
-#endif
}
-#ifdef CONFIG_USB_HCI
if(pHalData->BoardType == BOARD_USB_High_PA)
{
pdmpriv->ThermalValue_HP[pdmpriv->ThermalValue_HP_index] = ThermalValue;
if(ThermalValue_HP_count)
ThermalValue = (u8)(ThermalValue_HP / ThermalValue_HP_count);
}
-#endif
}
delta = (ThermalValue > pdmpriv->ThermalValue)?(ThermalValue - pdmpriv->ThermalValue):(pdmpriv->ThermalValue - ThermalValue);
-#ifdef CONFIG_USB_HCI
- if(pHalData->BoardType == BOARD_USB_High_PA)
- {
+ if(pHalData->BoardType == BOARD_USB_High_PA) {
if(pdmpriv->bDoneTxpower)
delta_HP = (ThermalValue > pdmpriv->ThermalValue)?(ThermalValue - pdmpriv->ThermalValue):(pdmpriv->ThermalValue - ThermalValue);
else
delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
- }
- else
-#endif
- {
+ } else {
delta_HP = 0;
}
delta_LCK = (ThermalValue > pdmpriv->ThermalValue_LCK)?(ThermalValue - pdmpriv->ThermalValue_LCK):(pdmpriv->ThermalValue_LCK - ThermalValue);
delta_IQK = (ThermalValue > pdmpriv->ThermalValue_IQK)?(ThermalValue - pdmpriv->ThermalValue_IQK):(pdmpriv->ThermalValue_IQK - ThermalValue);
- //DBG_8192C("Readback Thermal Meter = 0x%lx pre thermal meter 0x%lx EEPROMthermalmeter 0x%lx delta 0x%lx delta_LCK 0x%lx delta_IQK 0x%lx\n", ThermalValue, pHalData->ThermalValue, pHalData->EEPROMThermalMeter, delta, delta_LCK, delta_IQK);
-
- if(delta_LCK > 1)
- {
+ if(delta_LCK > 1) {
pdmpriv->ThermalValue_LCK = ThermalValue;
rtl8192c_PHY_LCCalibrate(Adapter);
}
- if((delta > 0 || delta_HP > 0) && pdmpriv->TxPowerTrackControl)
- {
-#ifdef CONFIG_USB_HCI
- if(pHalData->BoardType == BOARD_USB_High_PA)
- {
+ if((delta > 0 || delta_HP > 0) && pdmpriv->TxPowerTrackControl) {
+ if(pHalData->BoardType == BOARD_USB_High_PA) {
pdmpriv->bDoneTxpower = true;
delta_HP = ThermalValue > pHalData->EEPROMThermalMeter?(ThermalValue - pHalData->EEPROMThermalMeter):(pHalData->EEPROMThermalMeter - ThermalValue);
for(i = 0; i < rf; i++)
OFDM_index[i] = pdmpriv->OFDM_index_HP[i] - index_HP;
CCK_index = pdmpriv->CCK_index_HP -index_HP;
- }
- else
- {
+ } else {
for(i = 0; i < rf; i++)
OFDM_index[i] = pdmpriv->OFDM_index_HP[i] + index_HP;
CCK_index = pdmpriv->CCK_index_HP + index_HP;
delta_HP = (ThermalValue > pdmpriv->ThermalValue)?(ThermalValue - pdmpriv->ThermalValue):(pdmpriv->ThermalValue - ThermalValue);
- }
- else
-#endif
- {
- if(ThermalValue > pdmpriv->ThermalValue)
- {
+ } else {
+ if(ThermalValue > pdmpriv->ThermalValue) {
for(i = 0; i < rf; i++)
pdmpriv->OFDM_index[i] -= delta;
pdmpriv->CCK_index -= delta;
- }
- else
- {
+ } else {
for(i = 0; i < rf; i++)
pdmpriv->OFDM_index[i] += delta;
pdmpriv->CCK_index += delta;
}
}
- /*if(is2T)
- {
- DBG_8192C("temp OFDM_A_index=0x%x, OFDM_B_index=0x%x, CCK_index=0x%x\n",
- pdmpriv->OFDM_index[0], pdmpriv->OFDM_index[1], pdmpriv->CCK_index);
- }
- else
- {
- DBG_8192C("temp OFDM_A_index=0x%x, CCK_index=0x%x\n",
- pdmpriv->OFDM_index[0], pdmpriv->CCK_index);
- }*/
//no adjust
-#ifdef CONFIG_USB_HCI
- if(pHalData->BoardType != BOARD_USB_High_PA)
-#endif
- {
- if(ThermalValue > pHalData->EEPROMThermalMeter)
- {
+ if(pHalData->BoardType != BOARD_USB_High_PA) {
+ if(ThermalValue > pHalData->EEPROMThermalMeter) {
for(i = 0; i < rf; i++)
OFDM_index[i] = pdmpriv->OFDM_index[i]+1;
CCK_index = pdmpriv->CCK_index+1;
- }
- else
- {
+ } else {
for(i = 0; i < rf; i++)
OFDM_index[i] = pdmpriv->OFDM_index[i];
CCK_index = pdmpriv->CCK_index;
pdmpriv->bDynamicTxPowerEnable = false;
#if (RTL8192C_SUPPORT==1)
- #ifdef CONFIG_USB_HCI
#ifdef CONFIG_INTEL_PROXIM
if((pHalData->BoardType == BOARD_USB_High_PA)||(Adapter->proximity.proxim_support==true))
pdmpriv->bDynamicTxPowerEnable = true;
}
else
- #else
- pdmpriv->bDynamicTxPowerEnable = false;
- #endif
#endif
pdmpriv->LastDTPLvl = TxHighPwrLevel_Normal;
if(!padapter->registrypriv.hw_wps_pbc)
return;
-#ifdef CONFIG_USB_HCI
tmp1byte = rtw_read8(padapter, GPIO_IO_SEL);
tmp1byte |= (HAL_8192C_HW_GPIO_WPS_BIT);
rtw_write8(padapter, GPIO_IO_SEL, tmp1byte); //enable GPIO[2] as output mode
{
bPbcPressed = true;
}
-#else
- tmp1byte = rtw_read8(padapter, GPIO_IN);
- //RT_TRACE(COMP_IO, DBG_TRACE, ("dm_CheckPbcGPIO - %x\n", tmp1byte));
-
- if (tmp1byte == 0xff || padapter->init_adpt_in_progress)
- return ;
-
- if((tmp1byte&HAL_8192C_HW_GPIO_WPS_BIT)==0)
- {
- bPbcPressed = true;
- }
-#endif
if( true == bPbcPressed)
{
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_CUT_VER,cut_ver);
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_MP_TEST_CHIP,IS_NORMAL_CHIP(pHalData->VersionID));
-#ifdef CONFIG_USB_HCI
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BOARD_TYPE,pHalData->BoardType);
if(pHalData->BoardType == BOARD_USB_High_PA){
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_LNA,true);
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_EXT_PA,true);
}
-#endif
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_PATCH_ID,pHalData->CustomerID);
// ODM_CMNINFO_BINHCT_TEST only for MP Team
ODM_CmnInfoInit(pDM_Odm,ODM_CMNINFO_BWIFI_TEST,Adapter->registrypriv.wifi_spec);
u8 *bufferPtr = (u8*)buffer;
u32 i=0, offset=0;
-#ifdef CONFIG_USB_HCI
blockSize_p1 = 254;
-#endif
//3 Phase #1
blockCount_p1 = buffSize / blockSize_p1;
for (i = 0; i < blockCount_p1; i++)
{
-#ifdef CONFIG_USB_HCI
ret = rtw_writeN(padapter, (FW_8723A_START_ADDRESS + i * blockSize_p1), blockSize_p1, (bufferPtr + i * blockSize_p1));
-#else
- ret = rtw_write32(padapter, (FW_8723A_START_ADDRESS + i * blockSize_p1), le32_to_cpu(*((u32*)(bufferPtr + i * blockSize_p1))));
-#endif
if(ret == _FAIL)
goto exit;
}
(buffSize-offset), blockSize_p2 ,blockCount_p2, remainSize_p2));
}
-#ifdef CONFIG_USB_HCI
for (i = 0; i < blockCount_p2; i++) {
ret = rtw_writeN(padapter, (FW_8723A_START_ADDRESS + offset + i*blockSize_p2), blockSize_p2, (bufferPtr + offset + i*blockSize_p2));
if(ret == _FAIL)
goto exit;
}
-#endif
}
//3 Phase #3
//offset 16
ptxdesc->txdw4 |= cpu_to_le32(BIT(8));//driver uses rate
-#if defined(CONFIG_USB_HCI) || defined(CONFIG_SDIO_HCI)
// USB interface drop packet if the checksum of descriptor isn't correct.
// Using this checksum can let hardware recovery from packet bulk out error (e.g. Cancel URC, Bulk out error.).
rtl8723a_cal_txdesc_chksum(ptxdesc);
-#endif
}
#ifdef CONFIG_CONCURRENT_MODE
void rtl8723a_clone_haldata(_adapter* dst_adapter, _adapter* src_adapter)
{
-#ifdef CONFIG_SDIO_HCI
- HAL_DATA_TYPE *pHalData = GET_HAL_DATA(dst_adapter);
- _sema temp_SdioXmitSema;
- _sema temp_SdioXmitTerminateSema;
- _lock temp_SdioTxFIFOFreePageLock;
-
- memcpy(&temp_SdioXmitSema, &(pHalData->SdioXmitSema), sizeof(_sema));
- memcpy(&temp_SdioXmitTerminateSema, &(pHalData->SdioXmitTerminateSema), sizeof(_sema));
- memcpy(&temp_SdioTxFIFOFreePageLock, &(pHalData->SdioTxFIFOFreePageLock), sizeof(_lock));
-
memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz);
-
- memcpy(&(pHalData->SdioXmitSema), &temp_SdioXmitSema, sizeof(_sema));
- memcpy(&(pHalData->SdioXmitTerminateSema), &temp_SdioXmitTerminateSema, sizeof(_sema));
- memcpy(&(pHalData->SdioTxFIFOFreePageLock), &temp_SdioTxFIFOFreePageLock, sizeof(_lock));
-
-#else
- memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz);
-#endif
-
}
void rtl8723a_start_thread(_adapter *padapter)
PADAPTER Adapter
)
{
-#ifdef CONFIG_USB_HCI
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
u16 i=0;
u32 temp=0;
if(!pHalData->ExternalPA)
- {
return;
- }
// 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the
// same code as SU. It is already updated in PHY_REG_1T_HP.txt.
-#endif
}
/*-----------------------------------------------------------------------------
)
{
int rtStatus = _SUCCESS;
-#ifdef CONFIG_USB_HCI
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
u16 i=0;
// 2010/10/19 MH According to Jenyu/EEChou 's opinion, we need not to execute the
// same code as SU. It is already updated in radio_a_1T_HP.txt.
-#endif
return rtStatus;
}
//****************************************
// Move from phycfg.c to gen.c to be code independent later
//
//-------------------------Move to other DIR later----------------------------*/
-#ifdef CONFIG_USB_HCI
//
// Description:
//
void DumpBBDbgPort_92CU(PADAPTER Adapter)
{
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0000);
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0803);
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0a06);
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0007);
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100);
PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x000f0000);
-
PHY_SetBBReg(Adapter, 0x0908, 0xffff, 0x0100);
PHY_SetBBReg(Adapter, 0x0a28, 0x00ff0000, 0x00150000);
}
-
-#endif
// 2010/10/18 MH Accorsing to SD3 eechou's suggestion, we need to disable turbo scan for RU.
// Otherwise, external PA will be broken if power index > 0x20.
-#ifdef CONFIG_USB_HCI
if (pHalData->EEPROMRegulatory != 0 || pHalData->ExternalPA)
-#else
- if (pHalData->EEPROMRegulatory != 0)
-#endif
- {
- //DbgPrint("TurboScanOff=1 EEPROMRegulatory=%d ExternalPA=%d\n", pHalData->EEPROMRegulatory, pHalData->ExternalPA);
TurboScanOff = true;
- }
- if(pmlmeext->sitesurvey_res.state == SCAN_PROCESS)
- {
+ if(pmlmeext->sitesurvey_res.state == SCAN_PROCESS) {
TxAGC[RF_PATH_A] = 0x3f3f3f3f;
TxAGC[RF_PATH_B] = 0x3f3f3f3f;
TxAGC[idx1] =
pPowerlevel[idx1] | (pPowerlevel[idx1]<<8) |
(pPowerlevel[idx1]<<16) | (pPowerlevel[idx1]<<24);
-#ifdef CONFIG_USB_HCI
// 2010/10/18 MH For external PA module. We need to limit power index to be less than 0x20.
if (TxAGC[idx1] > 0x20 && pHalData->ExternalPA)
TxAGC[idx1] = 0x20;
-#endif
}
}
}
rtl8723a_silentreset_for_specific_platform(padapter);
}
-#ifdef CONFIG_USB_HCI
//total xmit irp = 4
//DBG_8192C("==>%s free_xmitbuf_cnt(%d),txirp_cnt(%d)\n",__FUNCTION__,pxmitpriv->free_xmitbuf_cnt,pxmitpriv->txirp_cnt);
//if(pxmitpriv->txirp_cnt == NR_XMITBUFF+1)
}
}
}
-#endif // #ifdef CONFIG_USB_HCI
}
void rtl8723a_sreset_linked_status_check(_adapter *padapter)
#include <asm/uaccess.h>
#endif //CONFIG_EFUSE_CONFIG_FILE
-#ifndef CONFIG_USB_HCI
-
-#error "CONFIG_USB_HCI shall be on!\n"
-
-#endif
-
#include <usb_ops.h>
#include <usb_hal.h>
#include <usb_osintf.h>
#define DRV_NAME "rtl8723as-vau"
#define CONFIG_RTL8723A 1
-#define CONFIG_USB_HCI 1
#define PLATFORM_LINUX 1
#define CONFIG_EMBEDDED_FWIMG 1
_mutex ioctl_mutex;
- #ifdef CONFIG_USB_HCI
// when in USB, IO is through interrupt in/out endpoints
struct usb_device *udev;
struct urb *piorw_urb;
struct timer_list io_timer;
u8 bio_irp_timeout;
u8 bio_timer_cancel;
- #endif
};
// Rx smooth factor
#define Rx_Smooth_Factor (20)
-
-#ifdef CONFIG_USB_HCI
typedef struct _INTERRUPT_MSG_FORMAT_EX{
unsigned int C2H_MSG0;
unsigned int C2H_MSG1;
void rtl8192cu_init_recvbuf(_adapter *padapter, struct recv_buf *precvbuf);
int rtl8192cu_init_recv_priv(_adapter * padapter);
void rtl8192cu_free_recv_priv(_adapter * padapter);
-#endif
void rtl8192c_translate_rx_signal_stuff(union recv_frame *precvframe, struct phy_stat *pphy_status);
void rtl8192c_query_rx_desc_status(union recv_frame *precvframe, struct recv_stat *pdesc);
#define handle_txrpt_ccx_8192c(adapter, buf) do {} while(0)
#endif
-#ifdef CONFIG_USB_HCI
-
#ifdef CONFIG_USB_TX_AGGREGATION
#define MAX_TX_AGG_PACKET_NUMBER 0xFF
#endif
#endif
#endif
-
-#endif
#include "../hal/odm_precomp.h"
-#ifdef CONFIG_USB_HCI
-
- //2TODO: We should define 8192S firmware related macro settings here!!
- #define RTL819X_DEFAULT_RF_TYPE RF_1T2R
- #define RTL819X_TOTAL_RF_PATH 2
-
- //TODO: The following need to check!!
- #define RTL8723_FW_UMC_IMG "rtl8192CU\\rtl8723fw.bin"
- #define RTL8723_FW_UMC_B_IMG "rtl8192CU\\rtl8723fw_B.bin"
- #define RTL8723_PHY_REG "rtl8723S\\PHY_REG_1T.txt"
- #define RTL8723_PHY_RADIO_A "rtl8723S\\radio_a_1T.txt"
- #define RTL8723_PHY_RADIO_B "rtl8723S\\radio_b_1T.txt"
- #define RTL8723_AGC_TAB "rtl8723S\\AGC_TAB_1T.txt"
- #define RTL8723_PHY_MACREG "rtl8723S\\MAC_REG.txt"
- #define RTL8723_PHY_REG_PG "rtl8723S\\PHY_REG_PG.txt"
- #define RTL8723_PHY_REG_MP "rtl8723S\\PHY_REG_MP.txt"
+//2TODO: We should define 8192S firmware related macro settings here!!
+#define RTL819X_DEFAULT_RF_TYPE RF_1T2R
+#define RTL819X_TOTAL_RF_PATH 2
+
+//TODO: The following need to check!!
+#define RTL8723_FW_UMC_IMG "rtl8192CU\\rtl8723fw.bin"
+#define RTL8723_FW_UMC_B_IMG "rtl8192CU\\rtl8723fw_B.bin"
+#define RTL8723_PHY_REG "rtl8723S\\PHY_REG_1T.txt"
+#define RTL8723_PHY_RADIO_A "rtl8723S\\radio_a_1T.txt"
+#define RTL8723_PHY_RADIO_B "rtl8723S\\radio_b_1T.txt"
+#define RTL8723_AGC_TAB "rtl8723S\\AGC_TAB_1T.txt"
+#define RTL8723_PHY_MACREG "rtl8723S\\MAC_REG.txt"
+#define RTL8723_PHY_REG_PG "rtl8723S\\PHY_REG_PG.txt"
+#define RTL8723_PHY_REG_MP "rtl8723S\\PHY_REG_MP.txt"
//---------------------------------------------------------------------
// RTL8723S From header
//---------------------------------------------------------------------
- // Fw Array
- #define Rtl8723_FwImageArray Rtl8723UFwImgArray
- #define Rtl8723_FwUMCBCutImageArray Rtl8723UFwUMCBCutImgArray
+// Fw Array
+#define Rtl8723_FwImageArray Rtl8723UFwImgArray
+#define Rtl8723_FwUMCBCutImageArray Rtl8723UFwUMCBCutImgArray
- #define Rtl8723_ImgArrayLength Rtl8723UImgArrayLength
- #define Rtl8723_UMCBCutImgArrayLength Rtl8723UUMCBCutImgArrayLength
+#define Rtl8723_ImgArrayLength Rtl8723UImgArrayLength
+#define Rtl8723_UMCBCutImgArrayLength Rtl8723UUMCBCutImgArrayLength
- #define Rtl8723_PHY_REG_Array_PG Rtl8723UPHY_REG_Array_PG
- #define Rtl8723_PHY_REG_Array_PGLength Rtl8723UPHY_REG_Array_PGLength
+#define Rtl8723_PHY_REG_Array_PG Rtl8723UPHY_REG_Array_PG
+#define Rtl8723_PHY_REG_Array_PGLength Rtl8723UPHY_REG_Array_PGLength
#if MP_DRIVER == 1
#define Rtl8723E_FwBTImgArray Rtl8723EFwBTImgArray
#define Rtl8723_RadioA_1TArrayLength Rtl8723URadioA_1TArrayLength
#define Rtl8723_RadioB_1TArrayLength Rtl8723URadioB_1TArrayLength
#endif
-#endif
#define DRVINFO_SZ 4 // unit is 8bytes
#define PageNum_128(_Len) (u32)(((_Len)>>7) + ((_Len)&0x7F ? 1:0))
#define MAX_PAGE_SIZE 4096 // @ page : 4k bytes
#define IS_FW_HEADER_EXIST(_pFwHdr) ((le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x92C0 ||\
- (le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88C0 ||\
- (le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x2300)
+ (le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x88C0 ||\
+ (le16_to_cpu(_pFwHdr->Signature)&0xFFF0) == 0x2300)
typedef enum _FIRMWARE_SOURCE {
FW_SOURCE_IMG_FILE = 0,
//
// For USB Interface HAL related
//
-#ifdef CONFIG_USB_HCI
u32 UsbBulkOutSize;
// Interrupt relatd register information.
u32 IntArray[2];
u32 IntrMask[2];
-#endif
-
-
- //
- // For SDIO Interface HAL related
- //
// Auto FSM to Turn On, include clock, isolation, power control for MAC only
u8 bMacPwrCtrlOn;
#define EUROPE 0x1 //temp, should be provided later
#define JAPAN 0x2 //temp, should be provided later
-#ifdef CONFIG_SDIO_HCI
-#define eeprom_cis0_sz 17
-#define eeprom_cis1_sz 50
-#endif
-
#define EEPROM_CID_DEFAULT 0x0
#define EEPROM_CID_ALPHA 0x1
#define EEPROM_CID_Senao 0x3
u8 mac_addr[6]; //PermanentAddress
u16 channel_plan;
u8 EepromOrEfuse;
-
u8 efuse_eeprom_data[HWSET_MAX_SIZE_512]; //92C:256bytes, 88E:512bytes, we use union set (512bytes)
-
-#ifdef CONFIG_SDIO_HCI
- u8 sdio_setting;
- u32 ocr;
- u8 cis0[eeprom_cis0_sz];
- u8 cis1[eeprom_cis1_sz];
-#endif
};
#include <linux/spinlock.h>
#include <asm/atomic.h>
-#ifdef CONFIG_USB_HCI
#include <linux/usb.h>
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21))
#include <linux/usb_ch9.h>
#define rtw_usb_buffer_alloc(dev, size, dma) usb_buffer_alloc((dev), (size), (in_interrupt() ? GFP_ATOMIC : GFP_KERNEL), (dma))
#define rtw_usb_buffer_free(dev, size, addr, dma) usb_buffer_free((dev), (size), (addr), (dma))
#endif
-#endif //CONFIG_USB_HCI
#define NUM_IOREQ 8
_adapter *padapter;
-#ifdef CONFIG_USB_HCI
-
//insert urb, irp, and irpcnt info below...
- //max frag_cnt = 8
-
u8 *mem_addr;
u32 sz[8];
sint last[8];
uint irpcnt;
uint fragcnt;
-#endif /* CONFIG_USB_HCI */
-
uint mem[(MAX_MP_XMITBUF_SZ >> 2)];
};
uint rx_smallpacket_crcerr;
uint rx_middlepacket_crcerr;
-#ifdef CONFIG_USB_HCI
//u8 *pallocated_urb_buf;
_sema allrxreturnevt;
uint ff_hwaddr;
u8 *int_in_buf;
#endif //CONFIG_USB_INTERRUPT_IN_PIPE
-#endif
struct tasklet_struct irq_prepare_beacon_tasklet;
struct tasklet_struct recv_tasklet;
struct sk_buff_head free_recv_skb_queue;
};
-struct recv_buf
-{
+struct recv_buf {
_list list;
-
_lock recvbuf_lock;
-
u32 ref_cnt;
-
PADAPTER adapter;
-
u8 *pbuf;
u8 *pallocated_buf;
-
u32 len;
u8 *phead;
u8 *pdata;
u8 *ptail;
u8 *pend;
-
-#ifdef CONFIG_USB_HCI
-
struct urb *purb;
dma_addr_t dma_transfer_addr; /* (in) dma addr for transfer_buffer */
u32 alloc_sz;
-
u8 irp_pending;
int transfer_len;
-
-#endif
-
struct sk_buff *pskb;
u8 reuse;
};
struct submit_ctx *sctx;
-#ifdef CONFIG_USB_HCI
-
- //u32 sz[8];
u32 ff_hwaddr;
struct urb *pxmit_urb[8];
sint last[8];
-#endif
#if defined(DBG_XMIT_BUF )|| defined(DBG_XMIT_BUF_EXT)
u8 no;
DBG_871X("free_xmitbuf_cnt=%d, free_xmitframe_cnt=%d, free_xmit_extbuf_cnt=%d\n",
pxmitpriv->free_xmitbuf_cnt, pxmitpriv->free_xmitframe_cnt, pxmitpriv->free_xmit_extbuf_cnt);
- #ifdef CONFIG_USB_HCI
DBG_871X("rx_urb_pending_cn=%d\n", precvpriv->rx_pending_cnt);
- #endif
}
break;
case 0x09:
#include <rtw_ioctl.h>
#include <rtw_version.h>
#include <usb_osintf.h>
+#include <usb_hal.h>
#ifdef CONFIG_BR_EXT
#include <rtw_br_ext.h>
int rtw_hwpwrp_detect = 0; //HW power ping detect 0:disable , 1:enable
#endif
-#ifdef CONFIG_USB_HCI
int rtw_hw_wps_pbc = 1;
-#else
-int rtw_hw_wps_pbc = 0;
-#endif
#ifdef CONFIG_TX_MCAST2UNI
int rtw_mc2u_disable = 0;
RT_TRACE(_module_os_intfs_c_,_drv_info_,("+rtw_start_drv_threads\n"));
#ifdef CONFIG_XMIT_THREAD_MODE
-#if defined(CONFIG_SDIO_HCI) && defined(CONFIG_CONCURRENT_MODE)
- if(padapter->adapter_type == PRIMARY_ADAPTER){
-#endif
padapter->xmitThread = kthread_run(rtw_xmit_thread, padapter, "RTW_XMIT_THREAD");
if(IS_ERR(padapter->xmitThread))
_status = _FAIL;
-#if defined(CONFIG_SDIO_HCI) && defined(CONFIG_CONCURRENT_MODE)
- }
-#endif // CONFIG_SDIO_HCI+CONFIG_CONCURRENT_MODE
#endif
#ifdef CONFIG_RECV_THREAD_MODE
#ifdef CONFIG_XMIT_THREAD_MODE
// Below is to termindate tx_thread...
-#if defined(CONFIG_SDIO_HCI) && defined(CONFIG_CONCURRENT_MODE)
- // Only wake-up primary adapter
- if(padapter->adapter_type == PRIMARY_ADAPTER)
-#endif //SDIO_HCI + CONCURRENT
{
_rtw_up_sema(&padapter->xmitpriv.xmit_sema);
_rtw_down_sema(&padapter->xmitpriv.terminate_xmitthread_sema);
#endif
-#ifdef CONFIG_USB_HCI
- #include <usb_hal.h>
-#endif
-#ifdef CONFIG_SDIO_HCI
- #include <sdio_hal.h>
-#endif
_adapter *rtw_drv_if2_init(_adapter *primary_padapter, char *name,
void (*set_intf_ops)(struct _io_ops *pops))
{
#include <osdep_intf.h>
#include <ethernet.h>
-#ifdef CONFIG_USB_HCI
#include <usb_ops.h>
-#endif
//init os related resource in struct recv_priv
int rtw_os_recv_resource_init(struct recv_priv *precvpriv, _adapter *padapter)
{
int res=_SUCCESS;
-#ifdef CONFIG_USB_HCI
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
struct usb_device *pusbd = pdvobjpriv->pusbdev;
return _FAIL;
#endif //CONFIG_USE_USB_BUFFER_ALLOC_RX
-#endif //CONFIG_USB_HCI
-
return res;
}
{
int ret = _SUCCESS;
-#ifdef CONFIG_USB_HCI
-
#ifdef CONFIG_USE_USB_BUFFER_ALLOC_RX
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
usb_free_urb(precvbuf->purb);
}
-#endif //CONFIG_USB_HCI
-
-
if(precvbuf->pskb)
dev_kfree_skb_any(precvbuf->pskb);
#include <xmit_osdep.h>
#include <hal_intf.h>
#include <rtw_version.h>
-#ifndef CONFIG_USB_HCI
-
-#error "CONFIG_USB_HCI shall be on!\n"
-
-#endif
-
#include <usb_vendor_req.h>
#include <usb_ops.h>
#include <usb_osintf.h>
int rtw_os_xmit_resource_alloc(_adapter *padapter, struct xmit_buf *pxmitbuf,u32 alloc_sz)
{
-#ifdef CONFIG_USB_HCI
int i;
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
struct usb_device *pusbd = pdvobjpriv->pusbdev;
}
}
-#endif
return _SUCCESS;
}