]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/staging/winbond/mlmetxrx.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[linux-2.6-omap-h63xx.git] / drivers / staging / winbond / mlmetxrx.c
index e8533b8d1976a99c80863dd499661462066878fd..07802afd2b874b02bf8f270bc057c7f6844d52d8 100644 (file)
 //============================================================================
 #include "os_common.h"
 
-void MLMEResetTxRx(PWB32_ADAPTER Adapter)
-{
-       s32     i;
-
-       // Reset the interface between MDS and MLME
-       for (i = 0; i < MAX_NUM_TX_MMPDU; i++)
-               Adapter->sMlmeFrame.TxMMPDUInUse[i] = FALSE;
-       for (i = 0; i < MAX_NUM_RX_MMPDU; i++)
-               Adapter->sMlmeFrame.SaveRxBufSlotInUse[i] = FALSE;
-
-       Adapter->sMlmeFrame.wNumRxMMPDUInMLME   = 0;
-       Adapter->sMlmeFrame.wNumRxMMPDUDiscarded = 0;
-       Adapter->sMlmeFrame.wNumRxMMPDU          = 0;
-       Adapter->sMlmeFrame.wNumTxMMPDUDiscarded = 0;
-       Adapter->sMlmeFrame.wNumTxMMPDU          = 0;
-       Adapter->sLocalPara.boCCAbusy    = FALSE;
-       Adapter->sLocalPara.iPowerSaveMode     = PWR_ACTIVE;     // Power active
-}
+#include "mds_f.h"
 
 //=============================================================================
-//     Function:
-//    MLMEGetMMPDUBuffer()
-//
-//     Description:
-//    Return the pointer to an available data buffer with
-//    the size MAX_MMPDU_SIZE for a MMPDU.
-//
-//  Arguments:
-//    Adapter   - pointer to the miniport adapter context.
-//
-//     Return value:
-//    NULL     : No available data buffer available
-//    Otherwise: Pointer to the data buffer
-//=============================================================================
-
-/* FIXME: Should this just be replaced with kmalloc() and kfree()? */
-u8 *MLMEGetMMPDUBuffer(PWB32_ADAPTER Adapter)
-{
-       s32 i;
-       u8 *returnVal;
-
-       for (i = 0; i< MAX_NUM_TX_MMPDU; i++) {
-               if (Adapter->sMlmeFrame.TxMMPDUInUse[i] == FALSE)
-                       break;
-       }
-       if (i >= MAX_NUM_TX_MMPDU) return NULL;
-
-       returnVal = (u8 *)&(Adapter->sMlmeFrame.TxMMPDU[i]);
-       Adapter->sMlmeFrame.TxMMPDUInUse[i] = TRUE;
-
-       return returnVal;
-}
-
-//=============================================================================
-u8 MLMESendFrame(PWB32_ADAPTER Adapter, u8 *pMMPDU, u16 len, u8 DataType)
+u8 MLMESendFrame(struct wbsoft_priv * adapter, u8 *pMMPDU, u16 len, u8 DataType)
 /*     DataType : FRAME_TYPE_802_11_MANAGEMENT, FRAME_TYPE_802_11_MANAGEMENT_CHALLENGE,
                                FRAME_TYPE_802_11_DATA */
 {
-       if (Adapter->sMlmeFrame.IsInUsed != PACKET_FREE_TO_USE) {
-               Adapter->sMlmeFrame.wNumTxMMPDUDiscarded++;
-               return FALSE;
+       if (adapter->sMlmeFrame.IsInUsed != PACKET_FREE_TO_USE) {
+               adapter->sMlmeFrame.wNumTxMMPDUDiscarded++;
+               return false;
        }
-       Adapter->sMlmeFrame.IsInUsed = PACKET_COME_FROM_MLME;
+       adapter->sMlmeFrame.IsInUsed = PACKET_COME_FROM_MLME;
 
        // Keep information for sending
-       Adapter->sMlmeFrame.pMMPDU = pMMPDU;
-       Adapter->sMlmeFrame.DataType = DataType;
+       adapter->sMlmeFrame.pMMPDU = pMMPDU;
+       adapter->sMlmeFrame.DataType = DataType;
        // len must be the last setting due to QUERY_SIZE_SECOND of Mds
-       Adapter->sMlmeFrame.len = len;
-       Adapter->sMlmeFrame.wNumTxMMPDU++;
+       adapter->sMlmeFrame.len = len;
+       adapter->sMlmeFrame.wNumTxMMPDU++;
 
        // H/W will enter power save by set the register. S/W don't send null frame
        //with PWRMgt bit enbled to enter power save now.
 
        // Transmit NDIS packet
-       Mds_Tx(Adapter);
-       return TRUE;
+       Mds_Tx(adapter);
+       return true;
 }
 
-void
-MLME_GetNextPacket(PADAPTER Adapter, PDESCRIPTOR pDes)
+void MLME_GetNextPacket(struct wbsoft_priv *adapter, PDESCRIPTOR desc)
 {
-#define DESCRIPTOR_ADD_BUFFER( _D, _A, _S ) \
-{\
-       _D->InternalUsed = _D->buffer_start_index + _D->buffer_number; \
-       _D->InternalUsed %= MAX_DESCRIPTOR_BUFFER_INDEX; \
-       _D->buffer_address[ _D->InternalUsed ] = _A; \
-       _D->buffer_size[ _D->InternalUsed ] = _S; \
-       _D->buffer_total_size += _S; \
-       _D->buffer_number++;\
-}
-
-       DESCRIPTOR_ADD_BUFFER( pDes, Adapter->sMlmeFrame.pMMPDU, Adapter->sMlmeFrame.len );
-       pDes->Type = Adapter->sMlmeFrame.DataType;
+       desc->InternalUsed = desc->buffer_start_index + desc->buffer_number;
+       desc->InternalUsed %= MAX_DESCRIPTOR_BUFFER_INDEX;
+       desc->buffer_address[desc->InternalUsed] = adapter->sMlmeFrame.pMMPDU;
+       desc->buffer_size[desc->InternalUsed] = adapter->sMlmeFrame.len;
+       desc->buffer_total_size += adapter->sMlmeFrame.len;
+       desc->buffer_number++;
+       desc->Type = adapter->sMlmeFrame.DataType;
 }
 
-void MLMEfreeMMPDUBuffer(PWB32_ADAPTER Adapter, s8 *pData)
+static void MLMEfreeMMPDUBuffer(struct wbsoft_priv *adapter, s8 *pData)
 {
        int i;
 
        // Reclaim the data buffer
        for (i = 0; i < MAX_NUM_TX_MMPDU; i++) {
-               if (pData == (s8 *)&(Adapter->sMlmeFrame.TxMMPDU[i]))
+               if (pData == (s8 *)&(adapter->sMlmeFrame.TxMMPDU[i]))
                        break;
        }
-       if (Adapter->sMlmeFrame.TxMMPDUInUse[i])
-               Adapter->sMlmeFrame.TxMMPDUInUse[i] = FALSE;
+       if (adapter->sMlmeFrame.TxMMPDUInUse[i])
+               adapter->sMlmeFrame.TxMMPDUInUse[i] = false;
        else  {
                // Something wrong
                // PD43 Add debug code here???
@@ -131,19 +74,19 @@ void MLMEfreeMMPDUBuffer(PWB32_ADAPTER Adapter, s8 *pData)
 }
 
 void
-MLME_SendComplete(PADAPTER Adapter, u8 PacketID, unsigned char SendOK)
+MLME_SendComplete(struct wbsoft_priv * adapter, u8 PacketID, unsigned char SendOK)
 {
        MLME_TXCALLBACK TxCallback;
 
     // Reclaim the data buffer
-       Adapter->sMlmeFrame.len = 0;
-       MLMEfreeMMPDUBuffer( Adapter, Adapter->sMlmeFrame.pMMPDU );
+       adapter->sMlmeFrame.len = 0;
+       MLMEfreeMMPDUBuffer( adapter, adapter->sMlmeFrame.pMMPDU );
 
 
        TxCallback.bResult = MLME_SUCCESS;
 
        // Return resource
-       Adapter->sMlmeFrame.IsInUsed = PACKET_FREE_TO_USE;
+       adapter->sMlmeFrame.IsInUsed = PACKET_FREE_TO_USE;
 }