Deleted Added
sdiff udiff text old ( 59323 ) new ( 60958 )
full compact
1/*
2 * Support the ENSONIQ AudioPCI board and Creative Labs SoundBlaster PCI
3 * boards based on the ES1370, ES1371 and ES1373 chips.
4 *
5 * Copyright (c) 1999 Russell Cattelan <cattelan@thebarn.com>
6 * Copyright (c) 1999 Cameron Grant <gandalf@vilnya.demon.co.uk>
7 * Copyright (c) 1998 by Joachim Kuebart. All rights reserved.
8 *

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

33 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39 * OF THE POSSIBILITY OF SUCH DAMAGE.
40 *
41 * $FreeBSD: head/sys/dev/sound/pci/es137x.c 59323 2000-04-17 16:57:12Z cg $
42 */
43
44/*
45 * Part of this code was heavily inspired by the linux driver from
46 * Thomas Sailer (sailer@ife.ee.ethz.ch)
47 * Just about everything has been touched and reworked in some way but
48 * the all the underlying sequences/timing/register values are from
49 * Thomas' code.

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

360 return blocksize;
361}
362
363static int
364eschan_trigger(void *data, int go)
365{
366 struct es_chinfo *ch = data;
367 struct es_info *es = ch->parent;
368 unsigned cnt = ch->buffer->dl / ch->buffer->sample_size - 1;
369
370 if (go == PCMTRIG_EMLDMAWR) return 0;
371 if (ch->dir == PCMDIR_PLAY) {
372 if (go == PCMTRIG_START) {
373 int b = (ch->fmt & AFMT_S16_LE)? 2 : 1;
374 es->ctrl |= CTRL_DAC2_EN;
375 es->sctrl &= ~(SCTRL_P2ENDINC | SCTRL_P2STINC |
376 SCTRL_P2LOOPSEL | SCTRL_P2PAUSE |
377 SCTRL_P2DACSEN);
378 es->sctrl |= SCTRL_P2INTEN | (b << SCTRL_SH_P2ENDINC);

--- 482 unchanged lines hidden ---