From owner-freebsd-multimedia Sun Dec 6 20:12:00 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA11945 for freebsd-multimedia-outgoing; Sun, 6 Dec 1998 20:10:23 -0800 (PST) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from n4hhe.ampr.org (tnt1-239.HiWAAY.net [208.147.147.239]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA11936 for ; Sun, 6 Dec 1998 20:10:18 -0800 (PST) (envelope-from dkelly@n4hhe.ampr.org) Received: from n4hhe.ampr.org (localhost.ampr.org [127.0.0.1]) by n4hhe.ampr.org (8.9.1/8.9.1) with ESMTP id UAA27446 for ; Sun, 6 Dec 1998 20:57:43 -0600 (CST) (envelope-from dkelly@n4hhe.ampr.org) Message-Id: <199812070257.UAA27446@n4hhe.ampr.org> X-Mailer: exmh version 2.0.2 2/24/98 To: multimedia@FreeBSD.ORG Subject: Crystal Semiconductor and PCM driver question. From: David Kelly Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 06 Dec 1998 20:57:43 -0600 Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In the continuing saga of my awful-sounding AOpen AW37 not-Pro, have been studying Luigi's PCM source code and the Crystal Semiconductor documentation for the CS4235 chip. Have not found where/if the pcm driver invokes the calibrate mode implemented in register 9, bits D3 and D4. Actually I'm fairly certain the hardware doesn't get calibrated. Register definition on page 36, How To Calibrate on page 67. If pcm is forced to detect the card as a SB Pro, it sounds fine. Possibly in SB mode Crystal Semiconductor sneaks in a calibrate? Considering I'm the one that has the problem and can replicate it, have been studying the code looking for the appropriate place to calibrate. mss_attach() in ad1848.c looks like a good place as the calibration routine doesn't need to be run but once per reset and takes time. Was thinking of using mss_detect() but my pnp-detected card doesn't appear to use that routine as there is no mss_detect output in dmesg while there is mss_attach(): Probing for PnP devices: CSN 1 Vendor ID: CSCd925 [0x25d9630e] Serial 0xffffffff Comp ID: @@@0000 [0x00000000] mss_attach 1 at 0x530 irq 5 dma 1:3 flags 0x13 pcm1 (CS423x/Yamaha sn 0xffffffff) at 0x530-0x537 irq 5 drq 1 flags 0x13 on isa Because the calibration can take time and could possibly fail to complete in a reasonable amount of time, I presume the DELAY() routine also used by mss_detect() is safe to use? Or is there a better choice? -- David Kelly N4HHE, dkelly@nospam.hiwaay.net ===================================================================== The human mind ordinarily operates at only ten percent of its capacity -- the rest is overhead for the operating system. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message