diff options
author | nsayer <nsayer@FreeBSD.org> | 2000-08-02 15:09:39 +0000 |
---|---|---|
committer | nsayer <nsayer@FreeBSD.org> | 2000-08-02 15:09:39 +0000 |
commit | 63383ff5885f7ecbd344ff5061191d7d35ec8f98 (patch) | |
tree | bc4df160016e99a09b180288a1a19c2a80e69a5f | |
parent | 9e0c7756d9c079ea44f81d3e743ef817bbd614e4 (diff) | |
download | FreeBSD-src-63383ff5885f7ecbd344ff5061191d7d35ec8f98.zip FreeBSD-src-63383ff5885f7ecbd344ff5061191d7d35ec8f98.tar.gz |
Fix channel 1 playback the rest of the way. There are a couple of
hiccups, but playback now proceeds mostly normally using both channel 1
and 2.
-rw-r--r-- | sys/dev/sound/pci/solo.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/sound/pci/solo.c b/sys/dev/sound/pci/solo.c index 75424ee..ec51dc1 100644 --- a/sys/dev/sound/pci/solo.c +++ b/sys/dev/sound/pci/solo.c @@ -727,7 +727,7 @@ ess_dmasetup(struct ess_info *sc, int ch, u_int32_t base, u_int16_t cnt, int dir port_wr(sc->vc, 0xf, 0x01, 1); /* mask */ port_wr(sc->vc, 0xb, dir == PCMDIR_PLAY? 0x58 : 0x54, 1); /* mode */ port_wr(sc->vc, 0x0, base, 4); - port_wr(sc->vc, 0x4, cnt, 2); + port_wr(sc->vc, 0x4, cnt - 1, 2); } else if (ch == 2) { port_wr(sc->io, 0x6, 0x08, 1); /* autoinit */ @@ -893,7 +893,7 @@ ess_attach(device_t dev) if (!sc->duplex) pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, + if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/65536, /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, |