dmasound split

Geert Uytterhoeven geert at linux-m68k.org
Mon Mar 27 06:30:09 EST 2000


On Fri, 24 Mar 2000, Richard Zidlicky wrote:
> found the bug that caused jerky play with the splitted driver (did you get
> my PM with the bug description??).
>
> The problem is with sq_setup() or its invocation, with the default 32K
> buffer size sq_setup gets called with a bufSize argument of 32  !!
> So it sets write_sq accordingly and little surprise - a buffer size of 32
> bytes is not enough for smooth playing.
> It appears as this bug would affect all architectures.

Thanks a lot!

I incorporated your driver for the Q40 and made a new release.

Changes:

  - Add support for Q40 (from Richard Zidlicky). The driver now consists of 5
    pieces:

       o dmasound_core: machine-independent stuff
       o dmasound_atari: support for Atari TT and Falcon [m68k]
       o dmasound_awacs: support for PowerMac Awacs/Burgundy [ppc]
       o dmasound_paula: support for Amiga Paula [m68k/ppc]
       o dmasound_q40: support for Q40

  - Disable sound on PowerBook when dmasound is not compiled in (triggered by a
    report from Michel Lanners).
  - Use the new module_{init,exit}() scheme, so dmasound_init() no longer has
    to be called in drivers/char/mem.c (triggered by a report from Iain
    Sandoe).
  - Removed unused DMASND_* definitions.
  - All buffer sizes are in bytes now, except for {read,write}BufSize and
    {MIN,MAX}_BUFSIZE, which are in KB (fixes bug reported by Richard
    Zidlicky).
  - Declared more small static functions inline.
  - Clean up of #include lists.
  - Remove dmasound_active, since it's not necessary (was never set anyway).
  - Many small clean ups.

Caveats:

  - Only dmasound_paula was tested on Amiga under Linux/m68k, using a modular
    configuration. I did compile the other drivers (also dmasound_paula under
    Linux/PPC). Dmasound_q40 did not compile due to the lack of some Q40
    specific definitions in the current Linux/m68k tree.

  - Builtin behavior has not been tested yet! Since the rest of the sound
    system is initialized using module_init() as well, correct operation
    depends on correct link order in drivers/sound/Makefile. Please let us know
    whether it works.

  - I forgot to move everything to drivers/sound/dmasound/. Since it's already
    late (BTW, I hate switching to DST!), I prefer to send out this patch
    first. Of course patches are welcomed :-)

Patches:

  - Against Linus' 2.3.99-pre3:

    http://home.tvd.be/cr26864/Patches/dmasound-v2.diff.gz

  - Against my previous release + patch:

    http://home.tvd.be/cr26864/Patches/dmasound-v1pl1-v2.diff.gz

Thank you very much for testing it on all supported platforms[*]!
If everything works fine, I'll send it to Linus for inclusion in 2.4.0.

Enjoy!

Gr{oetje,eeting}s,

						Geert

[*] I'm aware that Linux/m68k 2.3.x is broken on Atari, so I don't insist on
    reports for dmasound_atari :-)
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


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





More information about the Linuxppc-dev mailing list