Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Aug 2005 12:25:20 -0500
From:      Harry Coin <harrycoin@qconline.com>
To:        freebsd-multimedia@freebsd.org
Subject:   Upgrade, fix and new, maximal CS4236B chip support to mss.c available for testing
Message-ID:  <4.3.2.7.2.20050804120923.03827918@www.n4comm.com>

next in thread | raw e-mail | index | archive | help
Freebsd Multimedia enthusiasts, kindly take a look at the following upgrade 
to mss.c that fixes broken mixer support (and adds mode 3 support and full 
duplex support at different sample rates, in fact exposing every chip 
feature) for a CS chip, and consider testing it if possible.

I think that sound chip driver writers have a better idea about mixer 
volume defaults than the 'vanilla' that come with the OS.  On that theory 
(and only with a recently committed bugfixe to the kernel routine 
subr_hints.c)  the upgrade I propose looks in the device.hints for user 
chosen default mixer values-- and to the extent it doesn't find them the 
driver adds chip-appropriate defaults to the kernel hints environment.

Also a recent bugfix to mss.c relating to ACPI issues prevents the 'failure 
to attach' messages and a sound card device number higher than the the 
number of sound cards - 1 in the system.  I see there was a recent SMP fix 
to mss.c that this patch of mine doesn't have.

The two patched files mss.c and mss.h and new doc file are at 
http://www.n4comm.com/cs4236b/
The PR with a better description of all this is at 
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/83697

I don't know if the 'mode 3' of this wss chip is shared by other such, but 
extending this upgrade to other chips with the same register layout would 
be easy.

Certainly the example code and general idea of soundcard drivers providing 
preferred mixer level defaults absent user entered device.hints entries has 
some merit.

Also I wonder if any out there agree that the nature of the mixer ranges 
(linear, log, etc) and the DB amplification range ought to be published for 
mixer levels (vague 0-100 doesn't specify much, the levels are documented 
in the patch and doc for this chip) so people know what they are getting 
when choosing a number between 0 and 100.   At a minimum what the db change 
is at 0 and 100 and if it crosses 0db, the level to use for 0db.

I posted this here to request testing at the suggestion of Alexander Leidinger.

Sorry in advance for newbie mis-steps.

Harry Coin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.3.2.7.2.20050804120923.03827918>