[BACK]Return to cissvar.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/cissvar.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: cissvar.h,v 1.7 2007/03/22 16:55:31 deraadt Exp $     */
                      2:
                      3: /*
                      4:  * Copyright (c) 2005,2006 Michael Shalayeff
                      5:  * All rights reserved.
                      6:  *
                      7:  * Permission to use, copy, modify, and distribute this software for any
                      8:  * purpose with or without fee is hereby granted, provided that the above
                      9:  * copyright notice and this permission notice appear in all copies.
                     10:  *
                     11:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     12:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     13:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     14:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     15:  * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN
                     16:  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
                     17:  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     18:  */
                     19:
                     20: #include <sys/sensors.h>
                     21:
                     22: struct ciss_ld {
                     23:        struct ciss_blink bling;        /* a copy of blink state */
                     24:        char    xname[16];              /* copy of the sdN name */
                     25:        int     ndrives;
                     26:        u_int8_t tgts[1];
                     27: };
                     28:
                     29: struct ciss_softc {
                     30:        struct device   sc_dev;
                     31:        struct scsi_link sc_link;
                     32:        struct scsi_link *sc_link_raw;
                     33:        struct timeout  sc_hb;
                     34:        void            *sc_ih;
                     35:        void            *sc_sh;
                     36:        struct proc     *sc_thread;
                     37:        int             sc_flush;
                     38:        struct ksensor  *sensors;
                     39:        struct ksensordev sensordev;
                     40:
                     41:        u_int   sc_flags;
                     42: #define        CISS_BIO        0x0001
                     43:        int ccblen, maxcmd, maxsg, nbus, ndrives, maxunits;
                     44:        ciss_queue_head sc_free_ccb, sc_ccbq, sc_ccbdone;
                     45:
                     46:        bus_space_tag_t iot;
                     47:        bus_space_handle_t ioh, cfg_ioh;
                     48:        bus_dma_tag_t   dmat;
                     49:        bus_dmamap_t    cmdmap;
                     50:        bus_dma_segment_t cmdseg[1];
                     51:        void            *ccbs;
                     52:        void            *scratch;
                     53:
                     54:        struct ciss_config cfg;
                     55:        int cfgoff;
                     56:        u_int32_t iem;
                     57:        u_int32_t heartbeat;
                     58:        struct ciss_ld **sc_lds;
                     59: };
                     60:
                     61: struct ciss_rawsoftc {
                     62:        struct scsi_link sc_link;
                     63:        struct ciss_softc *sc_softc;
                     64:        u_int8_t        sc_channel;
                     65: };
                     66:
                     67: /* XXX These have to become spinlocks in case of fine SMP */
                     68: #define        CISS_LOCK(sc) splbio()
                     69: #define        CISS_UNLOCK(sc, lock) splx(lock)
                     70: #define        CISS_LOCK_SCRATCH(sc) splbio()
                     71: #define        CISS_UNLOCK_SCRATCH(sc, lock) splx(lock)
                     72: typedef        int ciss_lock_t;
                     73:
                     74: int    ciss_attach(struct ciss_softc *sc);
                     75: int    ciss_intr(void *v);

CVSweb