xref: /dflybsd-src/sys/dev/netif/sln/if_slnvar.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*
286d7f5d3SJohn Marino  * Copyright (c) 2008 The DragonFly Project.  All rights reserved.
386d7f5d3SJohn Marino  *
486d7f5d3SJohn Marino  * Redistribution and use in source and binary forms, with or without
586d7f5d3SJohn Marino  * modification, are permitted provided that the following conditions
686d7f5d3SJohn Marino  * are met:
786d7f5d3SJohn Marino  *
886d7f5d3SJohn Marino  * 1. Redistributions of source code must retain the above copyright
986d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer.
1086d7f5d3SJohn Marino  * 2. Redistributions in binary form must reproduce the above copyright
1186d7f5d3SJohn Marino  *    notice, this list of conditions and the following disclaimer in
1286d7f5d3SJohn Marino  *    the documentation and/or other materials provided with the
1386d7f5d3SJohn Marino  *    distribution.
1486d7f5d3SJohn Marino  * 3. Neither the name of The DragonFly Project nor the names of its
1586d7f5d3SJohn Marino  *    contributors may be used to endorse or promote products derived
1686d7f5d3SJohn Marino  *    from this software without specific, prior written permission.
1786d7f5d3SJohn Marino  *
1886d7f5d3SJohn Marino  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1986d7f5d3SJohn Marino  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2086d7f5d3SJohn Marino  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
2186d7f5d3SJohn Marino  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
2286d7f5d3SJohn Marino  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
2386d7f5d3SJohn Marino  * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
2486d7f5d3SJohn Marino  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2586d7f5d3SJohn Marino  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
2686d7f5d3SJohn Marino  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
2786d7f5d3SJohn Marino  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
2886d7f5d3SJohn Marino  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2986d7f5d3SJohn Marino  * SUCH DAMAGE.
3086d7f5d3SJohn Marino  *
3186d7f5d3SJohn Marino  * $DragonFly: src/sys/dev/netif/sln/if_slnvar.h,v 1.1 2008/02/28 18:39:20 swildner Exp $
3286d7f5d3SJohn Marino  */
3386d7f5d3SJohn Marino 
3486d7f5d3SJohn Marino #ifndef  _IF_SLVAR_H_
3586d7f5d3SJohn Marino #define  _IF_SLVAR_H_
3686d7f5d3SJohn Marino 
3786d7f5d3SJohn Marino struct sln_buf_data {
3886d7f5d3SJohn Marino 	uint32_t		dirty_rx;
3986d7f5d3SJohn Marino 	caddr_t			sln_rx_buf;
4086d7f5d3SJohn Marino 	struct mbuf		*sln_tx_buf[SL_TXD_CNT];
4186d7f5d3SJohn Marino 	uint32_t		dirty_tx;
4286d7f5d3SJohn Marino 	uint32_t		cur_tx;
4386d7f5d3SJohn Marino };
4486d7f5d3SJohn Marino 
4586d7f5d3SJohn Marino struct sln_softc {
4686d7f5d3SJohn Marino 	struct arpcom		arpcom;		/* interface info */
4786d7f5d3SJohn Marino 	struct ifmedia		ifmedia;	/* media info */
4886d7f5d3SJohn Marino 	bus_space_handle_t	sln_bushandle;	/* bus space handle */
4986d7f5d3SJohn Marino 	bus_space_tag_t		sln_bustag;	/* bus space tag */
5086d7f5d3SJohn Marino 	struct resource		*sln_res;
5186d7f5d3SJohn Marino 	struct resource		*sln_irq;
5286d7f5d3SJohn Marino 	void			*sln_intrhand;
5386d7f5d3SJohn Marino 	uint8_t			sln_type;
5486d7f5d3SJohn Marino 	uint8_t			sln_stats_no_timeout;
5586d7f5d3SJohn Marino 	uint16_t		tx_early_ctrl;
5686d7f5d3SJohn Marino 	uint16_t		rx_early_ctrl:1;
5786d7f5d3SJohn Marino 	struct sln_buf_data	sln_bufdata;	/* Tx buffer descriptor */
5886d7f5d3SJohn Marino 	struct callout		sln_state;
5986d7f5d3SJohn Marino 	uint32_t		rxcfg;
6086d7f5d3SJohn Marino 	uint32_t		txcfg;
6186d7f5d3SJohn Marino 	int			suspended;
6286d7f5d3SJohn Marino 	int			connect;
6386d7f5d3SJohn Marino 	int			media_duplex;
6486d7f5d3SJohn Marino 	int			media_speed;
6586d7f5d3SJohn Marino 	int			txenablepad;
6686d7f5d3SJohn Marino };
6786d7f5d3SJohn Marino 
6886d7f5d3SJohn Marino #endif	/* !_IF_SLVAR_H_ */
69