Commit Graph

99 Commits

Author SHA1 Message Date
Naresh Tanniru c909398734 hal: Surround sound record enhancement
- Remove legacy 4 mic surround sound record support

- Add device specific check for SSR initialization

- Remove SSR lib deinit during standby to support
  sub system restart for surround sound record usecase

Change-Id: I1ead34e4b3acaa5e309e11dfa2c7ba4cbd374e3a
2015-12-14 21:45:06 -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
Dhanalakshmi Siddani a31cee0d6c HAL: 8937 HAL bringup
Add support for 8937 build variant

Change-Id: I83904b41fcd77cba42d261f7e47a327f64333de4
2015-11-04 14:58:44 +05:30
Mingming Yin 12125e85ac hal: fix compilation issues with audio FM extention
- Update FM device references to match latest
  definitions to fix compilation of FM extention.
- Update FM feature flag for power optimization.

Change-Id: I17a9e240e552c4089d3e9c7a25e437fb5b5433f9
2015-10-30 10:17:54 -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
Linux Build Service Account 6e3bff24a0 Merge "audio: Enable External HDMI support" 2015-10-09 18:04:03 -07:00
Ashish Jain 81eb2a8d8d audio: Enable External HDMI support
-For HDMI compliance, channel status bits
should be configured for the external HDMI chip.
-Hence HAL based on the output format i.e compressed
or LPCM populates the channel_status information
and passes it to the dai-driver which in turn
configures the external HDMI chip

Change-Id: Ibf192492d259a722070a08f4764fde9498dd268d
2015-09-24 21:50:47 -07:00
Dhananjay Kumar d68883db32 hal: Audiosphere SA+ concurrency implementation
Audiosphere effect cannot be used along with any other SA+
effects, and needs handling for such concurrent use cases.
Remove audiosphere controls from audio extention, these controls
are now moved to audio post_proc module, where both audiosphere
and SA+ events are made available providing easy detection and
handling for concurrent use cases.
Extend audio hal's set and get parameter functionality to post_proc
module, this is required to set/get audiosphere params inside
post_proc module.

Change-Id: Ia4b6dcf74b2434f3751cd76e02704b62fc30f822
2015-09-22 01:46:12 -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
Manish Dewangan a6fc544402 hal: Add support for AAC ADTS offload playback
-In byte stream mode input bistream is configured with AAC ADTS format
-Add change to configure ADSP in ADTS format if input is in ADTS format

Change-Id: Ie423af6847e4bfd49722239105aaba4fecf9469b
2015-08-31 11:53:41 -07:00
Satya Krishna Pindiproli 5d82d017f2 hal: set proper bitwidth and format values
Set bitwidth as per the value in offloadInfo and
define the values of audio formats to be consistent
with those in audio.h.

Change-Id: I49a3355eb51a4ba2fdcef0e68482ee5078e7798a
2015-08-12 12:27:05 -07:00
Mingming Yin 497419fcb8 hal: compilation fix for extended feature flags
- Fix compilation error for offload, Dolby,
  HDMI pass through, FLAC decoder, and hardware
  accelerated effects when extended feature
  flags are disabled.

Change-Id: I5b36d7668f63a396ed930d62c0337c2c3f311c95
2015-07-06 10:44:23 -07:00
Pradnya Chaphekar 73e2e8bd17 hal: Set ddp endpoint params for Dolby decoder
- Set ddp endpoint params for Dolby decoder
- Rename DOLBY_DAP macro. Legacy DS1 functions
  using mixer controls get enabled when dolby
  buildspec enables DOLBY_DAP macro. Avoid this
  by renaming the macro.

Change-Id: I66c7d1896f4260754551f03852fa8c140abf0e53
2015-05-18 15:35:43 -07:00
Satya Krishna Pindiproli 7047160e9a hal: add support to offload VORBIS, ALAC and APE formats
Send ALAC and APE specific data to DSP as part of the metadata
to support playback of ALAC and APE clips in offload mode.

Force vorbis offload run in transcoded bit stream mode.

Also move parsing of WMA and FLAC metadata to audio_extn.c
from audio_hw.c.

Change-Id: Ideccadff93d4c06e649cd535b8870e45ba26eaea
2015-05-12 15:52:03 +05:30
Dhananjay Kumar 60ae28822e hal: add support for AudioSphere effects
Add support to set and get AudioSphere parameters.
AudioSphere post processing is supported on stereo
speakers to add virtualization effect to audio
playback.

Change-Id: I85c5ce44b109cb51fce19df0f438ecf6a6d7661e
2015-05-01 20:21:10 +05:30
Linux Build Service Account 733ec94222 Merge "hal: add support for source tracking feature" 2015-04-15 17:26:48 -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
Naresh Tanniru 0d28b4a9c0 hal: 8952 hal bringup
- Add support for 8952 build varient

- Add support for 8952 sound card detection

Change-Id: Ia18de3417f4ff95e01a2257185911765e7a021ec
2015-03-27 15:38:25 +05:30
Mingming Yin 89c6a7f457 audio: renaming thulium to msm8996
Use appropriate SOC name.

Change-Id: I08e17ec9b240869c5357ad181f1fb17a0d06b969
2015-03-24 11:56:14 -07:00
Mingming Yin 08c7e31b61 hal: add support to use low lantecy as primay output
- Add support to use low lantency output as primary
  output when AUDIO_USE_LL_AS_PRIMARY_OUTPUT is enabled

Change-Id: Ie7faf9f7af4c97b7afdda8084b7acf162abbc0b6
2015-03-16 18:10:58 -07:00
Mingming Yin e5bf837d36 hal: update feature flag for HDMI EDID
- Compile edid.c when AUDIO_FEATURE_ENABLED_HDMI_EDID
  is enabled.

Change-Id: I2ff1fd591fe2e5693271f37179e0e7a9fbe70e4a
2015-03-10 15:57:11 -07:00
Banajit Goswami 0bffa44de5 hal: enable compilation of EDID for Thulium target
Thulium target has support for HDMI. Enabled compilation of
file for HDMI EDID support on Thulium target.

Change-Id: I605f4c57a14ff9fcfa064a9ebda996cef349f91b
2015-03-03 10:38:41 -08:00
Vidyakumar Athota c1d39c983c hal: Fix bit width for 24 bit PCM offload playback
PCM offload bit width is selected as 16 bit even for 24 bit pcm offload
playback streams if QTI_FLAC_DECODER flag is not defined. Fix this issue
by defining appropriate flag PCM_OFFLOAD_ENABLED_24.

Change-Id: I82169252770b764344bf4531fb994e2195244dde
2015-02-25 15:14:26 -08:00
Preetam Singh Ranawat 2d0e463a86 Merge remote-tracking branch 'quic/LA.BR.1' into HEAD
* quic/LA.BR.1: (37 commits)
  hal: Performance mode during recording usecase
  audio: Support for compress offload recovery
  audio: Fix for clip skip issue during SSR
  hal: add checks for calibration buffer allocation failures
  mm-audio: aenc-aac: fix integer overflow for encoded buffer timestamp calculation
  hal: Add support for 8909 QRD skue
  hal: Fix for FM mute issue on start of FM record
  hal: Fix array length computation for backend id array.
  hal : set Non SA+ app type for PCM Capture
  hal : Fix for SA+ app type selection for PCM Capture usecase
  hal : Fix for SA+ app type selection for PCM Capture usecase
  hal: use 0 as default return value for out_get_render_position
  audio: hal: Add support for pm8916 on msm8909
  hal: Define a new combo device for AANC and Fluence
  hal: Define a new combo device for AANC and Fluence
  hal: use 0 as default return value for out_get_render_position
  hal: Update DS2 implementation to support ACDB based license mechanism
  hal : Overwrite the APP type for PCM RX and TX path
  audio: HAL to support for peripheral manager
  hal : Set the input device for VOIP calls using audio path
  ...
Conflicts:
	hal/Android.mk
	hal/audio_extn/audio_extn.c
	hal/audio_extn/audio_extn.h
	hal/audio_extn/dolby.c
	hal/audio_extn/utils.c
	hal/audio_hw.c
	hal/msm8916/hw_info.c
	hal/msm8916/platform.c
	hal/msm8974/platform.c
	hal/platform_api.h
Change-Id: Ibfa171e8f3af713dbb2cffbaf2ca2b0df3e8ae73
2015-02-02 12:41:14 +05:30
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
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
Fred Oh 0ceca2a92a hal: Add support for parsing hdmi edid information for msm8992
add edid parsing for msm8992

Change-Id: I636118080e90f089767b89366b942ff38aba7302
2014-12-15 18:57:33 -08:00
Linux Build Service Account 6d2bc62e80 Merge "hal: Performance mode during recording usecase" 2014-12-11 19:49:18 -08:00
Sudheer Papothi 390bcf3eda hal: Performance mode during recording usecase
Put system in performance mode during start of recording
usecase to meet KPI values of cold start input latency.

Change-Id: I30c202c39b4b15b37e7245fc2f1a427377178baa
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2014-12-10 19:04:48 -08:00
Fred Oh 68ad1d31b3 hal : add 8992 for msm8992 audio
Enabled msm8992 audio hal same as msm8994

Change-Id: Ie2289925679cf9a39931e65314050a1fe92a9e95
2014-12-09 13:08:07 -08:00
Jitendra Naruka 1b6513f811 hardware/qcom/audio: Integrate Eagle framework for HeadphoneX
Add support to integrate the Eagle framework for HeadphoneX
audio post processing feature 1.1

Change-Id: Ib119c27c359950a6087d5e6ae200dfc1e83b7551
Signed-off-by: Jitendra Naruka <jitendra.naruka@dts.com>
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
2014-12-01 15:52:26 -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
Ashish Jain 8ec5047932 hal: Update DS2 implementation to support ACDB based license mechanism
-Add ACDB based licenese mechanism for Dolby DS2 implementation.
-Add device to back end mapping for MSM8916

Change-Id: I0de4bd67fbfc26c21c4751e32ae2c45278a226d0
CRs-Fixed: 761339
2014-11-28 19:09:34 -08:00
Pradnya Chaphekar 4403bd796e hal: Add support for parsing hdmi edid information
Add support for parsing hdmi edid data and setting channel map
to asm
Parse edid data on hdmi connection and invalidat on disconnection.
Fix audio playback errors on HDMI when source channel count is
greater than sink channel count for offload playback.

Change-Id: I1e0a8335611a87974cb273431659938a0b345e68
2014-11-18 12:40:59 -08:00
Pradnya Chaphekar 8a9dcd8eff hal: Add changes for dolby DS2
-Add device to back end mapping for APQ8084 and MSM8994.
-Set initialization info like sound card number, dmid
 to ds2 dap hal.
-Add mixer control DS2 OnOff to enable or disable DS2
-A property "audio.dolby.ds2.enabled" is added to trigger
 the mixer control.
-Reuse ds1 functions for checking dolby format and getting
 sound codec id.

CRs-Fixed: 661095 661018

Conflicts:
	hal/audio_hw.c
        hal/msm8916/platform.c

Change-Id: Iff5fdc49249eb035c2ccde18e190ccc6c3ff632a
2014-11-05 20:38:32 +05:30
Naresh Tanniru c0517bc213 hal: add new devices for VoIP usecase for 8909
- Due to mips limitation on 8909, VoIP &
  record playback concurrency usecases should
  use non DS1 topology device.

- Add new devices on Bear platform, which will
  be selected for VoIP & record playback usecases
  based on "rec.playback.conc.disabled" system property

Change-Id: I676bb0a870c22d912e8422795abcbbe9cd115318
2014-10-31 15:41:38 +05:30
padarshr 04e7481ee8 Rename ferrum to msm8909
This change is to rename ferrum to chipset name- msm8909

Change-Id: I96bfe67673c0fd9e4476a1dc17b88fa911c1b5bc
2014-09-24 12:34:28 -07:00
Ravi Kumar Alamanda 8fa6b1916a hal: support for sound trigger LAB and concurrency
Sound trigger lookahead buffering data is read through audio hal.
Also the audio hal has to inform sound trigger hal about concurrencies
and subsytsem restart events. Audio Hal uses proprietary interface
defined by sound trigger for communication with sound trigger hal.

Change-Id: Id344077b40b481a953769518f8a6ac0adc13b709
2014-09-10 16:35:16 -07:00
Linux Build Service Account ac4179e108 Merge "hal: add audio device arbitration extension" 2014-08-22 00:27:40 -07:00
Lior Barenboim 0b61bc73d7 hal: add audio device arbitration extension
The audio device arbitration extension enables audio HAL to manage
shared resources by notifying clients when devices are required
by audio HAL and when they can be used by the clients.

This change is implemented as an audio extension. It dynamically
loads a library which implements the arbitration and IPC
mechanism

Change-Id: I13ade59caecfd69639f5bf8892dba917502ae357
2014-08-10 11:15:16 +03:00
Vidyakumar Athota 77327dd055 hal: remove libmdmdetect library dependency
This reverts commit 008aebd15a.

Original commit breaks the compilation of ASOP code with audio HAL
when proprietary code is not present because libmdmdetect proprietary
library is statically linked.

Change-Id: I8f704b84181c0083e4b84140ff3e1e5ef28469c9
2014-08-07 18:10:00 -07:00
Mingming Yin 3ee55c65a2 hal: Support for FLAC 24 bit format in offload path
- Add flac in supported codecs list
- Set FLAC codec specific parameters
- Set fragment size based on bit width and sampling rate
  for flac
- Configure backend to 24/16 bit based on the current
  usecases running

Change-Id: If013078e277fd3053fba6489345803f8f58bd86d
2014-08-06 11:42:43 -07:00
Linux Build Service Account 6420a92e4d Merge "hal: make file change to export audio_defs.h" 2014-08-05 00:14:27 -07:00
Mingming Yin 5b7c0b3a3d hal: make file change to export audio_defs.h
- copy audio_defs.h to out target so that it
  can be included in AOSP code.

Change-Id: I84996dd8821a48a9ec71a1164764bf28b91cd390
2014-08-04 15:49:24 -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
Linux Build Service Account 1e7e779001 Merge "hal: enable speaker protection" 2014-07-18 02:22:41 -07:00
Dhananjay Kumar 2bb2fc10f0 hal: Add support for ferrum(8909) sound cards
-Add entry for ferrum(8909) sound card name

Change-Id: I64989e184b97f1ae0f1365da29b61297d579f6ac
2014-07-17 13:59:39 -07:00
Anish Kumar d80a139573 hal: enable speaker protection
',' was added accidentally causing speaker protection
not to be enabled. Remove that.

Change-Id: Ieb714a50d297a1c92970d559b5336a2275359164
2014-07-17 10:48:27 -07:00
Linux Build Service Account 04e5c07733 Merge "audio: Change LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH" 2014-06-03 12:09:27 -07:00
Mingming Yin a6dad60d52 hal: update audio feature flags
- update audio feature flags to use
  AUDIO_FEATURE_ENABLED_XXX instead of
  AUDIO_FEATURE_DISABLED_XXX.
- These feature flags are defined
  by target board config file

Change-Id: Iba482d8b72bfa2675877d833d7abcb93d4cf4907
2014-05-29 13:15:15 -07:00