10 Dec, 2014

1 commit

  • This interface is designed for mixer/control application. By using this
    interface, an application can get information about firewire node, can
    lock/unlock kernel streaming and can get notification at starting/stopping
    kernel streaming.

    Signed-off-by: Takashi Sakamoto
    Acked-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

29 Nov, 2014

1 commit


21 Nov, 2014

1 commit


11 Nov, 2014

1 commit


29 Oct, 2014

1 commit


08 Sep, 2014

1 commit

  • XMOS based USB DACs with native DSD support expose this feature via a USB
    alternate setting. The audio format is either 32-bit raw or a 32-bit PCM format.
    To utilize this feature on linux this patch introduces a new 32-bit DSD
    sampleformat DSD_U32_LE.
    A follow up patch will add a quirk for XMOS based devices to utilize the new format.
    Further patches will add support to alsa-lib.

    Signed-off-by: Jurgen Kramer
    Signed-off-by: Takashi Iwai

    Jurgen Kramer
     

21 Jul, 2014

1 commit

  • For controlling the new fields more strictly, add sw_params.proto
    field indicating the protocol version of the user-space. User-space
    should fill the SNDRV_PCM_VERSION value it's built with, then kernel
    can know whether the new fields should be evaluated or not.

    And now tstamp_type field is evaluated only when the valid value is
    set there. This avoids the wrong override of tstamp_type to zero,
    which is SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Jul, 2014

2 commits

  • For allowing adjusting the timestamp type on the fly, add it to
    sw_params. The existing ioctl is still kept for compatibility.

    Along with this, increment the PCM protocol version.

    The extension was suggested by Clemens Ladisch.

    Acked-by: Jaroslav Kysela
    Reviewed-by: Mark Brown
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • For applications which need to synchronise with external timebases such
    as broadcast TV applications the kernel monotonic time is not optimal as
    it includes adjustments from NTP and so may still include discontinuities
    due to that. A raw monotonic time which does not include any adjustments
    is available in the kernel from getrawmonotonic() so provide userspace with
    a new timestamp type SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW which provides
    timestamps based on this as an option.

    [dropped tstamp_type assignment code, as it's no longer needed -- tiwai]

    Reported-by: Daniel Thompson
    Signed-off-by: Mark Brown
    Acked-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Mark Brown
     

23 Jun, 2014

1 commit

  • In 64bit systems the compiler can default align to 8bytes causing mis-match with
    32bit usermode. Avoid this is future by ensuring all the structures shared with
    usermode are packed and aligned to 4 bytes irrespective of arch used

    [coding style fixes by tiwai]

    Signed-off-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Vinod Koul
     

12 Jun, 2014

1 commit


26 May, 2014

3 commits

  • This interface is designed for mixer/control application. By using hwdep
    interface, the application can get information about firewire node, can
    lock/unlock kernel streaming and can get notification at starting/stopping
    kernel streaming.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • This commit adds two functionality for hwdep interface, adds two parameters for
    this driver, add a node for proc interface.

    To receive responses from devices, this driver already allocate own callback
    into initial memory space in host controller. This means no one can allocate
    its own callback to the address. So this driver must give a way for user
    applications to receive responses.

    This commit adds a functionality to receive responses via hwdep interface. The
    application can receive responses to read from this interface. To achieve this,
    this commit adds a buffer to queue responses. The default size of this buffer is
    1024 bytes. This size can be changed to give preferrable size to
    'resp_buf_size' parameter for this driver. The application should notice rest
    of space in this buffer because this driver don't push responses when this
    buffer has no space.

    Additionaly, this commit adds a functionality to transmit commands via hwdep
    interface. The application can transmit commands to write into this interface.
    I note that the application can transmit one command at once, but can receive
    as many responses as possible untill the user-buffer is full.

    When using these interfaces, the application must keep maximum number of
    sequence number in command within the number in firewire.h because this driver
    uses this number to distinguish the response is against the command by the
    application or this driver.

    Usually responses against commands which the application transmits are pushed
    into this buffer. But to enable 'resp_buf_debug' parameter for this driver, all
    responses are pushed into the buffer. When using this mode, I reccomend to
    expand the size of buffer.

    Finally this commit adds a new node into proc interface to output status of the
    buffer.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • This interface is designed for mixer/control application. To use hwdep
    interface, the application can get information about firewire node, can
    lock/unlock kernel streaming and can get notification at starting/stopping
    kernel streaming.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

08 Jan, 2014

1 commit


05 Jan, 2014

2 commits


16 Dec, 2013

1 commit


10 Dec, 2013

1 commit

  • snd_pcm_uframes_t is defined as unsigned long so it would take
    different sizes depending on 32 or 64bit architectures. As we don't
    want this ABI incompatibility, and there is no real 64bit user yet,
    let's make it the fixed size with __u32.

    Also bump the protocol version number to 0.1.2.

    Acked-by: Vinod Koul
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

07 Nov, 2013

1 commit

  • When installing, "scripts/headers_install.sh" will strip guard macro'
    "_UAPI" to prevent from appearing it to users. And also, all another
    files which need uapi prefix always use "_UAPI", not "UAPI".

    So use "_UAPI" instead of "UAPI" on the guard macro, and also give a
    comment for "#endif".

    Signed-off-by: Chen Gang
    Acked-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Chen Gang
     

22 Oct, 2013

1 commit


18 Oct, 2013

1 commit

  • As a start point for further development, this is an incomplete driver
    for DICE devices:
    - only playback (so no clock source except the bus clock)
    - only 44.1 kHz
    - no MIDI
    - recovery after bus reset is slow
    - hwdep device is created, but not actually implemented

    Contains compilation fixes by Stefan Richter.

    Signed-off-by: Clemens Ladisch

    Clemens Ladisch
     

20 Aug, 2013

1 commit

  • Use struct hdspm_ltc to query the LTC, using a mixer struct is just
    plain wrong.

    Due to the wrong struct, this ioctl was never working, so we're free to
    fix it without breaking userspace compatibility.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     

28 Jun, 2013

1 commit


18 Apr, 2013

1 commit

  • This patch adds two formats for Direct Stream Digital (DSD), a
    pulse-density encoding format which is described here:
    https://en.wikipedia.org/wiki/Direct_Stream_Digital

    DSD operates on 2.8, 5.6 or 11.2MHz sample rates and as a 1-bit
    stream.

    The two new types added by this patch describe streams that are capable
    of handling DSD samples in DOP format as 8-bit or in 16-bit (or at a x8
    or x16 data rate, respectively).

    DSD itself specifies samples in *bit*, while DOP and ALSA handle them
    as *bytes*. Hence, a factor of 8 or 16 has to be applied for the sample
    rare configuration, according to the following table:

    configured hardware
    176.4KHz 352.8kHz 705.6KHz
    Signed-off-by: Takashi Iwai

    Daniel Mack
     

14 Feb, 2013

1 commit

  • this add new API for sound compress to support gapless playback.
    As noted in Documentation change, we add API to send metadata of encoder and
    padding delay to DSP. Also add API for indicating EOF and switching to
    subsequent track

    Also bump the compress API version

    Signed-off-by: Jeeja KP
    Signed-off-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Jeeja KP
     

26 Nov, 2012

1 commit


28 Oct, 2012

1 commit

  • Commit 4eeaaeaea (ALSA: core: add hooks for audio timestamps) added the
    new audio_tstamp field to struct snd_pcm_status. However, struct
    timespec requires 64-bit alignment, so the 64-bit compiler would insert
    32 bits of padding before this field, which broke SNDRV_PCM_IOCTL_STATUS
    with error messages like this:

    kernel: unknown ioctl = 0x80984120

    To solve this, insert the padding explicitly so that it can be taken
    into account when calculating the ABI structure size.

    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai

    Clemens Ladisch
     

23 Oct, 2012

1 commit

  • ALSA did not provide any direct means to infer the audio time for A/V
    sync and system/audio time correlations (eg. PulseAudio).
    Applications had to track the number of samples read/written and
    add/subtract the number of samples queued in the ring buffer. This
    accounting led to small errors, typically several samples, due to the
    two-step process. Computing the audio time in the kernel is more
    direct, as all the information is available in the same routines.

    Also add new .audio_wallclock routine to enable fine-grain synchronization
    between monotonic system time and audio hardware time.
    Using the wallclock, if supported in hardware, allows for a
    much better sub-microsecond precision and a common drift tracking for
    all devices sharing the same wall clock (master clock).

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Takashi Iwai

    Pierre-Louis Bossart
     

09 Oct, 2012

1 commit


03 Oct, 2012

1 commit