1 /* $NetBSD: fmsvar.h,v 1.7 2012/10/27 17:18:32 chs Exp $ */ 2 3 /*- 4 * Copyright (c) 1999, 2008 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Witold J. Wnuk. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 * POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 33 #ifndef _DEV_PCI_FMSVAR_H_ 34 #define _DEV_PCI_FMSVAR_H_ 35 36 struct fms_softc { 37 device_t sc_dev; 38 void *sc_ih; 39 kmutex_t sc_lock; 40 kmutex_t sc_intr_lock; 41 42 bus_space_tag_t sc_iot; 43 bus_space_handle_t sc_ioh; 44 bus_addr_t sc_ioaddr; 45 bus_size_t sc_iosize; 46 bus_dma_tag_t sc_dmat; 47 48 bus_space_handle_t sc_opl_ioh; 49 50 bus_space_handle_t sc_mpu_ioh; 51 device_t sc_mpu_dev; 52 53 struct ac97_codec_if *codec_if; 54 struct ac97_host_if host_if; 55 56 struct fms_dma *sc_dmas; 57 58 void (*sc_pintr)(void *); 59 void *sc_parg; 60 bus_addr_t sc_play_start, sc_play_end, sc_play_nextblk; 61 int sc_play_blksize; 62 int sc_play_flip; 63 uint16_t sc_play_reg; 64 65 void (*sc_rintr)(void *); 66 void *sc_rarg; 67 bus_addr_t sc_rec_start, sc_rec_end, sc_rec_nextblk; 68 int sc_rec_blksize; 69 int sc_rec_flip; 70 uint16_t sc_rec_reg; 71 }; 72 73 #endif /* !_DEV_PCI_FMSVAR_H_ */ 74