_func_enter_;
- _rtw_init_sema(&(pcmdpriv->cmd_queue_sema), 0);
- _rtw_init_sema(&(pcmdpriv->terminate_cmdthread_sema), 0);
+ sema_init(&(pcmdpriv->cmd_queue_sema), 0);
+ sema_init(&(pcmdpriv->terminate_cmdthread_sema), 0);
_rtw_init_queue(&(pcmdpriv->cmd_queue));
_func_enter_;
#ifdef CONFIG_H2CLBK
- _rtw_init_sema(&(pevtpriv->lbkevt_done), 0);
+ sema_init(&(pevtpriv->lbkevt_done), 0);
pevtpriv->lbkevt_limit = 0;
pevtpriv->lbkevt_num = 0;
pevtpriv->cmdevt_parm = NULL;
#ifdef CONFIG_EVENT_THREAD_MODE
- _rtw_init_sema(&(pevtpriv->evt_notify), 0);
- _rtw_init_sema(&(pevtpriv->terminate_evtthread_sema), 0);
+ sema_init(&(pevtpriv->evt_notify), 0);
+ sema_init(&(pevtpriv->terminate_evtthread_sema), 0);
pevtpriv->evt_allocated_buf = rtw_zmalloc(MAX_EVTSZ + 4);
if (pevtpriv->evt_allocated_buf == NULL){
RT_TRACE(_module_rtl871x_cmd_c_,_drv_info_,("+_rtw_free_evt_priv \n"));
#ifdef CONFIG_EVENT_THREAD_MODE
- _rtw_free_sema(&(pevtpriv->evt_notify));
- _rtw_free_sema(&(pevtpriv->terminate_evtthread_sema));
-
if (pevtpriv->evt_allocated_buf)
rtw_mfree(pevtpriv->evt_allocated_buf, MAX_EVTSZ + 4);
#endif
_func_enter_;
if(pcmdpriv){
- _rtw_free_sema(&(pcmdpriv->cmd_queue_sema));
- _rtw_free_sema(&(pcmdpriv->terminate_cmdthread_sema));
-
if (pcmdpriv->cmd_allocated_buf)
rtw_mfree(pcmdpriv->cmd_allocated_buf, MAX_CMDSZ + CMDBUFF_ALIGN_SZ);
res = _rtw_enqueue_cmd(&pcmdpriv->cmd_queue, cmd_obj);
if(res == _SUCCESS)
- _rtw_up_sema(&pcmdpriv->cmd_queue_sema);
+ up(&pcmdpriv->cmd_queue_sema);
exit:
prspbuf = pcmdpriv->rsp_buf;
pcmdpriv->cmdthd_running=_TRUE;
- _rtw_up_sema(&pcmdpriv->terminate_cmdthread_sema);
+ up(&pcmdpriv->terminate_cmdthread_sema);
RT_TRACE(_module_rtl871x_cmd_c_,_drv_info_,("start r871x rtw_cmd_thread !!!!\n"));
while(1)
{
- if (_rtw_down_sema(&pcmdpriv->cmd_queue_sema) == _FAIL)
+ if (down_interruptible(&pcmdpriv->cmd_queue_sema))
break;
if ((padapter->bDriverStopped == _TRUE)||(padapter->bSurpriseRemoved == _TRUE))
rtw_free_cmd_obj(pcmd);
}while(1);
- _rtw_up_sema(&pcmdpriv->terminate_cmdthread_sema);
+ up(&pcmdpriv->terminate_cmdthread_sema);
_func_exit_;
{
_func_enter_;
pevtpriv->evt_done_cnt++;
- _rtw_up_sema(&(pevtpriv->evt_notify));
+ up(&(pevtpriv->evt_notify));
_func_exit_;
}
#endif
_rtw_init_listhead(&pcmd->list);
- /* _rtw_init_sema(&(pcmd->cmd_sem), 0); */
+ /* sema_init(&(pcmd->cmd_sem), 0); */
res = rtw_enqueue_cmd(pcmdpriv, pcmd);
{
struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
pwrpriv->bips_processing = _TRUE;
}
pwrpriv->bips_processing = _FALSE;
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
}
int ips_leave(_adapter * padapter)
int result = _SUCCESS;
sint keyid;
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
if((pwrpriv->rf_pwrstate == rf_off) &&(!pwrpriv->bips_processing))
{
pwrpriv->bpower_saving = _FALSE;
}
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
return result;
}
}
#ifdef CONFIG_LPS_LCLK
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
#endif
/* if(pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
}
#ifdef CONFIG_LPS_LCLK
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
#endif
_func_exit_;
if (pwrpriv->cpwm >= PS_STATE_S2)
{
if (pwrpriv->alives & CMD_ALIVE)
- _rtw_up_sema(&padapter->cmdpriv.cmd_queue_sema);
+ up(&padapter->cmdpriv.cmd_queue_sema);
if (pwrpriv->alives & XMIT_ALIVE)
- _rtw_up_sema(&padapter->xmitpriv.xmit_sema);
+ up(&padapter->xmitpriv.xmit_sema);
}
_exit_pwrlock(&pwrpriv->lock);
_func_enter_;
- _init_pwrlock(&pwrctrlpriv->lock);
+ sema_init(&pwrctrlpriv->lock, 1);
pwrctrlpriv->rf_pwrstate = rf_on;
pwrctrlpriv->ips_enter_cnts=0;
pwrctrlpriv->ips_leave_cnts=0;
rtw_unregister_early_suspend(pwrctrlpriv);
#endif /* CONFIG_HAS_EARLYSUSPEND || CONFIG_ANDROID_POWER */
- _free_pwrlock(&pwrctrlpriv->lock);
-
_func_exit_;
}
precvpriv->rx_pending_cnt=1;
- _rtw_init_sema(&precvpriv->allrxreturnevt, 0);
+ sema_init(&precvpriv->allrxreturnevt, 0);
#endif
return res;
}
-void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv);
-void rtw_mfree_recv_priv_lock(struct recv_priv *precvpriv)
-{
-#ifdef CONFIG_RECV_THREAD_MODE
- _rtw_free_sema(&precvpriv->recv_sema);
- _rtw_free_sema(&precvpriv->terminate_recvthread_sema);
-#endif
-}
-
void _rtw_free_recv_priv (struct recv_priv *precvpriv)
{
_adapter *padapter = precvpriv->adapter;
rtw_free_uc_swdec_pending_queue(padapter);
- rtw_mfree_recv_priv_lock(precvpriv);
-
rtw_os_recv_resource_free(precvpriv);
if(precvpriv->pallocated_frame_buf) {
spin_lock_init(&pxmitpriv->lock);
spin_lock_init(&pxmitpriv->lock_sctx);
- _rtw_init_sema(&pxmitpriv->xmit_sema, 0);
- _rtw_init_sema(&pxmitpriv->terminate_xmitthread_sema, 0);
+ sema_init(&pxmitpriv->xmit_sema, 0);
+ sema_init(&pxmitpriv->terminate_xmitthread_sema, 0);
/*
Please insert all the queue initializaiton using _rtw_init_queue below
#ifdef CONFIG_USB_HCI
pxmitpriv->txirp_cnt=1;
- _rtw_init_sema(&(pxmitpriv->tx_retevt), 0);
+ sema_init(&(pxmitpriv->tx_retevt), 0);
/* per AC pending irp */
pxmitpriv->beq_cnt = 0;
return res;
}
-void rtw_mfree_xmit_priv_lock (struct xmit_priv *pxmitpriv);
-void rtw_mfree_xmit_priv_lock (struct xmit_priv *pxmitpriv)
-{
- _rtw_free_sema(&pxmitpriv->xmit_sema);
- _rtw_free_sema(&pxmitpriv->terminate_xmitthread_sema);
-}
-
void _rtw_free_xmit_priv (struct xmit_priv *pxmitpriv)
{
int i;
rtw_hal_free_xmit_priv(padapter);
- rtw_mfree_xmit_priv_lock(pxmitpriv);
-
if(pxmitpriv->pxmit_frame_buf==NULL)
goto out;
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));
+ up(&(pri_adapter->xmitpriv.xmit_sema));
}
struct xmit_buf* dequeue_pending_xmitbuf(
flush_signals_thread();
} while (_SUCCESS == err);
- _rtw_up_sema(&padapter->xmitpriv.terminate_xmitthread_sema);
+ up(&padapter->xmitpriv.terminate_xmitthread_sema);
thread_exit();
}
// stop xmit_buf_thread
if (pHalData->SdioXmitThread ) {
- _rtw_up_sema(&pHalData->SdioXmitSema);
- _rtw_down_sema(&pHalData->SdioXmitTerminateSema);
+ up(&pHalData->SdioXmitSema);
+ down(&pHalData->SdioXmitTerminateSema);
pHalData->SdioXmitThread = 0;
}
#endif
struct recv_buf *precvbuf;
#ifdef CONFIG_RECV_THREAD_MODE
- _rtw_init_sema(&precvpriv->recv_sema, 0);//will be removed
- _rtw_init_sema(&precvpriv->terminate_recvthread_sema, 0);//will be removed
+ sema_init(&precvpriv->recv_sema, 0);//will be removed
+ sema_init(&precvpriv->terminate_recvthread_sema, 0);//will be removed
#endif
tasklet_init(&precvpriv->recv_tasklet,
//phal = GET_HAL_DATA(padapter);
pxmitpriv = &padapter->xmitpriv;
- ret = _rtw_down_sema(&pxmitpriv->xmit_sema);
- if (_FAIL == ret) {
+ if (down_interruptible(&pxmitpriv->xmit_sema))
RT_TRACE(_module_hal_xmit_c_, _drv_emerg_,
("%s: down SdioXmitBufSema fail!\n", __FUNCTION__));
return _FAIL;
//if(precvpriv->rx_pending_cnt== 0)
//{
// RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_read_port_complete: rx_pending_cnt== 0, set allrxreturnevt!\n"));
- // _rtw_up_sema(&precvpriv->allrxreturnevt);
+ // up(&precvpriv->allrxreturnevt);
//}
if(padapter->bSurpriseRemoved || padapter->bDriverStopped||padapter->bReadPortCancel)
int RegUsbSS;
- _sema usb_suspend_sema;
+ struct semaphore usb_suspend_sema;
#ifdef CONFIG_USB_VENDOR_REQ_MUTEX
_mutex usb_vendor_req_mutex;
#ifdef CONFIG_MAC_LOOPBACK_DRIVER
typedef struct loopbackdata
{
- _sema sema;
+ struct semaphore sema;
_thread_hdl_ lbkthread;
u8 bstop;
u32 cnt;
PURB piorw_urb;
u8 io_irp_cnt;
u8 bio_irp_pending;
- _sema io_retevt;
+ struct semaphore io_retevt;
_timer io_timer;
u8 bio_irp_timeout;
u8 bio_timer_cancel;
PIRP piorw_irp;
u8 io_irp_cnt;
u8 bio_irp_pending;
- _sema io_retevt;
+ struct semaphore io_retevt;
#endif
#endif
#endif
#endif
-typedef struct semaphore _sema;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
typedef struct mutex _mutex;
#else
extern void rtw_list_delete(_list *plist);
#endif //PLATFORM_FREEBSD
-extern void _rtw_init_sema(_sema *sema, int init_val);
-extern void _rtw_free_sema(_sema *sema);
-extern void _rtw_up_sema(_sema *sema);
-extern u32 _rtw_down_sema(_sema *sema);
extern void _rtw_mutex_init(_mutex *pmutex);
extern void _rtw_mutex_free(_mutex *pmutex);
u8 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE];
spinlock_t SdioTxFIFOFreePageLock;
_thread_hdl_ SdioXmitThread;
- _sema SdioXmitSema;
- _sema SdioXmitTerminateSema;
+ struct semaphore SdioXmitSema;
+ struct semaphore SdioXmitTerminateSema;
//
// SDIO Rx FIFO related.
u32 cmdsz;
u8 *rsp;
u32 rspsz;
- //_sema cmd_sem;
+ //struct semaphore cmd_sem;
_list list;
};
struct cmd_priv {
- _sema cmd_queue_sema;
- //_sema cmd_done_sema;
- _sema terminate_cmdthread_sema;
+ struct semaphore cmd_queue_sema;
+ //struct semaphore cmd_done_sema;
+ struct semaphore terminate_cmdthread_sema;
_queue cmd_queue;
u8 cmd_seq;
u8 *cmd_buf; //shall be non-paged, and 4 bytes aligned
struct evt_priv {
#ifdef CONFIG_EVENT_THREAD_MODE
- _sema evt_notify;
- _sema terminate_evtthread_sema;
+ struct semaphore evt_notify;
+ struct semaphore terminate_evtthread_sema;
_queue evt_queue;
#endif
#endif
#ifdef CONFIG_H2CLBK
- _sema lbkevt_done;
+ struct semaphore lbkevt_done;
u8 lbkevt_limit;
u8 lbkevt_num;
u8 *cmdevt_parm;
u32 command;
u32 status;
u8 *pbuf;
- _sema sema;
+ struct semaphore sema;
#ifdef PLATFORM_OS_CE
#ifdef CONFIG_USB_HCI
};
-typedef _sema _pwrlock;
-
-
-__inline static void _init_pwrlock(_pwrlock *plock)
-{
- _rtw_init_sema(plock, 1);
-}
-
-__inline static void _free_pwrlock(_pwrlock *plock)
-{
- _rtw_free_sema(plock);
-}
-
-
-__inline static void _enter_pwrlock(_pwrlock *plock)
-{
- _rtw_down_sema(plock);
-}
-
-
-__inline static void _exit_pwrlock(_pwrlock *plock)
-{
- _rtw_up_sema(plock);
-}
-
#define LPS_DELAY_TIME 1*HZ // 1 sec
#define EXE_PWR_NONE 0x01
struct pwrctrl_priv
{
- _pwrlock lock;
+ struct semaphore lock;
volatile u8 rpwm; // requested power state for fw
volatile u8 cpwm; // fw current power state. updated when 1. read from HCPWM 2. driver lowers power level
volatile u8 tog; // toggling
spinlock_t lock;
#ifdef CONFIG_RECV_THREAD_MODE
- _sema recv_sema;
- _sema terminate_recvthread_sema;
+ struct semaphore recv_sema;
+ struct semaphore terminate_recvthread_sema;
#endif
//_queue blk_strms[MAX_RX_NUMBLKS]; // keeping the block ack frame until return ack
#ifdef CONFIG_USB_HCI
//u8 *pallocated_urb_buf;
- _sema allrxreturnevt;
+ struct semaphore allrxreturnevt;
uint ff_hwaddr;
u8 rx_pending_cnt;
spinlock_t lock;
- _sema xmit_sema;
- _sema terminate_xmitthread_sema;
+ struct semaphore xmit_sema;
+ struct semaphore terminate_xmitthread_sema;
//_queue blk_strms[MAX_NUMBLKS];
_queue be_pending;
u8 wmm_para_seq[4];//sequence for wmm ac parameter strength from large to small. it's value is 0->vo, 1->vi, 2->be, 3->bk.
#ifdef CONFIG_USB_HCI
- _sema tx_retevt;//all tx return event;
+ struct semaphore tx_retevt;//all tx return event;
u8 txirp_cnt;//
struct tasklet_struct xmit_tasklet;
if (ploopback == NULL)
return -ENOMEM;
- _rtw_init_sema(&ploopback->sema, 0);
+ sema_init(&ploopback->sema, 0);
ploopback->bstop = _TRUE;
ploopback->cnt = 0;
ploopback->size = 300;
rtw_write_port(padapter, ff_hwaddr, ploopback->txsize, (u8 *)pxmitframe->pxmitbuf);
// wait for rx pkt
- _rtw_down_sema(&ploopback->sema);
+ down(&ploopback->sema)
err = pktcmp(padapter, ploopback->txbuf, ploopback->txsize, ploopback->rxbuf, ploopback->rxsize);
if (err == _TRUE)
{
if (ploopback->bstop == _FALSE) {
ploopback->bstop = _TRUE;
- _rtw_up_sema(&ploopback->sema);
+ up(&ploopback->sema);
}
len = 0;
do {
if(IS_ERR(padapter->cmdThread))
_status = _FAIL;
else
- _rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema); //wait for cmd_thread to run
+ down(&padapter->cmdpriv.terminate_cmdthread_sema); //wait for cmd_thread to run
}
#endif //CONFIG_CONCURRENT_MODE
{
//Below is to termindate rtw_cmd_thread & event_thread...
- _rtw_up_sema(&padapter->cmdpriv.cmd_queue_sema);
- //_rtw_up_sema(&padapter->cmdpriv.cmd_done_sema);
+ up(&padapter->cmdpriv.cmd_queue_sema);
+ //up(&padapter->cmdpriv.cmd_done_sema);
if(padapter->cmdThread){
- _rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema);
+ down(&padapter->cmdpriv.terminate_cmdthread_sema);
}
}
#ifdef CONFIG_EVENT_THREAD_MODE
- _rtw_up_sema(&padapter->evtpriv.evt_notify);
+ up(&padapter->evtpriv.evt_notify);
if(padapter->evtThread){
- _rtw_down_sema(&padapter->evtpriv.terminate_evtthread_sema);
+ down_interruptible(&padapter->evtpriv.terminate_evtthread_sema);
}
#endif
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);
+ up(&padapter->xmitpriv.xmit_sema);
+ down(&padapter->xmitpriv.terminate_xmitthread_sema);
}
RT_TRACE(_module_os_intfs_c_,_drv_info_,("\n drv_halt: rtw_xmit_thread can be terminated ! \n"));
#endif
#ifdef CONFIG_RECV_THREAD_MODE
// Below is to termindate rx_thread...
- _rtw_up_sema(&padapter->recvpriv.recv_sema);
- _rtw_down_sema(&padapter->recvpriv.terminate_recvthread_sema);
+ up(&padapter->recvpriv.recv_sema);
+ down(&padapter->recvpriv.terminate_recvthread_sema);
RT_TRACE(_module_os_intfs_c_,_drv_info_,("\n drv_halt:recv_thread can be terminated! \n"));
#endif
*/
-void _rtw_init_sema(_sema *sema, int init_val)
-{
- sema_init(sema, init_val);
-}
-
-void _rtw_free_sema(_sema *sema)
-{
-}
-
-void _rtw_up_sema(_sema *sema)
-{
- up(sema);
-}
-
-u32 _rtw_down_sema(_sema *sema)
-{
- if (down_interruptible(sema))
- return _FAIL;
- else
- return _SUCCESS;
-}
-
-
-
void _rtw_mutex_init(_mutex *pmutex)
{
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
}
//.3 misc
- _rtw_init_sema(&(pdvobjpriv->usb_suspend_sema), 0);
+ sema_init(&(pdvobjpriv->usb_suspend_sema), 0);
rtw_reset_continual_urb_error(pdvobjpriv);
usb_get_dev(pusbd);
LeaveAllPowerSaveMode(padapter);
DBG_8723A("==> rtw_hw_suspend\n");
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
pwrpriv->bips_processing = _TRUE;
//padapter->net_closed = _TRUE;
//s1.
pwrpriv->rf_pwrstate = rf_off;
pwrpriv->bips_processing = _FALSE;
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
}
else
goto error_exit;
if(padapter)//system resume
{
DBG_8723A("==> rtw_hw_resume\n");
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
pwrpriv->bips_processing = _TRUE;
rtw_reset_drv_sw(padapter);
if(pm_netdev_open(pnetdev,_FALSE) != 0)
{
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
goto error_exit;
}
pwrpriv->rf_pwrstate = rf_on;
pwrpriv->bips_processing = _FALSE;
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
}
else
{
rtw_cancel_all_timer(padapter);
LeaveAllPowerSaveMode(padapter);
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
//padapter->net_closed = _TRUE;
//s1.
if(pnetdev)
pwrpriv->rf_pwrstate = rf_off;
pwrpriv->bips_processing = _FALSE;
#endif
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
if(check_fwstate(pmlmepriv, _FW_UNDER_SURVEY))
rtw_indicate_scan_done(padapter, 1);
goto exit;
}
- _enter_pwrlock(&pwrpriv->lock);
+ down(&pwrpriv->lock);
#ifdef CONFIG_BT_COEXIST
#ifdef CONFIG_AUTOSUSPEND
#if (LINUX_VERSION_CODE>=KERNEL_VERSION(2,6,32))
}
}
#endif
- _exit_pwrlock(&pwrpriv->lock);
+ up(&pwrpriv->lock);
if( padapter->pid[1]!=0) {
DBG_8723A("pid[1]:%d\n",padapter->pid[1]);
if(pxmitpriv->txirp_cnt==0)
{
RT_TRACE(_module_hci_ops_os_c_,_drv_err_,("usb_write_port_complete: txirp_cnt== 0, set allrxreturnevt!\n"));
- _rtw_up_sema(&(pxmitpriv->tx_retevt));
+ up(&(pxmitpriv->tx_retevt));
}
*/
//rtw_free_xmitframe(pxmitpriv, pxmitframe);
#endif
if (_rtw_queue_empty(&pri_adapter->xmitpriv.pending_xmitbuf_queue) == _FALSE)
- _rtw_up_sema(&pri_adapter->xmitpriv.xmit_sema);
+ up(&pri_adapter->xmitpriv.xmit_sema);
#else