summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornsayer <nsayer@FreeBSD.org>2000-08-02 15:09:39 +0000
committernsayer <nsayer@FreeBSD.org>2000-08-02 15:09:39 +0000
commit63383ff5885f7ecbd344ff5061191d7d35ec8f98 (patch)
treebc4df160016e99a09b180288a1a19c2a80e69a5f
parent9e0c7756d9c079ea44f81d3e743ef817bbd614e4 (diff)
downloadFreeBSD-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.c4
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,
OpenPOWER on IntegriCloud