Subject: audiocs driver updated
To: None <port-sparc@netbsd.org, port-sparc64@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-sparc
Date: 03/12/2002 08:41:21
--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi, folks.

I have committed to -current my changes to audiocs (cs4231) driver to
support playback and capture for EBus and to add capture for SBus.
The changes are solely DMA related, though I cleaned-up some minor
"audio-related" things too.  Thanks to Martin Husemann and Eduardo
Horvath for sparc64 tests.

For EBus, DMA code was written and both playback and capture are
tested on krups and ultra5.

For SBus, APC DMA code was reworked to take advantage of the "next va"
feature.  Playback is tested to work (a problem with a "click" at the
beginning of the playback is fixed: dma was not drained correctly, so
the first transfer used to start off from the middle of the audio
buffer with some stale data from previous playback).  As I wrote few
days ago, I don't have hardware to test sbus capture from mic/line-in,
but I wrote a simple stoopid shell script that opens /dev/sound and
forks off both audioplay and audiorecord with "output" as
record.source and it does captures the playing audio.

Now that DMA is supported for both buses in both directions, folks
with audio clue can work on audio-related issues like
CSAUDIO_OUTPUT_CLASS aka "outputs.*" etc.

Please give it a try and send-pr any problems.  If someone can verify
sbus capture from mic/line-in, please drop me a note about results.

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen

--17pEHd4RhPHOinZp
Content-Type: message/rfc822
Content-Disposition: attachment; filename="audiocs.commit"

From source-changes-owner-uwe=ptc.spbu.ru@netbsd.org  Tue Mar 12 07:48:44 2002
	by snark.ptc.spbu.ru (8.8.8+Sun/8.8.8) with ESMTP id HAA24527
	for <uwe@snark.ptc.spbu.ru>; Tue, 12 Mar 2002 07:48:43 +0300 (MSK)
	by flux.ptc.spbu.ru (8.11.2/8.11.2/cf-1.1.rbl) with SMTP id g2C4mf106884
	for <uwe@ptc.spbu.ru>; Tue, 12 Mar 2002 07:48:42 +0300 (MSK)
  by mail.netbsd.org with SMTP; 12 Mar 2002 04:48:31 -0000
	id 72C86B004; Tue, 12 Mar 2002 06:48:30 +0200 (EET)
From: "Valeriy E. Ushakov" <uwe@netbsd.org>
Subject: CVS commit: syssrc/sys
To: source-changes@netbsd.org
Reply-To: uwe@netbsd.org
Message-Id: <20020312044830.72C86B004@cvs.netbsd.org>
Date: Tue, 12 Mar 2002 06:48:30 +0200 (EET)
Sender: source-changes-owner@netbsd.org
Content-Length: 1434
Lines: 41


Module Name:	syssrc
Committed By:	uwe
Date:		Tue Mar 12 04:48:30 UTC 2002

Modified Files:
	syssrc/sys/arch/sparc/conf: files.sparc
	syssrc/sys/arch/sparc64/conf: files.sparc64
	syssrc/sys/dev/ic: apcdmareg.h cs4231.c cs4231var.h
	syssrc/sys/dev/sbus: cs4231_sbus.c
Added Files:
	syssrc/sys/dev/ebus: cs4231_ebus.c
Removed Files:
	syssrc/sys/arch/sparc64/dev: cs4231_ebus.c

Log Message:
Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
    tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
    i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


To generate a diff of this commit:
cvs rdiff -r1.107 -r1.108 syssrc/sys/arch/sparc/conf/files.sparc
cvs rdiff -r1.58 -r1.59 syssrc/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -r1.8 -r0 syssrc/sys/arch/sparc64/dev/cs4231_ebus.c
cvs rdiff -r0 -r1.1 syssrc/sys/dev/ebus/cs4231_ebus.c
cvs rdiff -r1.2 -r1.3 syssrc/sys/dev/ic/apcdmareg.h
cvs rdiff -r1.6 -r1.7 syssrc/sys/dev/ic/cs4231.c
cvs rdiff -r1.1 -r1.2 syssrc/sys/dev/ic/cs4231var.h
cvs rdiff -r1.17 -r1.18 syssrc/sys/dev/sbus/cs4231_sbus.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.


--17pEHd4RhPHOinZp--