From owner-freebsd-current Wed Feb 23 11:17:27 2000 Delivered-To: freebsd-current@freebsd.org Received: from ring.vpop.net (ring.vpop.net [206.117.147.5]) by hub.freebsd.org (Postfix) with ESMTP id 4DE6837B950; Wed, 23 Feb 2000 11:17:21 -0800 (PST) (envelope-from mreimer@vpop.net) Received: from vpop.net (bilbo.vpop.net [216.160.82.65]) by ring.vpop.net (8.9.3/8.9.3) with ESMTP id LAA92241; Wed, 23 Feb 2000 11:17:19 -0800 (PST) (envelope-from mreimer@vpop.net) Message-ID: <38B43241.6451BA50@vpop.net> Date: Wed, 23 Feb 2000 11:17:21 -0800 From: Matthew Reimer Organization: VPOP Technologies, Inc. X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 4.0-CURRENT i386) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-multimedia@freebsd.org, freebsd-current@freebsd.org Subject: Re: PATCH: partial fix for PR 16587 can't record with CS423x References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Doh! Sorry, I reversed the patch. Matt Matthew Reimer wrote: > > Partial fix: the following patch correctly configures the card for dual > channel DMA. The problem was that the SDC bit (0x04) can only be set in > the MCE state. > > So now recording doesn't hang, and data is returned, but the recorded > sound doesn't sound right when played back. Anybody have an idea why? > > --- mss.c.orig Wed Feb 23 11:04:23 2000 > +++ mss.c Fri Jan 28 16:18:28 2000 > @@ -92,8 +92,6 @@ > static int ad_read(struct mss_info *mss, int reg); > static void ad_write(struct mss_info *mss, int reg, u_char > data); > static void ad_write_cnt(struct mss_info *mss, int reg, > u_short data > -static void ad_enter_MCE(struct mss_info *mss); > -static void ad_leave_MCE(struct mss_info *mss); > > /* io primitives */ > static void conf_wr(struct mss_info *mss, u_char reg, u_char > data); > @@ -467,9 +465,7 @@ > } > if (FULL_DUPLEX(mss) && mss->bd_id != MD_OPTI931) > ad_write(mss, 12, ad_read(mss, 12) | 0x40); /* mode 2 */ > - ad_enter_MCE(mss); > ad_write(mss, 9, FULL_DUPLEX(mss)? 0 : 4); > - ad_leave_MCE(mss); > ad_write(mss, 10, 2); /* int enable */ > io_wr(mss, MSS_STATUS, 0); /* Clear interrupt status */ > /* the following seem required on the CS4232 */ > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-multimedia" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message