Home | History | Annotate | Line # | Download | only in dist
      1 /*
      2  * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
      3  * Copyright (c) 2002-2008 Atheros Communications, Inc.
      4  *
      5  * Permission to use, copy, modify, and/or distribute this software for any
      6  * purpose with or without fee is hereby granted, provided that the above
      7  * copyright notice and this permission notice appear in all copies.
      8  *
      9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     16  *
     17  * $Id: ah_decode.h,v 1.1.1.1 2008/12/11 04:46:23 alc Exp $
     18  */
     19 #ifndef _ATH_AH_DECODE_H_
     20 #define _ATH_AH_DECODE_H_
     21 /*
     22  * Register tracing support.
     23  *
     24  * Setting hw.ath.hal.alq=1 enables tracing of all register reads and
     25  * writes to the file /tmp/ath_hal.log.  The file format is a simple
     26  * fixed-size array of records.  When done logging set hw.ath.hal.alq=0
     27  * and then decode the file with the arcode program (that is part of the
     28  * HAL).  If you start+stop tracing the data will be appended to an
     29  * existing file.
     30  */
     31 struct athregrec {
     32 	uint32_t	op	: 8,
     33 			reg	: 24;
     34 	uint32_t	val;
     35 };
     36 
     37 enum {
     38 	OP_READ		= 0,		/* register read */
     39 	OP_WRITE	= 1,		/* register write */
     40 	OP_DEVICE	= 2,		/* device identification */
     41 	OP_MARK		= 3,		/* application marker */
     42 };
     43 
     44 enum {
     45 	AH_MARK_RESET,			/* ar*Reset entry, bChannelChange */
     46 	AH_MARK_RESET_LINE,		/* ar*_reset.c, line %d */
     47 	AH_MARK_RESET_DONE,		/* ar*Reset exit, error code */
     48 	AH_MARK_CHIPRESET,		/* ar*ChipReset, channel num */
     49 	AH_MARK_PERCAL,			/* ar*PerCalibration, channel num */
     50 	AH_MARK_SETCHANNEL,		/* ar*SetChannel, channel num */
     51 	AH_MARK_ANI_RESET,		/* ar*AniReset, opmode */
     52 	AH_MARK_ANI_POLL,		/* ar*AniReset, listen time */
     53 	AH_MARK_ANI_CONTROL,		/* ar*AniReset, cmd */
     54 };
     55 #endif /* _ATH_AH_DECODE_H_ */
     56