Deleted Added
full compact
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 ---