From owner-freebsd-current Mon Nov 1 7: 1:42 1999 Delivered-To: freebsd-current@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 533A714BC2 for ; Mon, 1 Nov 1999 07:01:39 -0800 (PST) (envelope-from gadde@cs.duke.edu) Received: from cod.cs.duke.edu (cod.cs.duke.edu [152.3.140.124]) by duke.cs.duke.edu (8.9.1/8.9.1) with ESMTP id KAA28601 for ; Mon, 1 Nov 1999 10:01:38 -0500 (EST) Received: (gadde@localhost) by cod.cs.duke.edu (8.8.5/8.6.9) id KAA03207 for current@FreeBSD.ORG; Mon, 1 Nov 1999 10:01:37 -0500 (EST) Date: Mon, 1 Nov 1999 10:01:37 -0500 From: Syam Gadde To: current@FreeBSD.ORG Subject: Re: ESS sound drivers and 4.0-current Message-ID: <19991101100136.A3202@cod.cs.duke.edu> References: <199911011007.MAA03588@oskar.dev.nanoteq.co.za> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre2i In-Reply-To: <199911011007.MAA03588@oskar.dev.nanoteq.co.za> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Quoting Reinier Bezuidenhout (rbezuide@oskar.dev.nanoteq.co.za): > I have made a change to the ESS code in the pcm/isa/sb.c to allow > my ESS1869 card to change the volume in both channels ... I'm running > current of a few days ago. I experienced this problem too... same chip. I tried a similar patch to yours weeks ago, but now I'm more convinced that the right way to do it is this (included below). Even if "val" doesn't change, don't you still need to change the bits for the right channel? (as the old pcm code does) -syam Index: sb.c =================================================================== RCS file: /scratch/ncvs/src/sys/dev/pcm/isa/sb.c,v retrieving revision 1.29 diff -u -r1.29 sb.c --- sb.c 1999/10/16 15:57:33 1.29 +++ sb.c 1999/10/26 13:29:09 @@ -1195,10 +1195,10 @@ regoffs = (*iomap)[dev][RIGHT_CHN].regno; if (regoffs != 0) { val = sb_getmixer(sb, regoffs); /* Read the new one */ - change_bits(iomap, &val, dev, RIGHT_CHN, right); - sb_setmixer(sb, regoffs, val); } else right = left; } else right = left; + change_bits(iomap, &val, dev, RIGHT_CHN, right); + sb_setmixer(sb, regoffs, val); return left | (right << 8); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message