Commit Graph

118 Commits

Author SHA1 Message Date
Linux Build Service Account a2e774abc7 Merge "hal: add support for msm cobalt for platform defines" 2016-04-26 22:10:15 -07:00
Garmond Leung c153646856 hal: add support for msm cobalt for platform defines
Add in support for msm cobalt for playback offload
device defines.

Change-Id: I82d4f5962ed714d59146f551c4834ee74b675b42
2016-04-22 10:41:07 -07:00
Sidipotu Ashok eaec639e10 Revert "hal: update combo device handling"
This reverts commit 993e1f42e7.

Change-Id: I758f222fdb861feb730b7caba1416ba2e393b5b7
2016-04-19 10:37:42 +05:30
Linux Build Service Account 01b79a53ee Merge "hal: update combo device handling" 2016-04-15 09:54:57 -07:00
Kuirong Wang 993e1f42e7 hal: update combo device handling
If the wired headset/headphone/line devices are handled by
a different backend than speaker/earpiece devices, the combo
devices such as speaker+headphones can be split into individual
devices and enabled/disabled independently.

CRs-fixed: 989410
Change-Id: I379b56940eaf384d3cd1d9fe392b7fec65df023b
2016-04-14 23:20:57 -07:00
Banajit Goswami 4c0dff2022 hal: add support for msmcobalt
Add initial audio support for MSMCOBALT target

Change-Id: I06cd6a558d8622c7b8ff82b5531478adea96e631
2016-04-14 09:13:13 -07:00
Vidyakumar Athota 46025efdb5 hal: update compress offload pcm device ID
Compress offload pcm device IDs are defined wrongly.
Update the right device IDs.

Change-Id: Ib663ab653a35c59ee2bd7b11ff3aa8a3dfe075b8
2016-03-04 02:56:03 -08:00
Shiv Maliyappanahalli dd287265de hal: fix for Fluence V5 ECNS failing to work with AANC
When AANC and fluence are both enabled, HAL select AANC based device
where fluence is disabled. Check for both AANC and Fluence flag and
select AANC and fluence enabled device.

Change-Id: Idb1ad2c9678144a955b8b2ce3506e02d00459b54
2016-01-22 04:07:16 -08:00
Sidipotu Ashok e6f78cb2c6 hal: Changes to support true 44.1 Native playback
- add changes to support single BE mode on top of the
Double BE mode which is supported.

- support reading of version or mode from XML.

- add logic to switch between single and double BE
based on the mode in XML.

- define a new device for true native.

- add logic to read tasha codec version and allow
true native only for 2.0 version of codec

- enchance log msgs for better debugging.

Change-Id: I970487f16af32144ec26f967e8bfcb32d44d67a4
2015-12-28 05:00:00 -08:00
Shiv Maliyappanahalli 5a10aea18d hal: Add support for 3-mic surround sound recording
Add support for stereo surround sound recording using 3 mics.

Change-Id: I741dd5507d72ac45dff8006d3875abe8dbdc2df2
2015-12-14 21:38:22 -08:00
Preetam Singh Ranawat 61716b1bcc Merge 9c4ba54b3e on remote branch
Change-Id: I5a80c57243eda5a4fdd98a233766cd622b4ef9a3
2015-12-14 11:55:32 +05:30
Linux Build Service Account 6c6171bd58 Merge "hal: Add support for LINE out device" 2015-10-26 22:07:46 -07:00
Ravi Kumar Alamanda 52de13c5d9 hal: Add support for LINE out device
Add support for AUDIO_DEVICE_OUT_LINE device. Treat it same
as Wired Headphone device w.r.t. routing and acdb device.
If the acdb or backend is different it can be updated using
audio_platform_info.xml.

Change-Id: I203f38b1629a837478da1ae304a67bb016b06fa7
CRs-Fixed: 929500
2015-10-23 11:14:15 -07:00
Mingming Yin 4a4a8c81b2 policy_hal: add support for multiple offload playback
- Add support for multiple offload playback.
- Do not check for reuse of current offload playback
  session if multiple offload feature is enabled.
- Remove multiple offload feature flag to enable
  compilation by default.

Change-Id: I91a8797ec5e260975ffd022d56bca01bc832da80
2015-10-21 11:05:08 -07:00
Naresh Tanniru 06f9943ba9 policy_hal: hal: add support to enable Direct PCM
- Add support for direct pcm output

- Add support for direct pcm in hal
  if output flag is direct_pcm choose compress offload path

- Add support for direct pcm in custom audio policy manager
  force add direct flag when we detect pcm track in music and
  game use case

Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
2015-10-16 11:42:14 +05:30
vivek mehta 446c39660b hal: remove explicit direct pcm usecase
- remove direct pcm offload usecase
- incase of direct pcm add support for one extra offload usecase

Change-Id: I75f68a8e85c8685091928c09df211e9d7939f342
2015-10-13 09:15:05 -07:00
Naresh Tanniru 3a7dbe772d hal: add support for ull audio playback
- Add a new use case and mixer paths to support ultra
  low latency audio playback.
  This use case exercises the ULL mode in the DSP.

CRs-Fixed: 889183
Change-Id: I6685dd0f346072029ca51e4ce92856a13e74ee76
2015-09-21 15:07:27 +05:30
Linux Build Service Account a46160f157 Merge "hal: add support for ull audio playback" 2015-09-18 02:38:35 -07:00
Ravi Kumar Alamanda 474de5a780 hal: add support for ull audio playback
Add a new use case and mixer paths to support ultra
low latency audio playback. This use case exercises the
ULL mode in the DSP.

CRs-Fixed: 892056
Change-Id: I6685dd0f346072029ca51e4ce92856a13e74ee76
2015-09-15 13:27:39 -07:00
Banajit Goswami 20cdd21a6b hal: Add support to enable VBat feature
Add support to enable VBat feature. This includes required changes
to select VBat speaker devices for audio and voice usecases and
sending the VBat calibration data to codec driver.

Change-Id: I2234bee3cc4d6f16934a4b27ef9da21cde74bb48
2015-09-13 17:45:37 -07:00
Linux Build Service Account 39d9d7d952 Merge "policy_hal: hal: add support to enable Direct PCM" 2015-09-11 03:48:12 -07:00
Vidyakumar Athota b3cfd1313c Revert "hal: audio: add tz_names extn to support from audio platform_info xml"
tz_names support is added using key value pairs under
config params in audio_platform_info.xml.

This reverts commit 8225243c24

Change-Id: I5bee7225f945b31e3df9372d00aeb003c2092d8b
2015-09-08 14:58:55 -07:00
vivek mehta 0ea887a9e6 policy_hal: hal: add support to enable Direct PCM
- add support for direct pcm output
- add support for direct pcm in hal
  if output flag is direct_pcm choose compress offload path
- add support for direct pcm in custom audio policy manager
  force add direct flag when we detect pcm track in music and
  game use case

Change-Id: Ie69c988ef9cd0477efa77611ceddccdd6b17a163
2015-09-03 18:41:43 -07:00
Narsinga Rao Chella 81491baea9 hal: reroute active capture usecases which share same backend
During device switch, all active capture usecases need to be
switched to new sound device if they all share same backend.
This is not happening because of an improper check of capture
usecase's device against output backend devices. Correct the
check to compare against input backend devices.

Change-Id: Iaf43c30b091f78c2ffb8b2740f241f2edfbe5a08
CRs-fixed: 873528
2015-08-04 18:37:18 -07:00
Narsinga Rao Chella f99003cf91 hal: reroute active capture usecases which share same backend
During device switch, all active capture usecases need to be
switched to new sound device if they all share same backend.
This is not happening because of an improper check of capture
usecase's device against output backend devices. Correct the
check to compare against input backend devices.

Change-Id: Iaf43c30b091f78c2ffb8b2740f241f2edfbe5a08
CRs-fixed: 873528
2015-07-20 23:30:59 -07:00
Linux Build Service Account f4f3621008 Merge "hal: Add tx pcm device id for speaker protection usecase" 2015-07-12 04:28:55 -07:00
Sudheer Papothi d2b182f41a hal: Add tx pcm device id for speaker protection usecase
Add tx pcm device id for speaker protection usecase on
8996 target.

Change-Id: Id1998884a924bab7787f13b8877f367254d313c2
2015-07-09 09:22:48 +05:30
Alexy Joseph 029faa22df hal: Increase Deep buffer buffering
Increase buffering in the deep buffer path to 40ms
from the current 20ms. Change the number of buffers
from 5 buffers to 2 buffers

CRs-Fixed: 856812
Change-Id: I0df2bd71c22a66c6c3af2377408e94bb4bfe79b5
2015-07-05 13:14:14 -07:00
Laxminath Kasam 8225243c24 hal: audio: add tz_names extn to support from audio platform_info xml
To add Speaker TZ names from audio_platform_info xml, add required
support.

Change-Id: Idd31ed9e7b7235245c3dda4ccb11b47762db5ee8
2015-06-22 17:19:52 +05:30
Preetam Singh Ranawat 36f3d37826 hal: native audio backward compatibility
- all changes for native audio backward
  compatibility and related.
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes.

Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
2015-06-18 23:05:09 +05:30
Preetam Singh Ranawat 1871ddbe26 hal: Add support for Native Audio(44.1kHz)
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
  backends
- Remove hardcoded mixers and select them
  dynamically based on the device.

Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
2015-06-18 23:03:35 +05:30
Apoorv Raghuvanshi 214921673e hal: native audio backward compatibility
- all changes for native audio backward
  compatibility and related
- add set parameters from UI
- enable dynamic device switching
- featurize the code
- various backend concurrency changes

Change-Id: Id0f824c4b4c033f42008a4e8868652c8f6fe5c42
2015-06-05 12:14:36 -07:00
Laxminath Kasam 44f4940975 hal: audio: add tz_names extn to support from audio platform_info xml
To add Speaker TZ names from audio_platform_info xml, add required
support.

Change-Id: Idd31ed9e7b7235245c3dda4ccb11b47762db5ee8
2015-06-04 12:02:14 +05:30
Apoorv Raghuvanshi f59bb22e6d hal: Add support for Native Audio(44.1kHz)
- Changes for device/Usecase selection
- Add new and combo devices for headphones
- Combo device handling
- Add new backend and logic to handle multiple
  backends
- Remove hardcoded mixers and select them
  dynamically based on the device

Change-Id: I7207291f2c27da13ba0cc77c66de1144f4b9888a
2015-05-26 17:35:39 -07:00
Linux Build Service Account 06675a84c4 Merge "hal: add single session VSID voice call support" 2015-04-16 17:00:01 -07:00
Linux Build Service Account 733ec94222 Merge "hal: add support for source tracking feature" 2015-04-15 17:26:48 -07:00
Vidyakumar Athota 0e1093537b hal: add single session VSID voice call support
With new Voice architecture, a voice session per subscription
will support different call types such as Voice/VoLTE/VoWLAN etc.
These new voice sessions will be tagged with new VSID.

Change-Id: I7e9c90fb3935ebce5ff281f2d1c25c66aa96e55e
2015-04-14 16:11:05 -07:00
Narsinga Rao Chella f928a98e1f hal: add support for source tracking feature
Fluence module on ADSP is upgraded to support source
tracking, sound focus and audio zoom features. This
change adds support for the same in audio HAL and is
needed to support the features end-to-end.

Source Tracking is the capability to identify the
source of speech. Sound Focus is the capability to
configure which sectors in the 360 degrees plane to
listen to. Audio Zoom is the capability to combine
the sound focus with other technologies so that a user
can listen in on a particular source in a scene.

Change-Id: I019b22d6541e6d1a10552d808c3320a998b86e48
2015-04-14 16:00:20 -07:00
Mingming Yin 89c6a7f457 audio: renaming thulium to msm8996
Use appropriate SOC name.

Change-Id: I08e17ec9b240869c5357ad181f1fb17a0d06b969
2015-03-24 11:56:14 -07:00
Shruthi Krishna 9b7e69036a AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095 based on quic/aosp/LA.BF64.1
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlS+Y7EACgkQoUgPZYCpAfGhcQCgzFtFc1pVn2TUWr42hAfxqmcJ
 KNMAn0ijSKfcIWXQfCXYaiv3W7khSvRT
 =4cCU
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095' into merge_branch

AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095 based on quic/aosp/LA.BF64.1

* tag 'AU_LINUX_ANDROID_LA.BF64.1.05.00.00.021.095': (30 commits)
  audio: Reject incall record request when mode is not IN_CALL
  mm-audio: aenc-aac: fix integer overflow for encoded buffer timestamp calculation
  hal: Add support for parsing hdmi edid information for msm8992
  hal: Fix glitch in audio playback during device switch
  hal: add support to query hpx state using getparameter
  hal: add all compressed formats for app type selection
  hal: Performance mode during recording usecase
  hal: fix null pointer de-reference
  hal : add 8992 for msm8992 audio
  post_proc: Support Headphone:X in offload and non tunnel modes
  post_proc: Add support for non-tunnel DSP audio effects
  audio: Avoid mute during AFE PROXY Usecase
  hal: Fix DTS HPX Get parameters
  hal: bug fixes for PCM offload
  hal: Fix progress bar issue during compress offload playback
  hal: Fix setting stream channel map properly
  hardware/qcom/audio: Integrate Eagle framework for HeadphoneX
  hal: Remove setting DAP bypass /DAP on from HAL
  hal: Avoid resetting device to speaker for HDMI passthrough case
  hal: Audio HAL / APM changes for HDMI passthrough
  ...

Conflicts:
	Android.mk
	hal/Android.mk
	hal/audio_extn/audio_extn.h
	hal/audio_extn/utils.c
	hal/audio_hw.c
	hal/voice.c

Change-Id: Ia92b2002486894e8711a48480324479fe114aeb6
2015-01-23 15:12:58 -08:00
Ravi Kumar Alamanda af66940383 hal: Fix glitch in audio playback during device switch
Currently the deep buffer path uses 4 * 20msec buffer.
During device switch the AudioPolicyManager delays routing
command by 2 * output latency (80msec) to ensure that all
the data written to driver/DSP is played out on current
device itself.
The stream side buffering in the DSP in legacy PCM mode is
95msec and hence the depth of pipeline is 80 + 95 = 175msec
which exceeds the device switch delay 160msec (2 * 80). So
the tail (data written to driver before headset plugin) is
heard on headset and perceived as glitch.
Ensure that the buffering in the kernel is greater than or
equal to the buffering in the DSP to fix the issue.

Change-Id: I01a3862d63ce4c258056620693dee08761c7e83f
CRs-Fixed: 771446
2015-01-13 17:26:16 -08:00
Banajit Goswami 22582e755c hal: add support for thulium target
Adding thulium target support in makefile

Change-Id: Ibb33e9545a511ea85fc29cf56f72cd0b5d368e7e
2014-12-18 17:17:09 -08:00
Ravi Kumar Alamanda 739a765ce5 hal: Fix glitch in audio playback during device switch
Currently the deep buffer path uses 4 * 20msec buffer.
During device switch the AudioPolicyManager delays routing
command by 2 * output latency (80msec) to ensure that all
the data written to driver/DSP is played out on current
device itself.
The stream side buffering in the DSP in legacy PCM mode is
95msec and hence the depth of pipeline is 80 + 95 = 175msec
which exceeds the device switch delay 160msec (2 * 80). So
the tail (data written to driver before headset plugin) is
heard on headset and perceived as glitch.
Ensure that the buffering in the kernel is greater than or
equal to the buffering in the DSP to fix the issue.

Change-Id: I01a3862d63ce4c258056620693dee08761c7e83f
CRs-Fixed: 771446
2014-12-15 18:56:30 -08:00
Pradnya Chaphekar 80a8cfb81f hal: Audio HAL / APM changes for HDMI passthrough
-Add support for HDMI passthrough for DD/DDP contents to HAL and
 APM.
-Add mixer control to set volume on volume module on passthrough
 COPP. The mixer control  takes zero volume for mute and unity
 volume for max volume.
-DDP content requires sample rate to be four times native sample
 rate. HAL sample rate is changed to four times native rate from
 start output stream. During rapid pause/resume offload thread
 calls standby when there is no active track and no activity for
 over a second. On resume start output steam is called and
 sample rate is converted to four times its current value.
 This results in session to be started with invalid sampling
 rate and playback failures.
-Add HDMI passthrough support for JOC format.
 Expose DDP/JOC as pass-through supported format if sink
 supports either DD or DDP. This is to allow support for
 pass-through convert based on edid data.
-Deep buffer music stream does not switch back to HDMI after
 ringtone playback ends. Ringtone, alarm, notification etc are
 played on speaker if HDMI pass-through is enabled. The
 decision is taken based on stream or strategy. The decision
 to change the device from HDMI to speaker is taken based on
 the stream type. When a patricular stream ends use the
 reference count instead of stream type.
-DAP is not turned on when switching from passthrough stream to
 deep buffer stream.DAP bypass call from HAL to DAP HAL expects
 integer pointer. Address of a bool variable is passed into the
 function. Corrupt value is set on driver instead of turn on/off
 causing random failures in DAP on/DAP bypass. Use same data type
 and use enumeration to make the function call readable.

CRs-Fixed: 761339
Change-Id: Ided9439ec5e87233a1fec3ff9f50a1e9ba4cb788
2014-11-28 19:09:34 -08:00
Narsinga Rao Chella 975572e9b9 hal: add quad mic support for audio recording and VoIP calls
Add quad mic recording support for standalone audio recording
and for VoIP calls using audio path.

Change-Id: I852ca864928b73892a88eccf67c2b9803df9cdad
2014-11-22 23:32:02 -08:00
Ravi Kumar Alamanda 060bc5a327 hal: add support to send/receive voice call TX/RX audio
Add support for routing voice calls to devices in other audio
HALs by allowing playback and capture to/from AFE proxy

Change-Id: I2c6a1ddec072e1d5f1a8b7ded874e9c082a7b810
2014-10-17 09:57:20 -07:00
Ravi Kumar Alamanda dc9bb157cf hal: add support for low-latency capture
- add support for low-latency capture

Change-Id: Ic8a82854799adfa4eb1fcd323e0177eeadc7e319
2014-10-17 09:53:09 -07:00
Anish Kumar 46c7b87a7b hal: enable speaker protection in call usecase
Add new device voice_speaker_protected for speaker
protection in case of voice call.This device is
used to select different acdb id in case voice
speaker device is selected as 8994 device will
use mono speaker in case of voice call and stereo
speakers in normal playback.

CRs-Fixed: 713342
Change-Id: Ib4882b6a20aefcfbae4c113f6ca0ae5d6c899d28
2014-09-23 16:25:31 -07:00
Vicky Sehrawat e240e5d312 hal: Provide support to enable/disable EC/NS in BT
Currently during a SCO connection ECNS module in ADSP
is disabled by default. Some BT headsets have built-in
support for echo cancellation and noise reduction and
therefore do not require the same to be done again.
Select BT_SCO devices with ECNS modules enabled when
setParameters() is called with NREC=on.

Change-Id: I8bc37358a4510de7112d5247efbd5d3d7420fe43
2014-08-18 15:26:56 -07:00
Vidyakumar Athota 21b3bb9608 hal: add DSDA support on APQ targets
-This change adds DSDA support for APQ based targets
 where external modem is used for voice calls.
-Add new CSD API to support local call hold.

Change-Id: I7743a1df43dc1abac4e325ff104ec1bb64c9e12b
2014-07-29 17:08:28 -07:00