summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRohit Kumar <rohitkr@codeaurora.org>2017-05-19 18:33:19 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-12 23:02:49 -0700
commit4282bbbb81023d4016ad0b23fabb841f878a4957 (patch)
tree5a93d5e205fe8ac3f1a7188b0546904be376a2bf
parent85baaeb2e2d0e7c67bf4e5cc22d15e173d01b209 (diff)
ASoC: msm: qdspv6: Fix wrong smmu sid for ULL playback
SMMU sid is set to 0 in q6asm_set_shared_circ_buff and q6asm_set_shared_pos_buff in 32 bit arch. Fix it to send proper SID to ADSP when sharing buffer. Change-Id: I00cc0f881acd7a4a52292e65360ea7b03f2f0212 Signed-off-by: Rohit Kumar <rohitkr@codeaurora.org>
-rw-r--r--sound/soc/msm/qdsp6v2/q6asm.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/soc/msm/qdsp6v2/q6asm.c b/sound/soc/msm/qdsp6v2/q6asm.c
index da156bf61610..6f097b7e8dd5 100644
--- a/sound/soc/msm/qdsp6v2/q6asm.c
+++ b/sound/soc/msm/qdsp6v2/q6asm.c
@@ -3399,11 +3399,12 @@ int q6asm_set_shared_circ_buff(struct audio_client *ac,
open->shared_circ_buf_start_phy_addr_lsw =
lower_32_bits(buf_circ->phys);
open->shared_circ_buf_start_phy_addr_msw =
- upper_32_bits(buf_circ->phys);
+ msm_audio_populate_upper_32_bits(buf_circ->phys);
open->shared_circ_buf_size = bufsz * bufcnt;
open->map_region_circ_buf.shm_addr_lsw = lower_32_bits(buf_circ->phys);
- open->map_region_circ_buf.shm_addr_msw = upper_32_bits(buf_circ->phys);
+ open->map_region_circ_buf.shm_addr_msw =
+ msm_audio_populate_upper_32_bits(buf_circ->phys);
open->map_region_circ_buf.mem_size_bytes = bytes_to_alloc;
mutex_unlock(&ac->cmd_lock);
@@ -3445,10 +3446,12 @@ int q6asm_set_shared_pos_buff(struct audio_client *ac,
open->shared_pos_buf_num_regions = 1;
open->shared_pos_buf_property_flag = 0x00;
open->shared_pos_buf_phy_addr_lsw = lower_32_bits(buf_pos->phys);
- open->shared_pos_buf_phy_addr_msw = upper_32_bits(buf_pos->phys);
+ open->shared_pos_buf_phy_addr_msw =
+ msm_audio_populate_upper_32_bits(buf_pos->phys);
open->map_region_pos_buf.shm_addr_lsw = lower_32_bits(buf_pos->phys);
- open->map_region_pos_buf.shm_addr_msw = upper_32_bits(buf_pos->phys);
+ open->map_region_pos_buf.shm_addr_msw =
+ msm_audio_populate_upper_32_bits(buf_pos->phys);
open->map_region_pos_buf.mem_size_bytes = bytes_to_alloc;
done: