ad1816.c (59323) | ad1816.c (60958) |
---|---|
1/* 2 * Copyright (c) 1999 Cameron Grant <gandalf@vilnya.demon.co.uk> 3 * Copyright Luigi Rizzo, 1997,1998 4 * Copyright by Hannu Savolainen 1994, 1995 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * | 1/* 2 * Copyright (c) 1999 Cameron Grant <gandalf@vilnya.demon.co.uk> 3 * Copyright Luigi Rizzo, 1997,1998 4 * Copyright by Hannu Savolainen 1994, 1995 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/dev/sound/isa/ad1816.c 59323 2000-04-17 16:57:12Z cg $ | 28 * $FreeBSD: head/sys/dev/sound/isa/ad1816.c 60958 2000-05-26 21:15:47Z cg $ |
29 */ 30 31#include <dev/sound/pcm/sound.h> 32#include <dev/sound/isa/ad1816.h> 33 34struct ad1816_info; 35 36struct ad1816_chinfo { --- 361 unchanged lines hidden (view full) --- 398 399static int 400ad1816chan_trigger(void *data, int go) 401{ 402 struct ad1816_chinfo *ch = data; 403 struct ad1816_info *ad1816 = ch->parent; 404 int wr, reg; 405 | 29 */ 30 31#include <dev/sound/pcm/sound.h> 32#include <dev/sound/isa/ad1816.h> 33 34struct ad1816_info; 35 36struct ad1816_chinfo { --- 361 unchanged lines hidden (view full) --- 398 399static int 400ad1816chan_trigger(void *data, int go) 401{ 402 struct ad1816_chinfo *ch = data; 403 struct ad1816_info *ad1816 = ch->parent; 404 int wr, reg; 405 |
406 if (go == PCMTRIG_EMLDMAWR) return 0; | 406 if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) 407 return 0; 408 |
407 buf_isadma(ch->buffer, go); 408 wr = (ch->dir == PCMDIR_PLAY); 409 reg = wr? AD1816_PLAY : AD1816_CAPT; 410 switch (go) { 411 case PCMTRIG_START: 412 /* start only if not already running */ 413 if (!(io_rd(ad1816, reg) & AD1816_ENABLE)) { 414 int cnt = ((ch->buffer->dl) >> 2) - 1; --- 206 unchanged lines hidden --- | 409 buf_isadma(ch->buffer, go); 410 wr = (ch->dir == PCMDIR_PLAY); 411 reg = wr? AD1816_PLAY : AD1816_CAPT; 412 switch (go) { 413 case PCMTRIG_START: 414 /* start only if not already running */ 415 if (!(io_rd(ad1816, reg) & AD1816_ENABLE)) { 416 int cnt = ((ch->buffer->dl) >> 2) - 1; --- 206 unchanged lines hidden --- |