1. 10 Oct, 2013 1 commit
  2. 09 Oct, 2013 1 commit
  3. 08 Oct, 2013 2 commits
    • Takashi Iwai's avatar
      Merge branch 'for-linus' into for-next · d820306c
      Takashi Iwai authored
      For updating the HDMI chmap fix.
      
      Conflicts:
      	sound/pci/hda/patch_hdmi.c
      d820306c
    • Anssi Hannula's avatar
      ALSA: hda - hdmi: Fix channel map switch not taking effect · 39edac70
      Anssi Hannula authored
      Currently hdmi_setup_audio_infoframe() reprograms the HDA channel
      mapping only when the infoframe is not up-to-date or the non-PCM flag
      has changed.
      
      However, when just the channel map has been changed, the infoframe may
      still be up-to-date and non-PCM flag may not have changed, so the new
      channel map is not actually programmed into the HDA codec.
      
      Notably, this failing case is also always triggered when the device is
      already in a prepared state and a new channel map is configured while
      changing only the channel positions (for example, plain
      "speaker-test -c2 -m FR,FL").
      
      Fix that by always programming the channel map in
      hdmi_setup_audio_infoframe(). Tested on Intel HDMI.
      Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      39edac70
  4. 07 Oct, 2013 17 commits
  5. 02 Oct, 2013 1 commit
  6. 30 Sep, 2013 4 commits
  7. 27 Sep, 2013 10 commits
  8. 26 Sep, 2013 4 commits
    • Philipp Zabel's avatar
      ASoC: imx-sgtl5000: Fix uninitialized pointer use in error path · 50d4a790
      Philipp Zabel authored
      This patch avoids to dereference the uninitialized data pointer if the
      error path is entered before devm_kzalloc is called (or if the allocation
      fails). It fixes the following warning:
      
          sound/soc/fsl/imx-sgtl5000.c: In function 'imx_sgtl5000_probe':
          sound/soc/fsl/imx-sgtl5000.c:175:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      50d4a790
    • Philipp Zabel's avatar
      ASoC: imx-sgtl5000: do not use devres on a foreign device · a8b22c1c
      Philipp Zabel authored
      Calling devm_clk_get with any device pointer other than our own confuses
      devres. Use clk_get instead. This avoids hitting the following warning in
      the imx-sgtl5000 error path:
      
      imx-sgtl5000 sound.12: snd_soc_register_card failed (-517)
      platform sound.12: Driver imx-sgtl5000 requests probe deferral
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 75 at drivers/base/dd.c:272 driver_probe_device+0x194/0x218()
      Modules linked in: snd_soc_sgtl5000(+) snd_soc_imx_sgtl5000 coda snd_soc_imx_audmux imx_sdma snd_soc_fsl_spdif snd_soc_fsl_ssi
      CPU: 0 PID: 75 Comm: udevd Not tainted 3.11.0-rc6+ #4682
      Backtrace:
      [<80010bc4>] (dump_backtrace+0x0/0x10c) from [<80010d60>] (show_stack+0x18/0x1c)
       r6:00000110 r5:00000009 r4:00000000 r3:00000000
      [<80010d48>] (show_stack+0x0/0x1c) from [<804f0764>] (dump_stack+0x20/0x28)
      [<804f0744>] (dump_stack+0x0/0x28) from [<8001a4a4>] (warn_slowpath_common+0x6c/0x8c)
      [<8001a438>] (warn_slowpath_common+0x0/0x8c) from [<8001a4e8>] (warn_slowpath_null+0x24/0x2c)
       r8:7f032000 r7:7f02f93c r6:cf8eaa54 r5:cf8eaa20 r4:80728a0c
      [<8001a4c4>] (warn_slowpath_null+0x0/0x2c) from [<80286bdc>] (driver_probe_device+0x194/0x218)
      [<80286a48>] (driver_probe_device+0x0/0x218) from [<80286cf4>] (__driver_attach+0x94/0x98)
       r7:00000000 r6:cf8eaa54 r5:7f02f93c r4:cf8eaa20
      [<80286c60>] (__driver_attach+0x0/0x98) from [<802851c8>] (bus_for_each_dev+0x5c/0x90)
       r6:80286c60 r5:7f02f93c r4:00000000 r3:cf8ef03c
      [<8028516c>] (bus_for_each_dev+0x0/0x90) from [<80286654>] (driver_attach+0x24/0x28)
       r6:806d0424 r5:cf16a580 r4:7f02f93c
      [<80286630>] (driver_attach+0x0/0x28) from [<802861e4>] (bus_add_driver+0xdc/0x234)
      [<80286108>] (bus_add_driver+0x0/0x234) from [<802871d4>] (driver_register+0x80/0x154)
       r8:7f032000 r7:00000001 r6:7f02fa68 r5:7f02fa74 r4:7f02f93c
      [<80287154>] (driver_register+0x0/0x154) from [<8033c278>] (i2c_register_driver+0x34/0xbc)
      [<8033c244>] (i2c_register_driver+0x0/0xbc) from [<7f032018>] (sgtl5000_i2c_driver_init+0x18/0x24 [snd_soc_sgtl5000])
       r5:7f02fa74 r4:cfb7ff48
      [<7f032000>] (sgtl5000_i2c_driver_init+0x0/0x24 [snd_soc_sgtl5000]) from [<80008738>] (do_one_initcall+0xf4/0x150)
      [<80008644>] (do_one_initcall+0x0/0x150) from [<80053f64>] (load_module+0x174c/0x1db4)
      [<80052818>] (load_module+0x0/0x1db4) from [<800546ac>] (SyS_init_module+0xe0/0xf4)
      [<800545cc>] (SyS_init_module+0x0/0xf4) from [<8000e540>] (ret_fast_syscall+0x0/0x30)
       r6:00005b22 r5:00afed68 r4:00000000
      ---[ end trace b24c5c3bb145dbdd ]---
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Reviewed-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      a8b22c1c
    • Takashi Sakamoto's avatar
      ALSA: firewire-lib: use inlune function to calculate frame bytes · e84841f9
      Takashi Sakamoto authored
      Calculating frame bytes can be replaced with inline function in
      include/sound/pcm.h.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e84841f9
    • Alan Stern's avatar
      ALSA: improve buffer size computations for USB PCM audio · 976b6c06
      Alan Stern authored
      This patch changes the way URBs are allocated and their sizes are
      determined for PCM playback in the snd-usb-audio driver.  Currently
      the driver allocates too few URBs for endpoints that don't use
      implicit sync, making underruns more likely to occur.  This may be a
      holdover from before I/O delays could be measured accurately; in any
      case, it is no longer necessary.
      
      The patch allocates as many URBs as possible, subject to four
      limitations:
      
      	The total number of URBs for the endpoint is not allowed to
      	exceed MAX_URBS (which the patch increases from 8 to 12).
      
      	The total number of packets per URB is not allowed to exceed
      	MAX_PACKS (or MAX_PACKS_HS for high-speed devices), which is
      	decreased from 20 to 6.
      
      	The total duration of queued data is not allowed to exceed
      	MAX_QUEUE, which is decreased from 24 ms to 18 ms.
      
      	The total number of ALSA frames in the output queue is not
      	allowed to exceed the ALSA buffer size.
      
      The last requirement is the hardest to implement.  Currently the
      number of URBs needed to fill a buffer cannot be determined in
      advance, because a buffer contains a fixed number of frames whereas
      the number of frames in an URB varies to match shifts in the device's
      clock rate.  To solve this problem, the patch changes the logic for
      deciding how many packets an URB should contain.  Rather than using as
      many as possible without exceeding an ALSA period boundary, now the
      driver uses only as many packets as needed to transfer a predetermined
      number of frames.  As a result, unless the device's clock has an
      exceedingly variable rate, the number of URBs making up each period
      (and hence each buffer) will remain constant.
      
      The overall effect of the patch is that playback works better in
      low-latency settings.  The user can still specify values for
      frames/period and periods/buffer that exceed the capabilities of the
      hardware, of course.  But for values that are within those
      capabilities, the performance will be improved.  For example, testing
      shows that a high-speed device can handle 32 frames/period and 3
      periods/buffer at 48 KHz, whereas the current driver starts to get
      glitchy at 64 frames/period and 2 periods/buffer.
      
      A side effect of these changes is that the "nrpacks" module parameter
      is no longer used.  The patch removes it.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Clemens Ladisch <clemens@ladisch.de>
      Tested-by: default avatarDaniel Mack <zonque@gmail.com>
      Tested-by: default avatarEldad Zack <eldad@fogrefinery.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      976b6c06