<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/firewire/fireface, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-12-16T09:18:31Z</updated>
<entry>
<title>ALSA: fireface: code refactoring to handle model-specific registers</title>
<updated>2018-12-16T09:18:31Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-16T08:32:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d1ef1bbfed5f903aaab743a08bde41cc372d646'/>
<id>urn:sha1:6d1ef1bbfed5f903aaab743a08bde41cc372d646</id>
<content type='text'>
As a result of investigation for Fireface 800, 'struct snd_ff_spec.regs'
is just for higher address to receive tx asynchronous packets of MIDI
messages, thus it can be simplified.

This commit simplifies it.

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: fireface: add support for packet streaming on Fireface 800</title>
<updated>2018-12-16T09:18:29Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-16T08:32:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc716397a5c7a20247a39c9347fb7a543e0ae4ad'/>
<id>urn:sha1:fc716397a5c7a20247a39c9347fb7a543e0ae4ad</id>
<content type='text'>
This commit adds a functionality to multiplex PCM frames into isochronous
packets and demultiplex PCM frames from isochronous packets for ALSA PCM
applications.

Fireface 800 voluntarily maintains resources for tx isochronous
communication.  It performs reservation of isochronous channel and
allocation/update of bandwidth in some cases below:
 - at a first request to allocation after bus resets
 - at requests to allocation when further bandwidth is required

When request is grant and the unit is prepared, read data from
0x0000801c0008 represents isochronous channel for tx stream, then
the unit can handle requests to start communication. If driver
send the request without checking the register, the unit takes
panic to continue bus resets. The unit starts transmission of
tx packets after receiving several rx packets from driver.

I note that the unit can process tx/rx packets and generate/record
sound regardless of HOST LED.

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: fireface: allocate isochronous resources in mode-specific implementation</title>
<updated>2018-12-16T09:18:27Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-16T08:32:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=365c00d0b91bb347945982845c9af1b7c0f2bdce'/>
<id>urn:sha1:365c00d0b91bb347945982845c9af1b7c0f2bdce</id>
<content type='text'>
The way to maintain isochronous resources on bus is different between
Fireface 400/800.

This commit is a preparation. This commit moves a function to allocate resource to
model-dependent implementation.

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: fireface: code refactoring to handle multiplier mode</title>
<updated>2018-12-16T09:18:25Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-16T08:32:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76ea46887729d0765b1fd39291a69c2c6781ada0'/>
<id>urn:sha1:76ea46887729d0765b1fd39291a69c2c6781ada0</id>
<content type='text'>
Fireface 400/800 use three modes against the number of data channels in
data block for both tx/rx packets.

This commit adds refactoring for it. Some enumerators are added to
represent each of mode and a function is added to calculate the mode
from sampling frequency code (sfc).

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: fireface: share helper function to switch fetching mode</title>
<updated>2018-12-16T09:18:23Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-16T08:32:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4a0b6cbf26ce7c22bcb070595957590736fec85'/>
<id>urn:sha1:d4a0b6cbf26ce7c22bcb070595957590736fec85</id>
<content type='text'>
Both of Fireface 400/800 have the same register to switch frame fetching
mode regardless of difference of available number of PCM frames in
rx isochronous packet.

This commit moves a helper function from model-dependent implementation.

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: fireface: fix for state to fetch PCM frames</title>
<updated>2018-12-16T09:11:29Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-15T10:06:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d16200a3e55a39caa1c88419cb559c00316f721'/>
<id>urn:sha1:3d16200a3e55a39caa1c88419cb559c00316f721</id>
<content type='text'>
According to my memo at hand and saved records, writing 0x00000001 to
SND_FF_REG_FETCH_PCM_FRAMES disables fetching PCM frames in corresponding
channel, however current implement uses reversed logic. This results in
muted volume in device side during playback.

This commit corrects the bug.

Cc: &lt;stable@vger.kernel.org&gt; # v4.12+
Fixes: 76fdb3a9e13a ('ALSA: fireface: add support for Fireface 400')
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: fireface: add support for Fireface 800 with MIDI functionality only</title>
<updated>2018-12-11T13:58:01Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-11T10:17:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a91f676074c05b3c455700b90849adcfda50079e'/>
<id>urn:sha1:a91f676074c05b3c455700b90849adcfda50079e</id>
<content type='text'>
Fireface 800 is a flagship model of RME GmbH for audio and music units
on IEEE 1394 bus, shipped 2004. This model consists of four chips:
 - TI TSB81BA3D for physical layer on cable environment of EEE 1394 bus
 - TI TSB82AA2 for link layer for 1394 OHCI bus bridge to PCI bus
 - Xilinx Spartan-3 FPGA XC3S400
 - Xilinx High-Performance CPLD XC9572XL

This commit adds support Fireface 800. In this time, the support is
restricted to its MIDI functionality, thus this commit adds some
condition statements to avoid touching streaming functionality.

Unlike Fireface 400, Fireface 800 has no functionality to suppress
asynchronous transactions for MIDI messages except for unregister of
listen address in controller side, thus the feature is available as is.

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: fireface: localize a handler for MIDI messages on tx transaction</title>
<updated>2018-12-11T13:57:38Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-11T10:17:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aef4ad2f5aa27ec05f0306547bcf7cf86a9e9873'/>
<id>urn:sha1:aef4ad2f5aa27ec05f0306547bcf7cf86a9e9873</id>
<content type='text'>
Content of asynchronous transaction for MIDI messages differs between
Fireface 400 and 800.

This commit adds a model-specific handler for the transaction and adds
arrangement.

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: fireface: add driver data for register for MIDI high address</title>
<updated>2018-12-11T13:57:16Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-11T10:17:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3eb8a24459491acc40440b655ca640c87125c5a3'/>
<id>urn:sha1:3eb8a24459491acc40440b655ca640c87125c5a3</id>
<content type='text'>
Fireface 400 and 800 have the same mechanism to decide address to which
asynchronous transactions are sent for MIDI messages, however they use
different registers for controllers to notify higher 4 byte of the
address.

This commit adds a model-specific parameter to represent the address.
Additionally, it corrects some comments. I note that these two models have
a difference to enable/disable the transaction.

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: fireface: share register for async transaction of MIDI messages</title>
<updated>2018-12-11T13:56:58Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-12-11T10:17:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0085c6edabe85fd39d6ad4340dba2587511e2b3e'/>
<id>urn:sha1:0085c6edabe85fd39d6ad4340dba2587511e2b3e</id>
<content type='text'>
As long as investigating packet dumps from Fireface 400/800, a register
to receive asynchronous transactions for MIDI messages is the same. For
Fireface 800, minor register is used.

This commit declares macros for the transactions and obsoletes
model-specific parameters.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
