dmasound (2.1.27pre10, 2.4.0-test1, 2.4.0-test3)

2 messages, 2 authors, 2000-07-12 · open the first message on its own page

dmasound (2.1.27pre10, 2.4.0-test1, 2.4.0-test3)

From: Iain Sandoe <hidden>
Date: 2000-07-12 18:01:44

OK.

I've now made a *single* code base for all three versions.

There are two areas that change (between 2.2.17pre10 & 2.4.0-testxx):

    * the wait_queue stuff
    * the ADB access stuff

These are conditionalised on the KERNEL_VERSION .

results are exactly as before:
    2.2.7pre10-ben1   OK
    2.4.0-testx            no sound, no crash, no apparent problem (!)

I will go back and look harder at the init code - although I diffed the
2.3.52 version against the 2.2.17pre7 version whilst I was doing the
backport (at Geert's suggestion)... 2.3.52 was the split point IIRC.

Any ideas how the two changed areas could affect things would be appreciated
- although from reports:

    AWACS rev 2 *does* appear to work with the new version
    AWACS rev 3 appears to work on G4 but not on G3... hmmm.

I must be missing something obvious (yes I have tried altering the volume -
kmixer seems to think all is OK as well).

BTW there is a call that reads a particular byte in nvram (to determine
initial volume)  - is this still valid at 2.4 ?

Iain.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: dmasound (2.1.27pre10, 2.4.0-test1, 2.4.0-test3)

From: Benjamin Herrenschmidt <hidden>
Date: 2000-07-12 21:12:26

Any ideas how the two changed areas could affect things would be appreciated
- although from reports:

   AWACS rev 2 *does* appear to work with the new version
   AWACS rev 3 appears to work on G4 but not on G3... hmmm.

I must be missing something obvious (yes I have tried altering the volume -
kmixer seems to think all is OK as well).

BTW there is a call that reads a particular byte in nvram (to determine
initial volume)  - is this still valid at 2.4 ?
You should use my new "xpram" calls for that. They are defined in arch/
ppc/kernel/pmac_support.c in 2.2 and arch/ppc/kernel/pmac_nvram.c in 2.4.
Think about using the proper #ifndef around them in 2.4

You need to calculate the offset in xpram and replace the old absolute
offset by an xpram offset by substracting the oldworld xpram base (see
the nvram code and you should understand).

Some notes:
 - The timing when powering up the sound chip and initializing it must be
carefully followed, or you'll have no sound.
 - Some versions of HW handle only 44.1 KHz. That's the case of Burgundy
chips, I'm not sure about the various AWACS revs.
 - Some recent "screamer" revisions of awacs have more registers for
controlling input sources and output levels (not handled by current Linux
code, look at Darwin drivers for details).
 - Some beige G3s have the "bordeaux" chip, which is a bit special, I
think it's actually a kind of Burgundy
 - Some machines (early iMacs) need to send some I2C commands to the SRS
module to control the volume, balance, etc... (again, Darwin source is a
good source of infos).

The Darwin sound driver sources are in the "IO" module of the Apple CVS

That's all tips I have for now ;)

Ben.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help