From bb7f26c3d960bcebf79fd096cb10a838200c320a Mon Sep 17 00:00:00 2001 From: Nick Sayer Date: Wed, 2 Aug 2000 15:09:39 +0000 Subject: [PATCH] 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. --- sys/dev/sound/pci/solo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/sound/pci/solo.c b/sys/dev/sound/pci/solo.c index 75424eedee1..ec51dc1dbc8 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,