Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Nov 2006 12:24:06 +0000 (UTC)
From:      Ariff Abdullah <ariff@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/sys param.h src UPDATING src/sys/dev/sound/pci atiixp.c cmi.c es137x.c ich.c via8233.c src/sys/dev/sound/pci/hda hda_reg.h hdac.c hdac_private.h src/sys/dev/sound/pcm ac97.c ac97.h buffer.c buffer.h channel.c channel.h dsp.c fake.c feeder.c ...
Message-ID:  <200611261224.kAQCO6dg012323@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
ariff       2006-11-26 12:24:06 UTC

  FreeBSD src repository

  Modified files:
    sys/sys              param.h 
    .                    UPDATING 
    sys/dev/sound/pci    atiixp.c cmi.c es137x.c ich.c via8233.c 
    sys/dev/sound/pci/hda hda_reg.h hdac.c hdac_private.h 
    sys/dev/sound/pcm    ac97.c ac97.h buffer.c buffer.h channel.c 
                         channel.h dsp.c fake.c feeder.c feeder.h 
                         feeder_fmt.c feeder_rate.c 
                         feeder_volume.c mixer.c sndstat.c sound.c 
                         sound.h vchan.c 
    sys/dev/sound/usb    uaudio.c 
  Log:
  Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes
  in every sense.
  
  General
  -------
  
  - Multichannel safe, endian safe, format safe
     * Large part of critical pcm filters such as vchan.c, feeder_rate.c,
       feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that
       using them does not cause the pcm data to be converted to 16bit little
       endian.
     * Macrosses for accessing pcm data safely are defined within sound.h in
       the form of PCM_READ_* / PCM_WRITE_*
     * Currently, most of them are probably limited for mono/stereo handling,
       but the future addition of true multichannel will be much easier.
  
  - Low latency operation
    * Well, this require lot more works to do not just within sound driver,
      but we're heading towards right direction. Buffer/block sizing within
      channel.c is rewritten to calculate precise allocation for various
      combination of sample/data/rate size. As a result, applying correct
      SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar
      to what commercial 4front driver do.
    * Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not
      result long delay.
    * Eliminate sound truncation if the sound data is too small.
      DIY:
        1) Download / extract
           http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz
        2) Do a comparison between "cat state*.au > /dev/dsp" and
           "for x in state*.au ; do cat $x > /dev/dsp ; done"
           - there should be no "perceivable" differences.
      Double close for PR kern/31445.
  
    CAVEAT: Low latency come with (unbearable) price especially for poorly
            written applications. Applications that trying to act smarter
            by requesting (wrong) blocksize/blockcount will suffer the most.
            Fixup samples/patches can be found at:
            http://people.freebsd.org/~ariff/ports/
  
  - Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42)
    due to closer compatibility with 4front driver.
    Discussed with: marcus@ (long time ago?)
  
  - All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been
    moved to their own dev sysctl nodes, notably:
    hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans
    Bump __FreeBSD_version.
  
  Driver specific
  ---------------
  
  - Ditto for sysctls.
  
  - snd_atiixp, snd_es137x, snd_via8233, snd_hda
    * Numerous cleanups and fixes.
    * _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme.
     This was intended for pure debugging and latency measurement, but proven
     good enough in few unexpected and rare cases (such as problematic shared
     IRQ with GIANT devices - USB). Polling can be enabled/disabled through
     dev.pcm.0.polling. Disabled by default.
  
  - snd_ich
    * Fix possible overflow during speed calibration. Delay final
      initialization (pcm_setstatus) after calibration finished.
      PR: kern/100169
      Tested by: Kevin Overman <oberman@es.net>
    * Inverted EAPD for few Nec VersaPro.
      PR: kern/104715
      Submitted by: KAWATA Masahiko <kawata@mta.biglobe.ne.jp>
  
  Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman,
  those at #freebsd-azalia @ freenode and others for testing.
  
  Joel Dahl will do the manpage update.
  
  Revision  Changes    Path
  1.466     +13 -0     src/UPDATING
  1.8       +354 -196  src/sys/dev/sound/pci/atiixp.c
  1.38      +3 -3      src/sys/dev/sound/pci/cmi.c
  1.61      +622 -371  src/sys/dev/sound/pci/es137x.c
  1.2       +24 -24    src/sys/dev/sound/pci/hda/hda_reg.h
  1.9       +456 -171  src/sys/dev/sound/pci/hda/hdac.c
  1.3       +10 -1     src/sys/dev/sound/pci/hda/hdac_private.h
  1.68      +228 -103  src/sys/dev/sound/pci/ich.c
  1.26      +558 -275  src/sys/dev/sound/pci/via8233.c
  1.64      +86 -18    src/sys/dev/sound/pcm/ac97.c
  1.19      +0 -2      src/sys/dev/sound/pcm/ac97.h
  1.29      +60 -26    src/sys/dev/sound/pcm/buffer.c
  1.13      +3 -0      src/sys/dev/sound/pcm/buffer.h
  1.112     +721 -311  src/sys/dev/sound/pcm/channel.c
  1.34      +39 -1     src/sys/dev/sound/pcm/channel.h
  1.100     +16 -17    src/sys/dev/sound/pcm/dsp.c
  1.17      +2 -1      src/sys/dev/sound/pcm/fake.c
  1.38      +452 -134  src/sys/dev/sound/pcm/feeder.c
  1.14      +26 -3     src/sys/dev/sound/pcm/feeder.h
  1.21      +623 -203  src/sys/dev/sound/pcm/feeder_fmt.c
  1.19      +320 -546  src/sys/dev/sound/pcm/feeder_rate.c
  1.3       +178 -33   src/sys/dev/sound/pcm/feeder_volume.c
  1.56      +5 -3      src/sys/dev/sound/pcm/mixer.c
  1.23      +11 -10    src/sys/dev/sound/pcm/sndstat.c
  1.107     +40 -48    src/sys/dev/sound/pcm/sound.c
  1.73      +280 -7    src/sys/dev/sound/pcm/sound.h
  1.26      +458 -131  src/sys/dev/sound/pcm/vchan.c
  1.23      +1 -1      src/sys/dev/sound/usb/uaudio.c
  1.280     +1 -1      src/sys/sys/param.h



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