<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/sound, branch tegra-9.12.12.1</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>[tegra ALSA] Updating sndfx header file</title>
<updated>2010-05-13T20:54:08+00:00</updated>
<author>
<name>Vijay Mali</name>
<email>vmali@nvidia.com</email>
</author>
<published>2010-05-13T12:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5739789393f37094e465b1f17ebc962e345757c6'/>
<id>5739789393f37094e465b1f17ebc962e345757c6</id>
<content type='text'>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

For bug 686588
synopsis: Incosistent kernel panic while running ALSA decode tests
Change-Id: Idc121a467a7c5460d0aa68416232d07b539b2a45
Reviewed-on: http://git-master/r/1379
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

For bug 686588
synopsis: Incosistent kernel panic while running ALSA decode tests
Change-Id: Idc121a467a7c5460d0aa68416232d07b539b2a45
Reviewed-on: http://git-master/r/1379
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra ALSA: Do not queue buffers to the mixer in stopped state</title>
<updated>2010-05-10T17:52:45+00:00</updated>
<author>
<name>Sandeep Shinde</name>
<email>sashinde@nvidia.com</email>
</author>
<published>2010-05-08T14:15:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=115234ca014caa7d19774a97d81b6198a83ccc56'/>
<id>115234ca014caa7d19774a97d81b6198a83ccc56</id>
<content type='text'>
In SNDRV_PCM_TRIGGER_STOP state of the driver, if a buffer gets
queued then it might not be returned back as it never gets rendered.
In this scenario play_thread never exits as it keep on waiting for
receiving all the buffers back from mixer before exiting.

This is to solve bug 684393.

In case of START-&gt;STOP-&gt;START scenario (happens in case of underruns),
without closing the stream, there will not be any buffer loss as buffers
are queued by application at appl_ptr and they remain there, once next
START is called, they will be picked up for the playback.

Change-Id: I4536e35bc59a6a4d67b24d9a8dc57a738ec695e3
Reviewed-on: http://git-master/r/1323
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
Tested-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In SNDRV_PCM_TRIGGER_STOP state of the driver, if a buffer gets
queued then it might not be returned back as it never gets rendered.
In this scenario play_thread never exits as it keep on waiting for
receiving all the buffers back from mixer before exiting.

This is to solve bug 684393.

In case of START-&gt;STOP-&gt;START scenario (happens in case of underruns),
without closing the stream, there will not be any buffer loss as buffers
are queued by application at appl_ptr and they remain there, once next
START is called, they will be picked up for the playback.

Change-Id: I4536e35bc59a6a4d67b24d9a8dc57a738ec695e3
Reviewed-on: http://git-master/r/1323
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
Tested-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra ALSA: Replacing completion object with wait_queue_head_t</title>
<updated>2010-05-07T23:42:36+00:00</updated>
<author>
<name>Sandeep Shinde</name>
<email>sashinde@nvidia.com</email>
</author>
<published>2010-05-06T05:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e305d3434e6015c6b9276cfdbc6a736736edcf01'/>
<id>e305d3434e6015c6b9276cfdbc6a736736edcf01</id>
<content type='text'>
Following are the changes done:
- Removed completion object appl_ptr_comp used for waiting for app buffers
  when buffer_in_quque=0.
- If a completion object wakes-up after every 120 seconds if not signalled
  during that time.
- Now using wait_queue_head_t which suits the purpose better.
- Removed play_thread running dependency on shutdown_thrd as it is no more
  required.
- Removed label EXIT from play_thread

All these changes were done based on comments from Google. Refer to
below issues for the complete discussion.

http://codereview.chromium.org/1705013/show
Change-Id: Id902a73f704ddf38ec8b9071bc36ee0f6db89f30
Reviewed-on: http://git-master/r/1305
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following are the changes done:
- Removed completion object appl_ptr_comp used for waiting for app buffers
  when buffer_in_quque=0.
- If a completion object wakes-up after every 120 seconds if not signalled
  during that time.
- Now using wait_queue_head_t which suits the purpose better.
- Removed play_thread running dependency on shutdown_thrd as it is no more
  required.
- Removed label EXIT from play_thread

All these changes were done based on comments from Google. Refer to
below issues for the complete discussion.

http://codereview.chromium.org/1705013/show
Change-Id: Id902a73f704ddf38ec8b9071bc36ee0f6db89f30
Reviewed-on: http://git-master/r/1305
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra ALSA : Handle Underrun Case</title>
<updated>2010-05-04T03:20:08+00:00</updated>
<author>
<name>Manjula Gupta</name>
<email>magupta@nvidia.com</email>
</author>
<published>2010-04-30T09:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aa90b701692003f03ed4bd3a0d89a8091bed26e9'/>
<id>aa90b701692003f03ed4bd3a0d89a8091bed26e9</id>
<content type='text'>
In case of underrun application triggers stop and starts
the playback again, don't exit the thread in case of stop.
underrun can happen when an application does not feed new
samples in time to alsa-lib (due to CPU usage). With this
change breaks may be observed in case of underrun which
cannot be avoided, but the application will finish the
playback and exits gracefully.

For bug:663146 [LDK/Chromium/ALSA/Stability] "underrun!!!"
(pcm_write:1442: write error: Input/output error) issues
in ALSA while playback.

Change-Id: Ib9b30461b4e381a66c3fd48467406e448aa41a17
Reviewed-on: http://git-master/r/1257
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of underrun application triggers stop and starts
the playback again, don't exit the thread in case of stop.
underrun can happen when an application does not feed new
samples in time to alsa-lib (due to CPU usage). With this
change breaks may be observed in case of underrun which
cannot be avoided, but the application will finish the
playback and exits gracefully.

For bug:663146 [LDK/Chromium/ALSA/Stability] "underrun!!!"
(pcm_write:1442: write error: Input/output error) issues
in ALSA while playback.

Change-Id: Ib9b30461b4e381a66c3fd48467406e448aa41a17
Reviewed-on: http://git-master/r/1257
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra ALSA: Fixing kernel build break</title>
<updated>2010-04-28T03:46:27+00:00</updated>
<author>
<name>Sandeep Shinde</name>
<email>sashinde@nvidia.com</email>
</author>
<published>2010-04-28T03:22:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=654afa0eec64f681b9fa0e471186f6853f76c11b'/>
<id>654afa0eec64f681b9fa0e471186f6853f76c11b</id>
<content type='text'>
Kernel build is broken with the last changes that were
commited with below commit Id.

Commit Id: 1a6769405dbaa37775....

Change-Id: I7249e9e149545fa230ea1e61edf96175748073f3
Reviewed-on: http://git-master/r/1232
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
Reviewed-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
Tested-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kernel build is broken with the last changes that were
commited with below commit Id.

Commit Id: 1a6769405dbaa37775....

Change-Id: I7249e9e149545fa230ea1e61edf96175748073f3
Reviewed-on: http://git-master/r/1232
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
Reviewed-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
Tested-by: Sandeep Shinde &lt;sashinde@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tegra ALSA: Fixing a hang in streaming playback</title>
<updated>2010-04-28T00:23:51+00:00</updated>
<author>
<name>Sandeep Shinde</name>
<email>sashinde@nvidia.com</email>
</author>
<published>2010-04-26T09:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1a6769405dbaa37775cf8ea0018f57d93d171319'/>
<id>1a6769405dbaa37775cf8ea0018f57d93d171319</id>
<content type='text'>
In playback, play_thread hangs in case there is no
continuous flow of buffers. That is when buffer_queue
variable becomes 0 inside play_thread, it might hang on
waiting for a semaphore. This conditions always happens in
case of streaming playback, where buffer supply may not be
continuous at the start.

Resolved this hang by making use
of ack function available for ALSA driver, this function
is called from ALSA middleware whenever application buffer
is supplied.

Incorporated few more review comments.

Fix for bug 674653
Synopsis: kernel spam when playing flash videos

Change-Id: I4eeebdc3369b02b849955bd8dab1f8172a85c407
Reviewed-on: http://git-master/r/1211
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In playback, play_thread hangs in case there is no
continuous flow of buffers. That is when buffer_queue
variable becomes 0 inside play_thread, it might hang on
waiting for a semaphore. This conditions always happens in
case of streaming playback, where buffer supply may not be
continuous at the start.

Resolved this hang by making use
of ack function available for ALSA driver, this function
is called from ALSA middleware whenever application buffer
is supplied.

Incorporated few more review comments.

Fix for bug 674653
Synopsis: kernel spam when playing flash videos

Change-Id: I4eeebdc3369b02b849955bd8dab1f8172a85c407
Reviewed-on: http://git-master/r/1211
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[tegra ALSA] Updating sndfx header file</title>
<updated>2010-04-20T15:45:48+00:00</updated>
<author>
<name>Vijay Mali</name>
<email>vmali@nvidia.com</email>
</author>
<published>2010-04-20T08:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f1801279d7f8480cb8643bf23b8306d2ea07219d'/>
<id>f1801279d7f8480cb8643bf23b8306d2ea07219d</id>
<content type='text'>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

For bug 676616
synopsis: ALSA is Broken
Change-Id: Ic3eca9e88c861169bcbcc829a621adc40ea2bea7
Reviewed-on: http://git-master/r/1158
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

For bug 676616
synopsis: ALSA is Broken
Change-Id: Ic3eca9e88c861169bcbcc829a621adc40ea2bea7
Reviewed-on: http://git-master/r/1158
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[tegra ALSA] Updating sndfx header file</title>
<updated>2010-04-13T16:22:12+00:00</updated>
<author>
<name>Manjula Gupta</name>
<email>magupta@nvidia.com</email>
</author>
<published>2010-04-12T14:15:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=48444f251c3c0cfec8aee192e4abe26a65e9f942'/>
<id>48444f251c3c0cfec8aee192e4abe26a65e9f942</id>
<content type='text'>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

Change-Id: Ibfa400fcf1b62c55f169d427ae40aa9467d13f82
Reviewed-on: http://git-master/r/1079
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to keep sndfx file in sync with audiofx header
file updating tegra_sndfx.h with structures and
definitions, made the corresponding changes in code.
Verified both playback and record are working fine.

Change-Id: Ibfa400fcf1b62c55f169d427ae40aa9467d13f82
Reviewed-on: http://git-master/r/1079
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ALSA]: Fix Record Hang</title>
<updated>2010-03-31T22:48:08+00:00</updated>
<author>
<name>Manjula Gupta</name>
<email>magupta@nvidia.com</email>
</author>
<published>2010-03-31T12:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f7993d029dca1275c292b11e4e04006ce470d98b'/>
<id>f7993d029dca1275c292b11e4e04006ce470d98b</id>
<content type='text'>
- Don't signal the shutdown thread until the thread
  process the SNDRV_PCM_TRIGGER_STOP call. The Kthread_stop()
  call is a blocking call that waits until the kthread_should_stop()
  returns.

- Set the prtd-&gt;state to SNDRV_PCM_TRIGGER_STOP in pcm_common_close
  specifically to ensure proper clean-up and to handle the case
  where application exits without triggering the STOP call.

- wait for the buffer done notification for the buffers queued in
  before setting mixer state to stop.

- For Bug 667787 [LDK/Whistler/ALSA]"arecord" app hung
  with DVD quality .raw audio recording (Mono/Stereo).

Change-Id: Id9c13bbd2dd0b5f90b3c545677eddfa05849c45f
Reviewed-on: http://git-master/r/997
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Don't signal the shutdown thread until the thread
  process the SNDRV_PCM_TRIGGER_STOP call. The Kthread_stop()
  call is a blocking call that waits until the kthread_should_stop()
  returns.

- Set the prtd-&gt;state to SNDRV_PCM_TRIGGER_STOP in pcm_common_close
  specifically to ensure proper clean-up and to handle the case
  where application exits without triggering the STOP call.

- wait for the buffer done notification for the buffers queued in
  before setting mixer state to stop.

- For Bug 667787 [LDK/Whistler/ALSA]"arecord" app hung
  with DVD quality .raw audio recording (Mono/Stereo).

Change-Id: Id9c13bbd2dd0b5f90b3c545677eddfa05849c45f
Reviewed-on: http://git-master/r/997
Reviewed-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Tested-by: Vijay Mali &lt;vmali@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ALSA]: Add mmap support in kernel driver.</title>
<updated>2010-03-23T06:06:12+00:00</updated>
<author>
<name>Manjula Gupta</name>
<email>magupta@nvidia.com</email>
</author>
<published>2010-03-19T09:47:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=80a7ccc42463585796202053e0d591d137094045'/>
<id>80a7ccc42463585796202053e0d591d137094045</id>
<content type='text'>
Add mmap callback in alsa to support mmap mode.
For Bug:66326 [LDK/Whistler/ALSA] Add the mmap
support in ALSA.

Change-Id: Iecc128374ff365ef4fb92034d6256c6378bd1f20
Reviewed-on: http://git-master/r/909
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add mmap callback in alsa to support mmap mode.
For Bug:66326 [LDK/Whistler/ALSA] Add the mmap
support in ALSA.

Change-Id: Iecc128374ff365ef4fb92034d6256c6378bd1f20
Reviewed-on: http://git-master/r/909
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Tested-by: Manjula Gupta &lt;magupta@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
