⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cf_ifc.h

📁 marvell wifi driver CF-8385PN-NDIS-ARM4-WINCE50-5.24.17.p5-27.p11.src.zip
💻 H
📖 第 1 页 / 共 3 页
字号:
	//-------------------------------------------------------------------------------
	cf_UshortRegSetBits(pCf, CFMACREG_HCR_CARD_INT_CAUSE, CFMACREG_HCR_CIC_RxUpLdOvr );

#if DBG     // PJG: optimize - this data only used in debug build.
	pCf -> bRxPacketOpen = FALSE;					// packet no longer open.
	pCf -> ulRxPacketSize  = 0;						// reset current packet size.
	pCf -> ulRxPacketByteCount = 0;					// reset the byte count.
#endif	
}

//************************************************************************************
//* Function: 		cf_TxUpdateSeq
//*	Description:	Ends transmit of current packet to the device.
//*						Block is ended by setting the download complete bit in the
//*						host status register and by signaling a download complete
//*						interrupt cause to the device in the card interrupt cause
//*						register.
//* Returns			void
//* Date:			04/08/2003
//************************************************************************************
__inline void cf_TxUpdateSeq
	(
		PCF_OBJECT pCf, 					// Pointer to our interface object.
		USHORT	   seqNum
	)
{
    NdisRawWritePortUshort
    	(pCf -> ulMrvDrvVirtualIoBase + CFMACREG_CCR_TX_FRAME_SEQ_NUM,seqNum);
}

//************************************************************************************
//* Function: 		cf_UpdateInterrupt
//*	Description:	return the status of the interrupt indicated by the supplied
//*                 mask and mask that interrupt if set.
//* Returns			USHORT mask of current interrupt
//* Date:			04/08/2003
//************************************************************************************
__inline USHORT cf_UpdateInterrupt
(
	    PMRVDRV_ADAPTER Adapter,
	    USHORT	   intrMask
)
{
    USHORT usRegValue;

    // get current interrupt flags
    NdisRawReadPortUshort(
	    Adapter->ulMrvDrvVirtualIoBase + CFMACREG_CCR_HOST_INT_CAUSE,
		&usRegValue);
	// mask all but the one we are concerned with
    usRegValue &= intrMask; 

    // clear interrupt if it is pending.
	NdisRawWritePortUshort(
	Adapter->ulMrvDrvVirtualIoBase + CFMACREG_CCR_HOST_INT_CAUSE,usRegValue );

    // return state of this interrupt
	return usRegValue;
}

//************************************************************************************
//* Function: 		HexDump
//*	Description:	Debug helper routine for HEX dumps of data buffers..
//* Returns			void
//* Date:			05/20/2003
//************************************************************************************
#if DBG
extern ULONG DebugLevel;
// set line length to your pleasure.  23 is the size of repeating data in MS Pings.
#define HD_LINE_LENGTH 23
#define MRV_DRV_LINE_LENGTH 16
static __inline
void HexDump ( UINT dbgLevel, char *msg, PUCHAR buf, int len)
{
  int ii = 0, jj;
  UCHAR lastBuf[MRV_DRV_LINE_LENGTH];

  if ( (dbgLevel & DebugLevel) == 0 )
  {
      return;
  }

  if ( msg ) DBGPRINT(dbgLevel,("%s\n",msg));

  // new version that prints out correctly in dbgview
  jj = len / MRV_DRV_LINE_LENGTH;
  for (ii = 0; ii < jj; ii ++ )
  {
      // note: if MRV_DRV_LINE_LENGTH changes, the following format
      //       needs to change as well
      DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                          "%02x %02x %02x %02x %02x %02x %02x %02x\n",
                          (ULONG)(LONG)(UCHAR)*buf,
                          (ULONG)(LONG)(UCHAR)*(buf+1),
                          (ULONG)(LONG)(UCHAR)*(buf+2),
                          (ULONG)(LONG)(UCHAR)*(buf+3),
                          (ULONG)(LONG)(UCHAR)*(buf+4),
                          (ULONG)(LONG)(UCHAR)*(buf+5),
                          (ULONG)(LONG)(UCHAR)*(buf+6),
                          (ULONG)(LONG)(UCHAR)*(buf+7),
                          (ULONG)(LONG)(UCHAR)*(buf+8),
                          (ULONG)(LONG)(UCHAR)*(buf+9),
                          (ULONG)(LONG)(UCHAR)*(buf+10),
                          (ULONG)(LONG)(UCHAR)*(buf+11),
                          (ULONG)(LONG)(UCHAR)*(buf+12),
                          (ULONG)(LONG)(UCHAR)*(buf+13),
                          (ULONG)(LONG)(UCHAR)*(buf+14),
                          (ULONG)(LONG)(UCHAR)*(buf+15)));
      buf+= MRV_DRV_LINE_LENGTH;
  }

  jj = len % MRV_DRV_LINE_LENGTH;

  if ( jj != 0 )
  {
      for ( ii = 0; ii < jj; ii++ )
      {
          lastBuf[ii] = *(buf+ii);
      }

      for ( ii=jj; ii < MRV_DRV_LINE_LENGTH; ii++ )
      {
          lastBuf[ii] = 0;
      }
      
      if ( jj >= 16 ) 
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10],
                              (ULONG)(LONG)(UCHAR)lastBuf[11],
                              (ULONG)(LONG)(UCHAR)lastBuf[12],
                              (ULONG)(LONG)(UCHAR)lastBuf[13],
                              (ULONG)(LONG)(UCHAR)lastBuf[14],
                              (ULONG)(LONG)(UCHAR)lastBuf[15]));
      }
      else if ( jj == 15 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10],
                              (ULONG)(LONG)(UCHAR)lastBuf[11],
                              (ULONG)(LONG)(UCHAR)lastBuf[12],
                              (ULONG)(LONG)(UCHAR)lastBuf[13],
                              (ULONG)(LONG)(UCHAR)lastBuf[14]));
      }
      else if ( jj == 14 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10],
                              (ULONG)(LONG)(UCHAR)lastBuf[11],
                              (ULONG)(LONG)(UCHAR)lastBuf[12],
                              (ULONG)(LONG)(UCHAR)lastBuf[13]));
      }
      else if ( jj == 13 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10],
                              (ULONG)(LONG)(UCHAR)lastBuf[11],
                              (ULONG)(LONG)(UCHAR)lastBuf[12]));
      }
      else if ( jj == 12 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10],
                              (ULONG)(LONG)(UCHAR)lastBuf[11]));
      }
      else if ( jj == 11 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9],
                              (ULONG)(LONG)(UCHAR)lastBuf[10]));
      }
      else if ( jj == 10 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x %02xx\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8],
                              (ULONG)(LONG)(UCHAR)lastBuf[9]));
      }
      else if ( jj == 9 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x - "
                              "%02x \n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7],
                              (ULONG)(LONG)(UCHAR)lastBuf[8]));
      }
      else if ( jj == 8 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6],
                              (ULONG)(LONG)(UCHAR)lastBuf[7]));
      }
      else if ( jj == 7 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5],
                              (ULONG)(LONG)(UCHAR)lastBuf[6]));
      }
      else if ( jj == 6 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4],
                              (ULONG)(LONG)(UCHAR)lastBuf[5]));
      }
      else if ( jj == 5 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4]));
      }
      else if ( jj == 4 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2],
                              (ULONG)(LONG)(UCHAR)lastBuf[3],
                              (ULONG)(LONG)(UCHAR)lastBuf[4]));
      }
      else if ( jj == 3 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1],
                              (ULONG)(LONG)(UCHAR)lastBuf[2]));
      }
      else if ( jj == 2 )
      {
          DBGPRINT(dbgLevel, ("%02x %02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0],
                              (ULONG)(LONG)(UCHAR)lastBuf[1]));
      }
      else if ( jj == 1 )
      {
          DBGPRINT(dbgLevel, ("%02x\n",
                              (ULONG)(LONG)(UCHAR)lastBuf[0]));
      }
  }      
}
#else
#define HexDump(dbgLevel,msg,buf,len)
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -