📄 syswlanendmips.c
字号:
*/UINT8 sysWlanIOInByte ( UINT32 port ) { return ( *(volatile UINT8 *) port ); }/****************************************************************************** sysWlanIOOutByte - write an 8 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutByte ( UINT32 port, UINT8 data ) { * (volatile UINT8 *) port = data; }/****************************************************************************** sysWlanIOInWord - read a 16 bit value from the specified device address ** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanIOInWord ( UINT32 port ) { UINT16 inData = * (volatile UINT16 *) port; inData = SWAP_ENDIAN_16(inData); return (inData); }/****************************************************************************** sysWlanIOOutWord - write a 16 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutWord ( UINT32 port, UINT16 data ) { UINT16 outData = SWAP_ENDIAN_16(data); * (volatile UINT16 *) port = outData; }/****************************************************************************** sysWlanIOInLong - read a 32 bit value form the specified device address ** RETURNS: 32 bit value from the specified device address.** NOMANUAL*/UINT32 sysWlanIOInLong ( UINT32 port ) { UINT32 inData = * (volatile UINT32 *) port; inData = SWAP_ENDIAN_32(inData); return (inData); }/****************************************************************************** sysWlanIOOutLong - write a 32 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanIOOutLong ( UINT32 port, UINT32 data ) { UINT32 outData = SWAP_ENDIAN_32(data); * (volatile UINT32 *) port = outData; }/****************************************************************************** sysWlanMemInByte - read an 8 bit value from specified device address ** RETURNS: 8 bit value form the specified device address** NOMANUAL*/UINT8 sysWlanMemInByte ( UINT32 addr ) { return sysWlanIOInByte(addr); }/****************************************************************************** sysWlanMemOutByte - write an 8 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutByte ( UINT32 addr, UINT8 data ) { (void) sysWlanIOOutByte(addr, data); }/****************************************************************************** sysWlanMemInWord - read a 16 bit value from the specified device address ** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanMemInWord ( UINT32 addr ) { return sysWlanIOInWord(addr); }/****************************************************************************** sysWlanMemOutWord - write a 16 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutWord ( UINT32 addr, UINT16 data ) { sysWlanIOOutWord(addr, data); }/****************************************************************************** sysWlanMemInLong - read a 32 bit value form the specified device address ** RETURNS: 32 bit value from the specified device address.** NOMANUAL*/UINT32 sysWlanMemInLong ( UINT32 addr ) { return (sysWlanIOInLong(addr)); }/****************************************************************************** sysWlanMemOutLong - write a 32 bit value to specified device address** RETURNS: N/A** NOMANUAL*/void sysWlanMemOutLong ( UINT32 addr, UINT32 data ) { (void) sysWlanIOOutLong(addr, data); }/****************************************************************************** sysWlanIOEndianInWord - read a 16 bit value to specified device address* without swapping byte order (routine included for completeness, on PENTIUM * this is not an issue).** RETURNS: N/A** NOMANUAL*/UINT16 sysWlanIOEndianInWord ( UINT32 addr ) { UINT16 inData = * (volatile UINT16 *) addr; return (inData); }/****************************************************************************** sysWlanIOEndianOutWord - write a 16 bit value to specified device address* without swapping byte order (routine include for completeness, on PENTIUM* this is not an issue).** RETURNS: N/A** NOMANUAL*/void sysWlanIOEndianOutWord ( UINT32 addr, UINT16 data ) { * (volatile UINT16 *) addr = data; }/****************************************************************************** sysWlanMemEndianInWord - read a 16 bit value from the specified device address * without swapping byte order (routine included for completeness, on PENITUM* this is not an issue).** RETURNS: 16 bit value from the specified device address.** NOMANUAL*/UINT16 sysWlanMemEndianInWord ( UINT32 addr ) { return sysWlanIOEndianInWord(addr); }/****************************************************************************** sysWlanMemEndianOutWord - write a 16 bit value to specified device address* without swapping byte order (routine included for completeness, on PENTIUM* this is not an issue).** RETURNS: N/A** NOMANUAL*/void sysWlanMemEndianOutWord ( UINT32 addr, UINT16 data ) { sysWlanIOEndianOutWord(addr, data); }/***************************************************************************** sysWlanIntConnect - enable the system level interrupt** This routine enables the board level interrupt.** Be aware that using the intConnect() routine usually allows only one* ISR per interrupt, and may result in interrupt conflicts with other PCI* devices. If the target has multiple PCI devices, it is usually more* appropriate to call pciIntConnect() instead, which supports the daisy* chaining of PCI interrupts.** RETURNS: N/A** NOMANUAL*/void sysWlanIntConnect ( INT32 vector, /* interrupt vector */ INT32 routine, /* interrupt service routine */ INT32 parameter, /* parameter used by the isr */ STATUS * result /* result of api call */ ) { *result = pciIntConnect ( INUM_TO_IVEC(vector), (VOIDFUNCPTR) routine, (INT32) parameter); }/****************************************************************************** sysWlanIntDisconnect - disable the system level interrupt** This routine disables the board level interrupt.** Be aware that using the intDisconnect() routine (if supported) may* inadvertently disable interrupts to multiple PCI devices. If the target* has multiple PCI devices, it is usually more appropriate to call* pciIntDisconnect() instead, which supports the daisy chaining of PCI* interrupts.** RETURNS: N/A** NOMANUAL*/void sysWlanIntDisconnect ( INT32 vector, /* interrupt vector */ INT32 routine, /* interrupt service routine */ INT32 parameter, /* parameter used by the isr */ STATUS * result /* result of api call */ ) { *result = pciIntDisconnect ( INUM_TO_IVEC(vector), (VOIDFUNCPTR) routine ); }/****************************************************************************** sysWlanIntEnable - enable the board level interrupt** This routine enables the board level interrupt.** Be aware that using the intEnable() routine could have impact on other* devices which may be sharing the same interrupt. In some cases it may be* better to enable interrupts directly on the device instead of using* intEnable().** RETURNS: N/A** NOMANUAL*/void sysWlanIntEnable ( INT32 intLevel, /* interrupt request level */ STATUS * result /* result of API call */ ) { *result = (sysIntEnablePIC(intLevel - INT_NUM_IRQ0)); }/****************************************************************************** sysWlanIntDisable - disable the board level interrupt** This routine disables the board level interrupt.** Be aware that using the intDisable() routine could have impact on other* devices which may be sharing the same interrupt. In some cases it may be* better to disable interrupts directly on the device instead of using* intDisable().** RETURNS: N/A** NOMANUAL*/void sysWlanIntDisable ( INT32 intLevel, /* interrupt request level */ STATUS * result /* result of API call */ ) { *result = (sysIntDisablePIC(intLevel - INT_NUM_IRQ0)); }#ifdef INCLUDE_AIRONET_SHOWIMPORT STATUS cisAironetShowInit (void);/****************************************************************************** sysWlanShowInit - Dummy routine used to get aironet show symbols into * image. ** RETURNS: ** NOMANUAL*/void sysWlanShowInit (void) { (void) cisAironetShowInit (); }#endif/****************************************************************************** wlanIoctl - generic routine to call a wlan card specific ioctl handler** RETURNS: OK or EINVAL**/int wlanIoctl ( END_OBJ* pDrvCtrl, /* Device handle for this card */ int cmd, /* IOCTL command */ caddr_t data /* Generic data pointer */ ) { return (WLAN_IOCTL(pDrvCtrl, cmd, data)); }#endif /* INCLUDE_WLAN_END */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -