From 318849a151f1c9f10e068d8ec4b07165a2b9d99e Mon Sep 17 00:00:00 2001 From: Fulup Ar Foll Date: Fri, 25 Aug 2017 22:43:41 +0200 Subject: Align Intel HAL with Jabra --- .gitignore | 1 + HAL-afb/HDA-intel/IntelHdaHAL.c | 87 +++++++++++++++++++++++++++++++---------- nbproject/configurations.xml | 21 ---------- 3 files changed, 67 insertions(+), 42 deletions(-) diff --git a/.gitignore b/.gitignore index b092854..8b1cf74 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ CMakeCache.txt Makefile *.so nbproject/private +.~lock* diff --git a/HAL-afb/HDA-intel/IntelHdaHAL.c b/HAL-afb/HDA-intel/IntelHdaHAL.c index e169baa..4f79f60 100644 --- a/HAL-afb/HDA-intel/IntelHdaHAL.c +++ b/HAL-afb/HDA-intel/IntelHdaHAL.c @@ -26,33 +26,78 @@ #include "audio-common.h" +// Define few private tag for not standard functions +#define PCM_Volume_Multimedia 1000 +#define PCM_Volume_Navigation 1001 +#define PCM_Volume_Emergency 1002 + // Default Values for MasterVolume Ramping -STATIC halVolRampT volRampMaster = { - .mode = RAMP_VOL_NORMAL, - .slave = Master_Playback_Volume, - .delay = 100 * 1000, // ramping delay in us - .stepDown = 1, - .stepUp = 1, +STATIC halVolRampT volRampMaster= { + .mode = RAMP_VOL_NORMAL, + .slave = Master_Playback_Volume, + .delay = 100*1000, // ramping delay in us + .stepDown=1, + .stepUp =1, +}; + +STATIC halVolRampT volRampMultimedia= { + .slave = PCM_Volume_Multimedia, + .delay = 100*1000, // ramping delay in us + .stepDown= 2, + .stepUp = 1, +}; + +STATIC halVolRampT volRampNavigation= { + .slave = PCM_Volume_Navigation, + .delay = 100*1000, // ramping delay in us + .stepDown= 4, + .stepUp = 2, +}; +// Default Values for MasterVolume Ramping +STATIC halVolRampT volRampEmergency= { + .slave = PCM_Volume_Emergency, + .delay = 50*1000, // ramping delay in us + .stepDown= 6, + .stepUp = 3, }; // Map HAL hight sndctl with Alsa numid and optionally with a custom callback for non Alsa supported functionalities. -STATIC alsaHalMapT alsaHalMap[] = { - { .tag = Master_Playback_Volume, . ctl = - { .name = "Master Playback Volume"}}, - { .tag = PCM_Playback_Volume, .ctl = - { .name = "PCM Playback Volume"}}, - { .tag = PCM_Playback_Switch, .ctl = - { .name = "Master Playback Switch"}}, - { .tag = Capture_Volume, .ctl = - { .name = "Capture Volume"}}, +STATIC alsaHalMapT alsaHalMap[]= { + { .tag=Master_Playback_Volume, . ctl={.name="PCM Playback Volume", .value=50 } }, + { .tag=PCM_Playback_Volume , .ctl={.name="PCM Playback Volume", .value=50 } }, + { .tag=PCM_Playback_Switch , .ctl={.name="PCM Playback Switch" } }, + { .tag=Capture_Volume , .ctl={.name="Mic Capture Volume" } }, - { .tag = Master_Playback_Volume, .cb = - {.callback = volumeRamp, .handle = &volRampMaster}, .info = "ramp volume linearly according to current ramp setting", - .ctl = - {.numid = 0, .type = SND_CTL_ELEM_TYPE_INTEGER, .count = 1, .minval = 0, .maxval = 100, .step = 1, .name = "Hal-VolRamp"}}, + // Sound card does not have hardware volume ramping + { .tag=Master_Playback_Ramp , .cb={.callback=volumeRamp, .handle=&volRampMaster}, .info="ramp volume linearly according to current ramp setting", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=1, .minval=0, .maxval=100, .step=1, .name="Rampup Master"} + }, - { .tag = EndHalCrlTag} /* marker for end of the array */ -}; + // Implement Rampup Volume for Virtual Channels + { .tag=Navigation_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampNavigation}, .info="RampUp Navigation Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER,.name="Playback Navigation Ramp", .value=80 } + }, + { .tag=Emergency_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampEmergency}, .info="Rampup Emergency Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER,.name="Playback Emergency Ramp", .value=80 } + }, + + // Sound Card does not support hardware channel volume mixer (note softvol default range 0-256) + { .tag=Multimedia_Playback_Volume, .cb={.callback=volumeRamp, .handle=&volRampMultimedia}, .info="Ramp-up Multimedia Volume", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .name="Playback Multimedia Ramp", .value=80 } + }, + { .tag=PCM_Volume_Multimedia, .info="Playback Multimedia Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255, .value=200, .name="Playback Multimedia"} + }, + { .tag=PCM_Volume_Navigation, .info="Playback Navigation Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255,.value=200, .name="Playback Navigation"} + }, + { .tag=PCM_Volume_Emergency, .info="Playback Emergency Softvol", + .ctl={.numid=CTL_AUTO, .type=SND_CTL_ELEM_TYPE_INTEGER, .count=2, .maxval=255, .value=200, .name="Playback Emergency"} + }, + + + { .tag=EndHalCrlTag} /* marker for end of the array */ +} ; // HAL sound card mapping info STATIC alsaHalSndCardT alsaHalSndCard = { diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index 6f1cc2b..9cec85a 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -14,13 +14,6 @@ Alsa-Ucm.c - - AlsaHalPlugCb.c - AlsaHalPlugCtl.c - - - AlsaHookPlug.c - PolicyHookCb.c @@ -30,20 +23,6 @@ filescan-utils.c wrap-json.c - - - - - CMakeCCompilerId.c - - - CMakeCXXCompilerId.cpp - - - feature_tests.c - feature_tests.cxx - - AudioCommonLib.c -- cgit 1.2.3-korg