summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-13 04:51:48 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-13 04:51:48 -0700
commit2e3eed92118411a0aa60d4eb1bf574b23808d997 (patch)
treea8234cc9701ca462b7ada4a8fe9e683b8c53d1c5
parentfb24f59004ec9867b80ddfadae9afebb28a53cde (diff)
parent383b4c2da192b23559e07f361cf93029994f7155 (diff)
Merge "bluetooth: Add Split A2DP slimbus"
-rw-r--r--drivers/bluetooth/btfm_slim.c3
-rw-r--r--drivers/bluetooth/btfm_slim.h2
-rw-r--r--drivers/bluetooth/btfm_slim_codec.c22
-rw-r--r--drivers/bluetooth/btfm_slim_wcn3990.c2
4 files changed, 15 insertions, 14 deletions
diff --git a/drivers/bluetooth/btfm_slim.c b/drivers/bluetooth/btfm_slim.c
index 3b3d1b2e37b1..a88ae0f59e63 100644
--- a/drivers/bluetooth/btfm_slim.c
+++ b/drivers/bluetooth/btfm_slim.c
@@ -132,7 +132,8 @@ int btfm_slim_enable_ch(struct btfmslim *btfmslim, struct btfmslim_ch *ch,
/* Define the channel with below parameters */
prop.prot = SLIM_AUTO_ISO;
prop.baser = SLIM_RATE_4000HZ;
- prop.dataf = SLIM_CH_DATAF_LPCM_AUDIO;
+ prop.dataf = (rates == 48000) ? SLIM_CH_DATAF_NOT_DEFINED
+ : SLIM_CH_DATAF_LPCM_AUDIO;
prop.auxf = SLIM_CH_AUXF_NOT_APPLICABLE;
prop.ratem = (rates/4000);
prop.sampleszbits = 16;
diff --git a/drivers/bluetooth/btfm_slim.h b/drivers/bluetooth/btfm_slim.h
index 1161708d6a90..dbb4c563d802 100644
--- a/drivers/bluetooth/btfm_slim.h
+++ b/drivers/bluetooth/btfm_slim.h
@@ -39,7 +39,7 @@
enum {
BTFM_FM_SLIM_TX = 0,
BTFM_BT_SCO_SLIM_TX,
- BTFM_BT_SCO_SLIM_RX,
+ BTFM_BT_SCO_A2DP_SLIM_RX,
BTFM_BT_SPLIT_A2DP_SLIM_RX,
BTFM_SLIM_NUM_CODEC_DAIS
};
diff --git a/drivers/bluetooth/btfm_slim_codec.c b/drivers/bluetooth/btfm_slim_codec.c
index 2194b8cc6f6f..d7d24ff07801 100644
--- a/drivers/bluetooth/btfm_slim_codec.c
+++ b/drivers/bluetooth/btfm_slim_codec.c
@@ -102,7 +102,7 @@ int btfm_slim_dai_prepare(struct snd_pcm_substream *substream,
ch = btfmslim->tx_chs;
rxport = 0;
break;
- case BTFM_BT_SCO_SLIM_RX:
+ case BTFM_BT_SCO_A2DP_SLIM_RX:
case BTFM_BT_SPLIT_A2DP_SLIM_RX:
ch = btfmslim->rx_chs;
rxport = 1;
@@ -150,7 +150,7 @@ int btfm_slim_dai_hw_free(struct snd_pcm_substream *substream,
ch = btfmslim->tx_chs;
rxport = 0;
break;
- case BTFM_BT_SCO_SLIM_RX:
+ case BTFM_BT_SCO_A2DP_SLIM_RX:
case BTFM_BT_SPLIT_A2DP_SLIM_RX:
ch = btfmslim->rx_chs;
rxport = 1;
@@ -267,7 +267,7 @@ static int btfm_slim_dai_get_channel_map(struct snd_soc_dai *dai,
*tx_num = num;
*rx_num = 0;
break;
- case BTFM_BT_SCO_SLIM_RX:
+ case BTFM_BT_SCO_A2DP_SLIM_RX:
case BTFM_BT_SPLIT_A2DP_SLIM_RX:
if (!rx_slot || !rx_num) {
BTFMSLIM_ERR("Invalid rx_slot %p or rx_num %p",
@@ -335,7 +335,7 @@ static struct snd_soc_dai_driver btfmslim_dai[] = {
},
.ops = &btfmslim_dai_ops,
},
- { /* Bluetooth SCO NBS voice uplink: bt -> modem */
+ { /* Bluetooth SCO voice uplink: bt -> modem */
.name = "btfm_bt_sco_slim_tx",
.id = BTFM_BT_SCO_SLIM_TX,
.capture = {
@@ -350,15 +350,15 @@ static struct snd_soc_dai_driver btfmslim_dai[] = {
},
.ops = &btfmslim_dai_ops,
},
- { /* Bluetooth SCO NBS voice downlink: modem -> bt */
- .name = "btfm_bt_sco_slim_rx",
- .id = BTFM_BT_SCO_SLIM_RX,
+ { /* Bluetooth SCO voice downlink: modem -> bt or A2DP Playback */
+ .name = "btfm_bt_sco_a2dp_slim_rx",
+ .id = BTFM_BT_SCO_A2DP_SLIM_RX,
.playback = {
- .stream_name = "SCO RX Playback",
- /* 8 KHz or 16 KHz */
- .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
+ .stream_name = "SCO A2DP RX Playback",
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000
+ | SNDRV_PCM_RATE_48000, /* 8 or 16 or 48 Khz*/
.formats = SNDRV_PCM_FMTBIT_S16_LE, /* 16 bits */
- .rate_max = 16000,
+ .rate_max = 48000,
.rate_min = 8000,
.channels_min = 1,
.channels_max = 1,
diff --git a/drivers/bluetooth/btfm_slim_wcn3990.c b/drivers/bluetooth/btfm_slim_wcn3990.c
index 3300085be9a7..7d7bd2441c6e 100644
--- a/drivers/bluetooth/btfm_slim_wcn3990.c
+++ b/drivers/bluetooth/btfm_slim_wcn3990.c
@@ -15,7 +15,7 @@
/* WCN3990 Port assignment */
struct btfmslim_ch wcn3990_rxport[] = {
- {.id = BTFM_BT_SCO_SLIM_RX, .name = "SCO_Rx",
+ {.id = BTFM_BT_SCO_A2DP_SLIM_RX, .name = "SCO_A2P_Rx",
.port = CHRK_SB_PGD_PORT_RX_SCO},
{.id = BTFM_BT_SPLIT_A2DP_SLIM_RX, .name = "A2P_Rx",
.port = CHRK_SB_PGD_PORT_RX_A2P},