ASoC: msm: enable DAP set license logic on 8998

Since we move to GEF implementation for Dolby post processing,
disabling DAP/DAX2 driver logic on msm8998 target except for
license validation.

CRs-Fixed: 1094027
Change-Id: I33c5625026611856f6cdd8c6e0b5d7ef229ba8c7
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
This commit is contained in:
Weiyin Jiang 2016-11-23 16:57:38 +08:00
parent 1289f98375
commit 41417b2031
6 changed files with 37 additions and 7 deletions

View file

@ -50,6 +50,15 @@ config DOLBY_DS2
device, end point dependent post processing parameters and device, end point dependent post processing parameters and
the various posrt processing parameters the various posrt processing parameters
config DOLBY_LICENSE
bool "Enable Dolby LICENSE"
depends on SND_SOC_MSM_QDSP6V2_INTF
help
To add support for dolby DAP post processing,
and retain DAP set license functionality only.
This is required by Dolby GEF implementation which needs
nothing but dolby license validation functionality in driver.
config DTS_EAGLE config DTS_EAGLE
bool "Enable DTS Eagle Support" bool "Enable DTS Eagle Support"
depends on SND_SOC_MSM_QDSP6V2_INTF depends on SND_SOC_MSM_QDSP6V2_INTF
@ -211,7 +220,7 @@ config SND_SOC_MSM8998
select QTI_PP select QTI_PP
select SND_SOC_CPE select SND_SOC_CPE
select MSM_ULTRASOUND select MSM_ULTRASOUND
select DOLBY_DS2 select DOLBY_LICENSE
select SND_HWDEP select SND_HWDEP
select DTS_EAGLE select DTS_EAGLE
help help

View file

@ -12,6 +12,7 @@ obj-$(CONFIG_SND_HWDEP) += msm-pcm-routing-devdep.o
obj-$(CONFIG_DTS_EAGLE) += msm-dts-eagle.o obj-$(CONFIG_DTS_EAGLE) += msm-dts-eagle.o
obj-$(CONFIG_DOLBY_DAP) += msm-dolby-dap-config.o obj-$(CONFIG_DOLBY_DAP) += msm-dolby-dap-config.o
obj-$(CONFIG_DOLBY_DS2) += msm-ds2-dap-config.o obj-$(CONFIG_DOLBY_DS2) += msm-ds2-dap-config.o
obj-$(CONFIG_DOLBY_LICENSE) += msm-ds2-dap-config.o
obj-$(CONFIG_DTS_SRS_TM) += msm-dts-srs-tm-config.o obj-$(CONFIG_DTS_SRS_TM) += msm-dts-srs-tm-config.o
obj-$(CONFIG_QTI_PP) += msm-qti-pp-config.o obj-$(CONFIG_QTI_PP) += msm-qti-pp-config.o
obj-y += audio_calibration.o audio_cal_utils.o q6adm.o q6afe.o q6asm.o \ obj-y += audio_calibration.o audio_cal_utils.o q6adm.o q6afe.o q6asm.o \

View file

@ -20,7 +20,7 @@
#include <sound/q6core.h> #include <sound/q6core.h>
#ifdef CONFIG_DOLBY_DS2 #if defined(CONFIG_DOLBY_DS2) || defined(CONFIG_DOLBY_LICENSE)
/* ramp up/down for 30ms */ /* ramp up/down for 30ms */
#define DOLBY_SOFT_VOLUME_PERIOD 40 #define DOLBY_SOFT_VOLUME_PERIOD 40
@ -2284,4 +2284,4 @@ int msm_ds2_dap_ioctl_shared(struct snd_hwdep *hw, struct file *file,
{ {
return 0; return 0;
} }
#endif /*CONFIG_DOLBY_DS2*/ #endif /* CONFIG_DOLBY_DS2 || CONFIG_DOLBY_LICENSE */

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2014, 2016, The Linux Foundation. All rights reserved.
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation. * only version 2 as published by the Free Software Foundation.
@ -45,7 +45,7 @@ struct dolby_param_license32 {
_IOR('U', 0x15, struct dolby_param_data32) _IOR('U', 0x15, struct dolby_param_data32)
#endif #endif
#ifdef CONFIG_DOLBY_DS2 #if defined(CONFIG_DOLBY_DS2) || defined(CONFIG_DOLBY_LICENSE)
/* DOLBY DOLBY GUIDS */ /* DOLBY DOLBY GUIDS */
#define DS2_MODULE_ID 0x00010775 #define DS2_MODULE_ID 0x00010775
@ -86,11 +86,11 @@ int msm_ds2_dap_set_custom_stereo_onoff(int port_id, int copp_idx,
/* Dolby DOLBY end */ /* Dolby DOLBY end */
#else #else
static inline void msm_ds2_dap_update_port_parameters(struct snd_hwdep *hw, static inline int msm_ds2_dap_update_port_parameters(struct snd_hwdep *hw,
struct file *file, struct file *file,
bool open) bool open)
{ {
return; return 0;
} }
static inline int msm_ds2_dap_ioctl(struct snd_hwdep *hw, struct file *file, static inline int msm_ds2_dap_ioctl(struct snd_hwdep *hw, struct file *file,

View file

@ -46,6 +46,16 @@
#include "q6voice.h" #include "q6voice.h"
#include "sound/q6lsm.h" #include "sound/q6lsm.h"
#ifndef CONFIG_DOLBY_DAP
#undef DOLBY_ADM_COPP_TOPOLOGY_ID
#define DOLBY_ADM_COPP_TOPOLOGY_ID 0xFFFFFFFE
#endif
#ifndef CONFIG_DOLBY_DS2
#undef DS2_ADM_COPP_TOPOLOGY_ID
#define DS2_ADM_COPP_TOPOLOGY_ID 0xFFFFFFFF
#endif
static int get_cal_path(int path_type); static int get_cal_path(int path_type);
static struct mutex routing_lock; static struct mutex routing_lock;

View file

@ -39,6 +39,16 @@
#define ULL_SUPPORTED_BITS_PER_SAMPLE 16 #define ULL_SUPPORTED_BITS_PER_SAMPLE 16
#define ULL_SUPPORTED_SAMPLE_RATE 48000 #define ULL_SUPPORTED_SAMPLE_RATE 48000
#ifndef CONFIG_DOLBY_DAP
#undef DOLBY_ADM_COPP_TOPOLOGY_ID
#define DOLBY_ADM_COPP_TOPOLOGY_ID 0xFFFFFFFE
#endif
#ifndef CONFIG_DOLBY_DS2
#undef DS2_ADM_COPP_TOPOLOGY_ID
#define DS2_ADM_COPP_TOPOLOGY_ID 0xFFFFFFFF
#endif
/* ENUM for adm_status */ /* ENUM for adm_status */
enum adm_cal_status { enum adm_cal_status {
ADM_STATUS_CALIBRATION_REQUIRED = 0, ADM_STATUS_CALIBRATION_REQUIRED = 0,