Home | History | Annotate | Download | only in iwi
      1 /*
      2  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
      3  * Use is subject to license terms.
      4  */
      5 
      6 /*
      7  * Copyright(c) 2004
      8  *	Damien Bergamini <damien.bergamini (at) free.fr>. All rights reserved.
      9  *
     10  * Redistribution and use in source and binary forms, with or without
     11  * modification, are permitted provided that the following conditions
     12  * are met:
     13  * 1. Redistributions of source code must retain the above copyright
     14  *    notice unmodified, this list of conditions, and the following
     15  *    disclaimer.
     16  * 2. Redistributions in binary form must reproduce the above copyright
     17  *    notice, this list of conditions and the following disclaimer in the
     18  *    documentation and/or other materials provided with the distribution.
     19  *
     20  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     23  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     25  * DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     26  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     27  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     29  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     30  * SUCH DAMAGE.
     31  */
     32 
     33 #ifndef _SYS_IPW2200_H
     34 #define	_SYS_IPW2200_H
     35 
     36 #ifdef __cplusplus
     37 extern "C" {
     38 #endif
     39 
     40 /*
     41  * Intel Wireless PRO/2200 mini-pci adpater drier
     42  * ipw2200.h: common definitions and interface to user land application
     43  */
     44 #include <sys/types.h>
     45 #include <sys/ddi.h>
     46 #include <sys/sunddi.h>
     47 
     48 #define	IPW2200_DRV_NAME  "iwi"
     49 #define	IPW2200_DRV_DESC  "Intel Wireless 2200/2915"
     50 
     51 /*
     52  * Debug functionalities
     53  */
     54 #define	IPW2200_DBG_INIT	(0x00000001)  /* initialization */
     55 #define	IPW2200_DBG_GLD		(0x00000002)  /* GLD */
     56 #define	IPW2200_DBG_WIFI	(0x00000004)  /* WiFi */
     57 #define	IPW2200_DBG_DMA		(0x00000008)  /* DMA */
     58 #define	IPW2200_DBG_CSR		(0x00000010)  /* low-level CSR access */
     59 #define	IPW2200_DBG_FW		(0x00000020)  /* uc & fw */
     60 #define	IPW2200_DBG_RING	(0x00000040)  /* ring operations */
     61 #define	IPW2200_DBG_IOCTL	(0x00000080)  /* ioctl */
     62 #define	IPW2200_DBG_INT		(0x00000100)  /* interrupt */
     63 #define	IPW2200_DBG_TABLE	(0x00000200)  /* ipw2200 tables */
     64 #define	IPW2200_DBG_RX		(0x00000400)  /* rx */
     65 #define	IPW2200_DBG_TX		(0x00000800)  /* tx */
     66 #define	IPW2200_DBG_HWCAP	(0x00001000)  /* hardware capabilities */
     67 #define	IPW2200_DBG_NOTIF	(0x00002000)  /* ipw2200 notification */
     68 #define	IPW2200_DBG_SCAN	(0x00004000)  /* scan results */
     69 #define	IPW2200_DBG_SOFTINT	(0x00008000)  /* soft interrupt */
     70 #define	IPW2200_DBG_FATAL	(0x00010000)  /* interrupt report error */
     71 #define	IPW2200_DBG_SUSPEND	(0x00020000)  /* suspend resume */
     72 #define	IPW2200_DBG_BRUSSELS	(0x00040000)  /* brussels support */
     73 
     74 extern uint32_t ipw2200_debug;
     75 extern void	ipw2200_dbg(dev_info_t *dip, int level, const char *fmt, ...);
     76 
     77 #ifdef	DEBUG
     78 #define	IPW2200_DBG(l, x)	do {				\
     79 	_NOTE(CONSTANTCONDITION)				\
     80 	if ((l) & ipw2200_debug)				\
     81 		ipw2200_dbg x;					\
     82 	_NOTE(CONSTANTCONDITION)				\
     83 } while (0)
     84 #else
     85 #define	IPW2200_DBG(l, x)
     86 #endif
     87 
     88 #define	IPW2200_WARN(x)   ipw2200_dbg x
     89 #define	IPW2200_REPORT(x) ipw2200_dbg x
     90 
     91 #ifdef __cplusplus
     92 }
     93 #endif
     94 
     95 #endif /* _SYS_IPW2200_H */
     96