DMASOUND->rev6 (2.4.3)(attn: Xine, MOL, PowerComputing, ibook, Tumbler)
iain at sandoe.co.uk
Thu Apr 5 21:09:05 EST 2001
Hi List, Paul, Ben,
Here is the (long promised) rev 6 patch for dmasound:
To build it you need to apply:
to a BK, Paulus (and prob. Benh) kernel later than 2.4.3-pre3.
the binaries are identified by -i138 and -i138-blt-in for module and
Please include the "i138" in any bug report -it's my local BK cset
identifier for the patch.
the BK baseline for these was 1.137 (IIRC).
what's been changed (and who might be interested ;-) :
- fix bug: where sample rates higher than maximum were
being reported as OK.
- fix bug: open() now returns -EBUSY as per OSS doc. when
audio is in use - this is independent of O_NOBLOCK.
[this is ifdef'd at the moment in case anyone thinks that
OSS is wrong - and it *should* block ;-)]
- fix bug: where SNDCTL_DSP_POST was blocking.
(MoL, Paulus). [untested]
- incorporate mixer changes from 2.2.x back-port.
- take out passthru as a rec input (it isn't).
- make Input Gain slider work the 'right way up'.
- try to make the mixer sliders more logical - so now the
input selectors are just two-state (>50% == ON) and the
Input Gain slider handles the rest of the gain issues.
- try to pick slider representations that most closely match
the actual use - e.g. IGain for input gain...
(anyone with Screamer or AWACS based machines)
- first stab at over/under-run detection.
(everyone - reported in /dev/sndstat)
- minor cosmetic changes to IRQ identification.
- make use of i2c for mixer settings conditional on perch
rather than cuda (some machines without perch have cuda).
(machines with cuda but without perch ;-)
- fix bug where TX stops when dbdma status comes up "DEAD"
so far only reported on PowerComputing clones ... but.
(PowerComputing clones - NOT TESTED - please let me know what happens).
- put in AWACS/Screamer register write timeouts.
- part way to partitioning the init() stuff
(just tidying up + cater for move to separate files for each codec)
- make more attempt not to write anything where we shouldn't for DACA
- first pass at 'tumbler' stuff (not support - just an attempt
to allow the driver to load on new G4s).
(New G4 owners - *don't* try the built in until you've tried the module..
it may still lock up - UNTESTED - let me know what happens)
It's been tested on G3/Beige, Lombard & 9600/233 --- it might *break* on
anything else.... let me know.
If this is OK, I will start to integrate the iBook i2c mixer control code...
and (as soon as I get *any* info on it) similar stuff for "tumbler" (new
G4s). BUT... this is quite a big change...
next on the TODO: implement SNDCTL_DSP_GETXPTR and friends (xine, MoL).
I'm still keen to get hold of something burgundy-based so that I can make
similar changes to the burgundy mixer code. Any offers?
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev