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 --- |