The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/xe/if_xevar.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 1998, 1999 Scott Mitchell
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  *      $Id: if_xe.c,v 1.20 1999/06/13 19:17:40 scott Exp $
   27  * $FreeBSD: releng/5.3/sys/dev/xe/if_xevar.h 128068 2004-04-09 17:27:36Z rsm $
   28  */
   29 #ifndef DEV_XE_IF_XEDEV_H
   30 #define DEV_XE_IF_XEDEV_H
   31 
   32 /*
   33  * One of these structures per allocated device
   34  */
   35 struct xe_softc {
   36   struct arpcom arpcom;
   37   struct ifmedia ifmedia;
   38   struct ifmib_iso_8802_3 mibdata;
   39   struct callout_handle chand;
   40   struct ifnet *ifp;
   41   struct ifmedia *ifm;
   42   const char *card_type;/* Card model name */
   43   const char *vendor;   /* Card manufacturer */
   44   device_t dev;         /* Device */
   45   bus_space_tag_t bst;  /* Bus space tag for card */
   46   bus_space_handle_t bsh; /* Bus space handle for card */
   47   void *intrhand;
   48   struct resource *irq_res;
   49   int irq_rid;
   50   struct resource *port_res;
   51   int port_rid;
   52   struct resource *ce2_port_res;
   53   int ce2_port_rid;
   54   int srev;             /* Silicon revision */
   55   int tx_queued;        /* Packets currently waiting to transmit */
   56   int tx_tpr;           /* Last value of TPR reg on card */
   57   int tx_timeouts;      /* Count of transmit timeouts */
   58   u_int16_t tx_min;     /* Smallest packet we can send without padding */
   59   u_int16_t tx_thres;   /* Threshold bytes for early transmit */
   60   int autoneg_status;   /* Autonegotiation progress state */
   61   int media;            /* Private media word */
   62   u_char version;       /* Bonding Version register from card */
   63   u_char modem;         /* 1 = Card has a modem */
   64   u_char ce2;           /* 1 = Card has CE2 silicon */
   65   u_char mohawk;        /* 1 = Card has Mohawk (CE3) silicon */
   66   u_char dingo;         /* 1 = Card has Dingo (CEM56) silicon */
   67   u_char phy_ok;        /* 1 = MII-compliant PHY found and initialised */
   68   u_char gone;          /* 1 = Card bailed out */
   69 };
   70 
   71 /*
   72  * For accessing card registers
   73  */
   74 #define XE_INB(r)         bus_space_read_1(scp->bst, scp->bsh, (r))
   75 #define XE_INW(r)         bus_space_read_2(scp->bst, scp->bsh, (r))
   76 #define XE_OUTB(r, b)     bus_space_write_1(scp->bst, scp->bsh, (r), (b))
   77 #define XE_OUTW(r, w)     bus_space_write_2(scp->bst, scp->bsh, (r), (w))
   78 #define XE_SELECT_PAGE(p) XE_OUTB(XE_PR, (p))
   79 
   80 /*
   81  * Horrid stuff for accessing CIS tuples
   82  */
   83 #define CISTPL_BUFSIZE          512
   84 #define CISTPL_TYPE(tpl)        bus_space_read_1(bst, bsh, tpl + 0)
   85 #define CISTPL_LEN(tpl)         bus_space_read_1(bst, bsh, tpl + 2)
   86 #define CISTPL_DATA(tpl,pos)    bus_space_read_1(bst, bsh, tpl+ 4 + ((pos)<<1))
   87 
   88 int xe_attach(device_t dev);
   89 int xe_activate(device_t dev);
   90 void xe_deactivate(device_t dev);
   91 
   92 #endif /* DEV_XE_IF_XEVAR_H */

Cache object: 35b051bfdf7d49123fec20c7d98d4a6d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.