Deleted Added
full compact
solo.c (170032) solo.c (170521)
1/*-
2 * Copyright (c) 1999 Cameron Grant <cg@freebsd.org>
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 19 unchanged lines hidden (view full) ---

28#include <dev/pci/pcireg.h>
29#include <dev/pci/pcivar.h>
30
31#include <dev/sound/isa/sb.h>
32#include <dev/sound/chip.h>
33
34#include "mixer_if.h"
35
1/*-
2 * Copyright (c) 1999 Cameron Grant <cg@freebsd.org>
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 19 unchanged lines hidden (view full) ---

28#include <dev/pci/pcireg.h>
29#include <dev/pci/pcivar.h>
30
31#include <dev/sound/isa/sb.h>
32#include <dev/sound/chip.h>
33
34#include "mixer_if.h"
35
36SND_DECLARE_FILE("$FreeBSD: head/sys/dev/sound/pci/solo.c 170032 2007-05-27 20:12:51Z ariff $");
36SND_DECLARE_FILE("$FreeBSD: head/sys/dev/sound/pci/solo.c 170521 2007-06-11 00:49:46Z ariff $");
37
38#define SOLO_DEFAULT_BUFSZ 16384
39#define ABS(x) (((x) < 0)? -(x) : (x))
40
41/* if defined, playback always uses the 2nd channel and full duplex works */
42#define ESS18XX_DUPLEX 1
43
44/* more accurate clocks and split audio1/audio2 rates */

--- 535 unchanged lines hidden (view full) ---

580}
581
582static int
583esschan_trigger(kobj_t obj, void *data, int go)
584{
585 struct ess_chinfo *ch = data;
586 struct ess_info *sc = ch->parent;
587
37
38#define SOLO_DEFAULT_BUFSZ 16384
39#define ABS(x) (((x) < 0)? -(x) : (x))
40
41/* if defined, playback always uses the 2nd channel and full duplex works */
42#define ESS18XX_DUPLEX 1
43
44/* more accurate clocks and split audio1/audio2 rates */

--- 535 unchanged lines hidden (view full) ---

580}
581
582static int
583esschan_trigger(kobj_t obj, void *data, int go)
584{
585 struct ess_chinfo *ch = data;
586 struct ess_info *sc = ch->parent;
587
588 DEB(printf("esschan_trigger: %d\n",go));
589 if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD)
588 if (!PCMTRIG_COMMON(go))
590 return 0;
591
589 return 0;
590
591 DEB(printf("esschan_trigger: %d\n",go));
592
592 ess_lock(sc);
593 switch (go) {
594 case PCMTRIG_START:
595 ess_dmasetup(sc, ch->hwch, sndbuf_getbufaddr(ch->buffer), sndbuf_getsize(ch->buffer), ch->dir);
596 ess_dmatrigger(sc, ch->hwch, 1);
597 ess_start(ch);
598 break;
599

--- 517 unchanged lines hidden ---
593 ess_lock(sc);
594 switch (go) {
595 case PCMTRIG_START:
596 ess_dmasetup(sc, ch->hwch, sndbuf_getbufaddr(ch->buffer), sndbuf_getsize(ch->buffer), ch->dir);
597 ess_dmatrigger(sc, ch->hwch, 1);
598 ess_start(ch);
599 break;
600

--- 517 unchanged lines hidden ---