1. 24 Sep, 2015 2 commits
    • Dan Carpenter's avatar
      ALSA: core: check for underflow in snd_pcm_sw_params() · 145d92e7
      Dan Carpenter authored
      
      
      As far as I can see, having an invalid ->tstamp_mode is harmless, but
      adding a check silences a static checker warning.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      145d92e7
    • Takashi Sakamoto's avatar
      ALSA: oxfw: add Mackie Onyx Satellite quirk to inform wrong value in 'dbs' field in tx CIP header · 13f3a46d
      Takashi Sakamoto authored
      
      
      Mackie Onyx Satellite has two usage; standalone and with base station.
      
      These two modes has different stream formats. In standalone mode, rx data
      block includes 2 Multi Bit Linear Audio (MBLA) data channels and tx data
      block includes 2. With base station, they're 6 and 2.
      
      Although, with base station, the actual tx packet include wrong value in
      'dbs' field in its CIP header. This quirk causes packet streaming layer to
      detect packet discontinuity and to stop PCM substream.
      
      This is a response of 'single' subfunction 'extended stream format
      information' command in AV/C Stream Format Information Specification 1.1.
      It means that a data block in tx packets includes 2 MBLA data channels.
      
      $ ./firewire-request /dev/fw1 fcp 0x01ffbfc001000000ffffffff
      response: 000: 0c ff bf c0 01 00 00 00 ff 00 90 40 03 02 01 02
      response: 010: 06
      
      Current OXFW driver parses the response and detects stream formats
      correctly.
      
      $ cat /proc/asound/card1/firewire/formation
      ...
      Output Stream from device:
      	Rate	PCM	MIDI
      * 	48000	2	0
       	44100	2	0
       	88200	2	0
      	96000	2	0
      
      On the other hand, in actual tx CIP, the 'dbs' field has 6. But the number
      of quadlets in CIP payload is not multiple of 6. Seeing the subtraction of
      two successive payload quadlets, it should be multiple of 2.
      
      payload  CIP      CIP
      quadlets header0  header1
            24 00060052 9002ffff
            24 0006005e 9002ffff
            26 0006006a 9002ffff
            24 00060077 9002ffff
            24 00060083 9002ffff
            26 0006008f 9002ffff
            24 0006009c 9002ffff
            24 000600a8 9002ffff
            26 000600b4 9002ffff
            24 000600c1 9002ffff
      
      This commit adds support for this quirk to OXFW driver, by using
      CIP_WRONG_DBS flag. When this flag is set, packet streaming layer uses
      the value of its 'data_block_quadlets' member instead of the value in CIP
      header. This value is already set by OXFW driver and no discontinuity is
      detected.
      
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      13f3a46d
  2. 13 Sep, 2015 1 commit
    • Takashi Sakamoto's avatar
      ALSA: pcm: remove structure member of 'struct snd_pcm_hwptr_log *' type... · 0052b7dc
      Takashi Sakamoto authored
      ALSA: pcm: remove structure member of 'struct snd_pcm_hwptr_log *' type because this structure had been removed
      
      This structure was added by 4d96eb25 ('ALSA: pcm_lib - add possibility
      to log last 10 DMA ring buffer positions') to store PCM pointers
      information of latest 10 pointer movements (=XRUN_LOG_CNT). When
      CONFIG_SND_PCM_XRUN_DEBUG is configured, 'struct snd_pcm_runtime' has
      'hwptr_log' member with a pointer to the structure. When calling
      xrun_log() in pcm_lib.c, the structure was allocated to the pointer.
      When calling snd_pcm_detach_substream() in pcm.c, the allocated pointer
      is released.
      
      In f5914908 ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints'),
      the pointer logging is replaced with using Linux Kernel Tracepoints. The
      structure was also removed, while it's just declared. The member and kfree
      still remains.
      
      This commit removes the member and related codes. I think this was
      overlooked because it brings no errors/warnings to C compilers.
      
      Fixes: f5914908
      
       ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints')
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0052b7dc
  3. 11 Sep, 2015 1 commit
  4. 07 Sep, 2015 1 commit
    • Johan Rastén's avatar
      ALSA: usb-audio: Change internal PCM order · 5ee20bc7
      Johan Rastén authored
      
      
      New PCMs will now be added to the end of the chip's PCM list instead of to the
      front. This changes the way streams are combined so that the first capture
      stream will now be merged with the first playback stream instead of the last.
      
      This fixes a problem with ASUS U7. Cards with one playback stream and cards
      without capture streams should be unaffected by this change.
      
      Exception added for M-Audio Audiophile USB (tm) since it seems to have a fix to
      swap capture stream numbering in alsa-lib conf/cards/USB-audio.conf
      
      Signed-off-by: default avatarJohan Rastén <johan@oljud.se>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5ee20bc7
  5. 05 Sep, 2015 3 commits
  6. 04 Sep, 2015 2 commits
  7. 03 Sep, 2015 2 commits
  8. 02 Sep, 2015 5 commits
  9. 31 Aug, 2015 1 commit
    • Takashi Iwai's avatar
      Merge tag 'asoc-v4.2-rc8' of... · 08ceab9d
      Takashi Iwai authored
      Merge tag 'asoc-v4.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Updates for v4.3
      
      Not many updates to the core here, but an awful lot of driver updates
      this time round:
      
       - Factoring out of AC'97 reset code into the core
       - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
         RT298 and ST STI controllers.
       - Machine drivers for Rockchip systems with MAX98090 and RT5645 and
         RT5650.
       - Initial driver support for Intel Skylake devices.
       - A large number of cleanups for Lars-Peter Clausen and Axel Lin.
      08ceab9d
  10. 30 Aug, 2015 22 commits