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/ic/cissvar.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 /*      $NetBSD: cissvar.h,v 1.3 2008/05/25 20:08:34 mhitch Exp $       */
    2 /*      $OpenBSD: cissvar.h,v 1.2 2005/09/07 04:00:16 mickey Exp $      */
    3 
    4 /*
    5  * Copyright (c) 2005 Michael Shalayeff
    6  * All rights reserved.
    7  *
    8  * Permission to use, copy, modify, and distribute this software for any
    9  * purpose with or without fee is hereby granted, provided that the above
   10  * copyright notice and this permission notice appear in all copies.
   11  *
   12  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   13  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   14  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   15  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   16  * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN
   17  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
   18  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   19  */
   20 
   21 #include <sys/mutex.h>
   22 #include <sys/condvar.h>
   23 
   24 #include <dev/sysmon/sysmonvar.h>
   25 #include <sys/envsys.h>
   26 
   27 struct ciss_ld {
   28         struct ciss_blink bling;        /* a copy of blink state */
   29         char    xname[16];              /* copy of the sdN name */
   30         int     ndrives;
   31         u_int8_t tgts[1];
   32 };
   33 
   34 struct ciss_softc {
   35         /* Generic device info. */
   36         struct device           sc_dev;
   37         kmutex_t                sc_mutex;
   38         kmutex_t                sc_mutex_scratch;
   39         bus_space_handle_t      sc_ioh;
   40         bus_space_tag_t         sc_iot;
   41         bus_dma_tag_t           sc_dmat;
   42         void                    *sc_ih;
   43         void                    *sc_sh;         /* shutdown hook */
   44         struct proc             *sc_thread;
   45         int                     sc_flush;
   46 
   47         struct scsipi_channel   sc_channel;
   48         struct scsipi_channel   *sc_channel_raw;
   49         struct scsipi_adapter   sc_adapter;
   50         struct scsipi_adapter   *sc_adapter_raw;
   51         struct callout          sc_hb;
   52 
   53         u_int   sc_flags;
   54         int ccblen, maxcmd, maxsg, nbus, ndrives, maxunits;
   55         ciss_queue_head sc_free_ccb, sc_ccbq, sc_ccbdone;
   56         kcondvar_t              sc_condvar;
   57 
   58         bus_dmamap_t            cmdmap;
   59         bus_dma_segment_t       cmdseg[1];
   60         void *                  ccbs;
   61         void                    *scratch;
   62         u_int                   sc_waitflag;
   63 
   64         bus_space_handle_t      cfg_ioh;
   65 
   66         struct ciss_config cfg;
   67         int cfgoff;
   68         u_int32_t iem;
   69         u_int32_t heartbeat;
   70         struct ciss_ld **sc_lds;
   71 
   72         /* scsi ioctl from sd device */
   73         int                     (*sc_ioctl)(struct device *, u_long, void *);
   74 
   75         struct sysmon_envsys    *sc_sme;
   76         envsys_data_t           *sc_sensor;
   77 };
   78 
   79 struct ciss_rawsoftc {
   80         struct ciss_softc *sc_softc;
   81         u_int8_t        sc_channel;
   82 };
   83 
   84 int     ciss_attach(struct ciss_softc *sc);
   85 int     ciss_intr(void *v);

Cache object: 874e7a6c5b2729315a75c5d00a2b2b2d


[ 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.