summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* audio: Multizone: Flush voice call mono pipesMisael Lopez Cruz2014-02-021-0/+3
| | | | | | | | | | Flush the mono pipes used during voice call to avoid rendering old data from the last time the pipe was used (e.g. when the paired phone enables, disables and re-enables Bluetooth during the voice call). Change-Id: I43756abed06143522e5630ca0276ca5fbc02bb29 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Multizone: Add support for auxiliary inputMisael Lopez Cruz2014-02-021-0/+9
| | | | | | | | | Add support for the auxiliary input available in the JAMR3 board in the Jacinto6 EVMs. The auxiliary input is a stereo analog port. Change-Id: I815dbcad3ea3ec47c57580a3243a631abdcbf4b9 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Multizone: Dynamic JAMR3 supportMisael Lopez Cruz2014-02-021-34/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | JAMR3 board may not always be present in the system, the port usage is being changed dynamically to: - JAMR3 is present o Cabin : port 1, slots 0 & 1 o Mic : port 1, slot 2 o Back Mic: port 1, slot 3 - JAMR3 is not present o Cabin : port 0, slots 0 & 1 o Mic : port 0, slots 0 & 1 Above port allocation allows: - Relinquish McASP3 (port 0) when JAMR3 is connected. This allows DSP Radio to own that McASP instance for its rendering. - Hardware setups that don't have JAMR3 fall back to the port 0 that is present in the main Jacinto6 EVM board (CPU board). The default hardware setup is assumed to have JAMR3 connected. When it's not connected, the property "persist.audio.use_jamr" must be set to "0" or "false" and system has to be rebooted (or media server restarted). This is meant to be a development option. Change-Id: Icc5399b370e2247a1a0d5a967dcd47e0ef4947ac Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Multizone: Don't Round to 16 Input Buffer SizeAngela Stegmaier2014-02-021-6/+4
| | | | | | | | | | | | | The input buffer size returned from AudioStreamIn::getBufferSize() and AudioHwDevice::getInputBufferSize() was being rounded to a multiple of 16 with a note that it is required by AudioFlinger, but AudioFlinger has no such requirement for input buffer size (only output buffer size). Rounding to 16 caused an issue for the multizone audio when certain sample rates were used. So, the rounding is removed as it is not needed. Change-Id: I8d5010f5bab7eb780868b47899ea0115fa8c1c4b Signed-off-by: Angela Stegmaier <a0866189@ti.com>
* audio: Multizone: Bluetooth slave mode workaroundMisael Lopez Cruz2014-01-241-5/+30
| | | | | | | | | | | | | | | | | | The PCM ports used for Bluetooth SCO are in slave mode in Jacinto6 EVM board. So the BT side masters the BCLK and FSYNC. The BT side could cut the BCLK and FSYNC while the ALSA PCM ports are not closed, which leads to blocking read() and write() calls. They would eventually timeout and cause an I/O error. The workaround consists of switching the BT DAI link to slave mode (McASP is master, BT is slave) while leaving the call, it guarantees that the BCLK and FSYNC are present as they are generated from an internal source, the actual rate of the clock is irrelevant. For the new source to take effect, the ALSA PCM ports used for BT are explicitly stopped. Change-Id: Ifadb8b1348529d404d06d4b043c5fe686f85a49a Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Reorder voice call output stream terminationMisael Lopez Cruz2014-01-241-2/+2
| | | | | | | | | | | | Unregister the voice call downlink stream before letting any ongoing stream on cabin switch back its original writer. Otherwise, it may end up trying to register two streams with the same slot masks. An incorrect log message is also fixed. Change-Id: Ic5cb4d2ed0cc4de4232151df9ed8d45b2de9d5c2 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Multizone: Add support for voice callMisael Lopez Cruz2013-11-111-9/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Voice call is supported using two data pipes: Uplink: PcmWriter <-- MonoPipe <-- PcmReader | | McASP7 McASP3 | | Bluetooth Mic Downlink: PcmReader --> MonoPipe --> PcmWriter | | McASP7 McASP3 | | Bluetooth Speaker Voice call reuses the PcmWriter associated with Cabin/Speaker that is otherwise used for media. So, when the voice call starts any ongoing media stream active on that writer has to be re-routed to a null writer and routed back to the actual writer when the voice call ends. The null writer is a PcmWriter that writes data to a null output port. The null port consumes the data at the same rate that the actual port does. IOW, media streams going to the Cabin output (primary output) during voice call will not be rendered on the actual hardware output. Change-Id: I7856b67ab1cf788ea2f2cb251d9097e57e487cb5 Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: Multizone: Refactor stream resume/idleMisael Lopez Cruz2013-11-091-27/+59
| | | | | | | | | | | | Refactor the resume (leaving standby on first read/write) and idle (entering standby) in preparation for voice call support. JAMR3 outputs have mixer controls that do not need to change dynamically, so they are moved to the default routes section of the dra7evm paths. Change-Id: I432a69ca67eff0e276ce90170dff4a5201ac181a Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
* audio: multizone: Add initial implementationAngela Stegmaier2013-11-011-0/+873
Add the multizone AudioHAL support to jacinto6evm. The multizone audio is built if the multizone flag is set, otherwise the legacy AudioHAL is built. Change-Id: Ib0b401f963cd9327caeb73623bba163fe8129870 Signed-off-by: Angela Stegmaier <a0866189@ti.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>