<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/uapi/sound/asound.h, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-06-27T11:55:46Z</updated>
<entry>
<title>ALSA: pcm: Add an ioctl to specify the supported protocol version</title>
<updated>2017-06-27T11:55:46Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2017-06-19T21:11:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b671f57747468d7c810caaf955f79ff1aece4d4'/>
<id>urn:sha1:4b671f57747468d7c810caaf955f79ff1aece4d4</id>
<content type='text'>
We have an ioctl to inform the PCM protocol version the running kernel
supports, but there is no way to know which protocol version the
user-space can understand.  This lack of information caused headaches
in the past when we tried to extend the ABI.  For example, because we
couldn't guarantee the validity of the reserved bytes, we had to
introduce a new ioctl SNDRV_PCM_IOCTL_STATUS_EXT for assigning a few
new fields in the formerly reserved bits.  If we could know that it's
a new alsa-lib, we could assume the availability of the new fields,
thus we could have reused the existing SNDRV_PCM_IOCTL_STATUS.

In order to improve the ABI extensibility, this patch adds a new ioctl
for user-space to inform its supporting protocol version to the
kernel.  By reporting the supported protocol from user-space, the
kernel can judge which feature should be provided and which not.

With the addition of the new ioctl, the PCM protocol version is bumped
to 2.0.14, too.  User-space checks the kernel protocol version via
SNDRV_PCM_INFO_PVERSION, then it sets the supported version back via
SNDRV_PCM_INFO_USER_PVERSION.

Reviewed-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: pcm: Add the explicit appl_ptr sync support</title>
<updated>2017-06-23T13:39:47Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2017-06-19T20:39:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=42f945970af9df6216e3d771b4df371d02d8742c'/>
<id>urn:sha1:42f945970af9df6216e3d771b4df371d02d8742c</id>
<content type='text'>
Currently x86 platforms use the PCM status/control mmaps for
transferring the PCM status and appl_ptr between kernel and
user-spaces.  The mmap is a most efficient way of communication, but
it has a drawback per its nature, namely, it can't notify the change
explicitly to kernel.

The lack of appl_ptr update notification is a problem on a few
existing drivers, but it's mostly a small issue and negligible.
However, a new type of driver that uses DSP for a deep buffer
management requires the exact position of appl_ptr for calculating the
buffer prefetch size, and the asynchronous appl_ptr update between
kernel and user-spaces becomes a significant problem for it.

How can we enforce user-space to report the appl_ptr update?  The way
is relatively simple.  Just by disabling the PCM control mmap, the
user-space is supposed to fall back to the mode using SYNC_PTR ioctl,
and the kernel gets control over that.  This fallback mode is used in
all non-x86 platforms as default, and also in the 32bit compatible
model on all platforms including x86.  It's been implemented already
over a decade, so we can say it's fairly safe and stably working.

With the help of the knowledge above, this patch introduces a new PCM
info flag SNDRV_PCM_INFO_SYNC_APPLPTR for achieving the appl_ptr sync
from user-space.  When a driver sets this flag at open, the PCM status
/ control mmap is disabled, which effectively switches to SYNC_PTR
mode in user-space side.

In this version, both PCM status and control mmaps are disabled
although only the latter, control mmap, is the target.  It's because
the current alsa-lib implementation supposes that both status and
control mmaps are always coupled, thus it handles a fatal error when
only one of them fails.

Of course, the disablement of the status/control mmaps may bring a
slight performance overhead.  Thus, as of now, this should be used
only for the dedicated devices that deserves.

Note that the disablement of mmap is a sort of workaround.  In the
later patch, we'll introduce the way to identify the protocol version
alsa-lib supports, and keep mmap working while the sync_ptr is
performed together.

Reviewed-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: fireface: add hwdep interface</title>
<updated>2017-04-05T19:31:49Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2017-03-31T13:06:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f656edd5fb33d889561978b81ec2897087c2f4ca'/>
<id>urn:sha1:f656edd5fb33d889561978b81ec2897087c2f4ca</id>
<content type='text'>
This commit adds hwdep interface so as the other drivers for audio and
music units on IEEE 1394 have.

This interface is designed for mixer/control applications. 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 &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire-motu: add hwdep interface</title>
<updated>2017-03-28T10:34:02Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2017-03-22T12:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=71c3797779d3cd8378767f5b2d8cfd3b2f88c5c1'/>
<id>urn:sha1:71c3797779d3cd8378767f5b2d8cfd3b2f88c5c1</id>
<content type='text'>
This commit adds hwdep interface so as the other sound drivers for units
on IEEE 1394 bus have.

This interface is designed for mixer/control applications. 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 &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: line6: Add hwdep interface to access the POD control messages</title>
<updated>2016-09-19T21:03:47Z</updated>
<author>
<name>Andrej Krutak</name>
</author>
<published>2016-09-18T18:59:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a16039cbf1a1ee7e76d7d100f9e613998919ab91'/>
<id>urn:sha1:a16039cbf1a1ee7e76d7d100f9e613998919ab91</id>
<content type='text'>
We must do it this way, because e.g. POD X3 won't play any sound unless
the host listens on the bulk EP, so we cannot export it only via libusb.

The driver currently doesn't use the bulk EP messages in other way,
in future it could e.g. sense/modify volume(s).

Signed-off-by: Andrej Krutak &lt;dev@andree.sk&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: timer: remove legacy rtctimer</title>
<updated>2016-04-25T08:41:46Z</updated>
<author>
<name>Alexandre Belloni</name>
</author>
<published>2016-04-23T00:58:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34ce71a96dcba24c71b07f1b087bd179b885784d'/>
<id>urn:sha1:34ce71a96dcba24c71b07f1b087bd179b885784d</id>
<content type='text'>
There are no users of rtctimer left. Remove its code as this is the
in-kernel user of the legacy PC RTC driver that will hopefully be removed
at some point.

Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: uapi: Make alsa asound.h header more portable</title>
<updated>2016-03-04T09:50:48Z</updated>
<author>
<name>Thomas Klausner</name>
</author>
<published>2016-03-03T15:28:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59e4282717cb2adbfd12314ff484669a85827412'/>
<id>urn:sha1:59e4282717cb2adbfd12314ff484669a85827412</id>
<content type='text'>
This header is used as-is in the alsa-lib userland library,
which is portable to other operating systems.
For this reason, include linux/types.h only on Linux systems.

Add sys/ioctl.h for _IOR/_IOW/etc. (works at least on *BSD and Solaris).

Signed-off-by: Thomas Klausner &lt;wiz@NetBSD.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire-tascam: add hwdep interface</title>
<updated>2015-10-02T16:17:04Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-10-01T13:02:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e5e0c3dd257bf34cf001e10422943f90437f0f1b'/>
<id>urn:sha1:e5e0c3dd257bf34cf001e10422943f90437f0f1b</id>
<content type='text'>
This commit adds hwdep interface so as the other IEEE 1394 sound devices
has.

This interface is designed for mixer/control applications. 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 &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire-digi00x: add hwdep interface</title>
<updated>2015-09-30T13:36:56Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-09-30T00:39:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=660dd3d52ead45b8e60dcf966daf304de2121a28'/>
<id>urn:sha1:660dd3d52ead45b8e60dcf966daf304de2121a28</id>
<content type='text'>
This commit adds hwdep interface so as the other sound drivers for units
on IEEE 1394 bus have.

This interface is designed for mixer/control applications. 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 &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN</title>
<updated>2015-04-18T07:05:55Z</updated>
<author>
<name>Vinod Koul</name>
</author>
<published>2015-04-17T17:23:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43c499dc2778b96e21ed14e1a71e7b117a0b406f'/>
<id>urn:sha1:43c499dc2778b96e21ed14e1a71e7b117a0b406f</id>
<content type='text'>
we have defined SNDRV_CTL_ELEM_ID_NAME_MAXLEN as size of name array so use
this define instead of numeric value

Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
