msm: audio: qdsp6v2: Add PCM-WB support for VoIP.

CRs-fixed: 297579
Signed-off-by: Neema Shetty <nshetty@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/qdsp6v2/q6voice.h b/arch/arm/mach-msm/include/mach/qdsp6v2/q6voice.h
index dfbb372..0dd1af1 100644
--- a/arch/arm/mach-msm/include/mach/qdsp6v2/q6voice.h
+++ b/arch/arm/mach-msm/include/mach/qdsp6v2/q6voice.h
@@ -24,7 +24,7 @@
 #define VOICE_DEV_ENABLED       0x1
 #define VOICE_DEV_DISABLED      0
 
-#define MAX_VOC_PKT_SIZE 322
+#define MAX_VOC_PKT_SIZE 642
 
 #define SESSION_NAME_LEN 20
 
@@ -529,6 +529,8 @@
 /* 80-VF690-47 UMTS AMR-WB vocoder modem format. */
 #define VSS_MEDIA_ID_PCM_NB		0x00010FCB
 /* Linear PCM (16-bit, little-endian). */
+#define VSS_MEDIA_ID_PCM_WB		0x00010FCC
+/* Linear wideband PCM vocoder modem format (16 bits, little endian). */
 #define VSS_MEDIA_ID_G711_ALAW		0x00010FCD
 /* G.711 a-law (contains two 10ms vocoder frames). */
 #define VSS_MEDIA_ID_G711_MULAW		0x00010FCE
diff --git a/arch/arm/mach-msm/qdsp6v2/audio_mvs.c b/arch/arm/mach-msm/qdsp6v2/audio_mvs.c
index e3356bc..2dae9a8 100644
--- a/arch/arm/mach-msm/qdsp6v2/audio_mvs.c
+++ b/arch/arm/mach-msm/qdsp6v2/audio_mvs.c
@@ -514,6 +514,10 @@
 			media_type = VSS_MEDIA_ID_G711_ALAW;
 		break;
 
+	case MVS_MODE_PCM_WB:
+		media_type = VSS_MEDIA_ID_PCM_WB;
+		break;
+
 	default:
 		media_type = VSS_MEDIA_ID_PCM_NB;
 	}
@@ -538,6 +542,7 @@
 		break;
 
 	case MVS_MODE_AMR_WB:
+	case MVS_MODE_PCM_WB:
 		network_type = VSS_NETWORK_ID_VOIP_WB;
 		break;
 
diff --git a/include/linux/msm_audio_mvs.h b/include/linux/msm_audio_mvs.h
index f401c1f..37a6ee7 100644
--- a/include/linux/msm_audio_mvs.h
+++ b/include/linux/msm_audio_mvs.h
@@ -9,21 +9,22 @@
 	(AUDIO_MAX_COMMON_IOCTL_NUM + 1), unsigned)
 
 /* MVS modes */
-#define MVS_MODE_IS733 1
-#define MVS_MODE_IS127 2
-#define MVS_MODE_4GV_NB 3
-#define MVS_MODE_4GV_WB 4
-#define MVS_MODE_AMR 5
-#define MVS_MODE_EFR 6
-#define MVS_MODE_FR 7
-#define MVS_MODE_HR 8
-#define MVS_MODE_LINEAR_PCM 9
-#define MVS_MODE_G711 10
-#define MVS_MODE_PCM 12
-#define MVS_MODE_AMR_WB 13
-#define MVS_MODE_G729A 14
-#define MVS_MODE_G711A 15
-#define MVS_MODE_G722 16
+#define MVS_MODE_IS733 0x1
+#define MVS_MODE_IS127 0x2
+#define MVS_MODE_4GV_NB 0x3
+#define MVS_MODE_4GV_WB 0x4
+#define MVS_MODE_AMR 0x5
+#define MVS_MODE_EFR 0x6
+#define MVS_MODE_FR 0x7
+#define MVS_MODE_HR 0x8
+#define MVS_MODE_LINEAR_PCM 0x9
+#define MVS_MODE_G711 0xA
+#define MVS_MODE_PCM 0xC
+#define MVS_MODE_AMR_WB 0xD
+#define MVS_MODE_G729A 0xE
+#define MVS_MODE_G711A 0xF
+#define MVS_MODE_G722 0x10
+#define MVS_MODE_PCM_WB 0x80000000
 
 enum msm_audio_amr_mode {
 	MVS_AMR_MODE_0475, /* AMR 4.75 kbps */
@@ -99,7 +100,7 @@
 	uint32_t dtx_mode;
 };
 
-#define MVS_MAX_VOC_PKT_SIZE 320
+#define MVS_MAX_VOC_PKT_SIZE 640
 
 struct msm_audio_mvs_frame {
 	uint32_t frame_type;