1. 15 Feb, 2010 4 commits
    • Giuliano Pochini's avatar
      ALSA: Echoaudio - Add suspend support #2 · 47b5d028
      Giuliano Pochini authored
      This patch adds rearranges parts of the initialization code and adds
      suspend and resume callbacks.
      
      This patch adds suspend and resume callbacks.
      It also rearranges parts of the initialization code so it can be
      used in both the first initialization (when the module is loaded we
      also have to load default settings) and the resume callback (where
      we have to restore the previous settings).
      Signed-off-by: default avatarGiuliano Pochini <pochini@shiny.it>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      47b5d028
    • Giuliano Pochini's avatar
      ALSA: Echoaudio - Add suspend support #1 · ad3499f4
      Giuliano Pochini authored
      Move the controls init code outside the init_hw() function because is must
      not be called during resume.
      
      This patch moves the code that initializes the card's controls with
      default valued from the init_hw() function into a separated
      set_mixer_defaults() function (one for each of the 16 supported
      cards). This change is necessary because during resume we must
      resurrect the hardware without losing the previous
      settings. set_mixer_defaults() must be called only once when the
      module is loaded.
      Signed-off-by: default avatarGiuliano Pochini <pochini@shiny.it>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ad3499f4
    • Giuliano Pochini's avatar
      ALSA: Echoaudio - Add firmware cache #2 · 4f8ada44
      Giuliano Pochini authored
      This patch implements a simple cache for the firmware files when CONFIG_PM is defined.
      
      This patch changes get_firmware(), free_firmware() and adds
      free_firmware_cache(). The first two functions implement a very
      simple cache and the latter is used to actually release all the stored
      firmwares when the module is unloaded. 
      When CONFIG_PM is not enabled those functions act as before, that is
      free_firmware() releases the firmware immediately and
      free_firmware_cache() does nothing.
      Signed-off-by: default avatarGiuliano Pochini <pochini@shiny.it>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4f8ada44
    • Giuliano Pochini's avatar
      ALSA: Echoaudio - Add firmware cache #1 · 19b50063
      Giuliano Pochini authored
      Changes the way the firmware is passed through functions.
      
      When CONFIG_PM is enabled the firmware cannot be released because the
      driver will need it again to resume the card. 
      With this patch the firmware is passed as an index of the struct
      firmware card_fw[] in place of a pointer. That same index is then used
      to locate the firmware in the firmware cache.
      Signed-off-by: default avatarGiuliano Pochini <pochini@shiny.it>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      19b50063
  2. 12 Feb, 2010 1 commit
  3. 11 Feb, 2010 1 commit
  4. 09 Feb, 2010 1 commit
  5. 05 Feb, 2010 1 commit
  6. 02 Feb, 2010 1 commit
  7. 01 Feb, 2010 4 commits
  8. 27 Jan, 2010 1 commit
    • Jaroslav Kysela's avatar
      ALSA: pcm_native - fix runtime->boundary calculation · 7910b4a1
      Jaroslav Kysela authored
      The code in pcm_lib updating runtime->hw_ptr_interrupt expects
      that runtime->boundary is divisible with runtime->period_size.
      Thanks are going to Clemens Ladisch for the notice.
      
      Fix the runtime->boundary calculation using buffer_size * period_size
      as base and find a least common multiple for 32bit platforms when
      the expression might overflow.
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      7910b4a1
  9. 26 Jan, 2010 3 commits
    • Takashi Iwai's avatar
      d0d2c38e
    • Jaroslav Kysela's avatar
      ALSA: pcm_lib - return back hw_ptr_interrupt · e7636925
      Jaroslav Kysela authored
      Clemens Ladisch noted for hw_ptr_removal in "cleanup & merge hw_ptr
      update functions" commit:
      
      "It is possible for the status/delay ioctls to be called when the sound
      card's pointer register alreay shows a position at the beginning of the
      new period, but immediately before the interrupt is actually executed.
      (This happens regularly on a SMP machine with mplayer.)  When that
      happens, the code thinks that the position must be at least one period
      ahead of the current position and drops an entire buffer of data."
      
      Return back the hw_ptr_interrupt variable. The last interrupt pointer
      is always computed from the latest hw_ptr instead of tracking it
      separately (in this case all hw_ptr checks and modifications might
      influence also hw_ptr_interrupt and it is difficult to keep it
      consistent).
      Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
      e7636925
    • Florian Zumbiehl's avatar
      ALSA: cs46xx: Fix cpu idling with resume · cf944ee5
      Florian Zumbiehl authored
      Make sure that capture DMA doesn't stay enabled after system resume
      as that potentially prevents the processor from entering deep sleep
      states.
      Signed-off-by: default avatarFlorian Zumbiehl <florz@florz.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cf944ee5
  10. 21 Jan, 2010 4 commits
  11. 18 Jan, 2010 5 commits
  12. 14 Jan, 2010 2 commits
  13. 13 Jan, 2010 2 commits
  14. 12 Jan, 2010 2 commits
  15. 08 Jan, 2010 6 commits
  16. 07 Jan, 2010 2 commits