summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2020-10-09 02:09:44 -0700
committerLinux Build Service Account <lnxbuild@localhost>2020-10-09 02:09:44 -0700
commit7c00471d93449c5c12de94807dd2e3fe696d68ee (patch)
tree3dcca4ad5be8a9a1c27a040918908e9ead0fd7b1
parentdb4c33c3dd0f75e698d0f924bf95e9817d6965a6 (diff)
parentdce57d817758260a14181dece4a2c8b92887e6e9 (diff)
Merge dce57d817758260a14181dece4a2c8b92887e6e9 on remote branch
Change-Id: Ieb88fbc3fd9f02263b4bae870023044e95dd8656
-rw-r--r--drivers/staging/android/lowmemorykiller.c2
-rw-r--r--sound/soc/msm/msm8998.c9
-rw-r--r--sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c4
3 files changed, 14 insertions, 1 deletions
diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
index ee4c11b4e164..62a51d9b7611 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -665,6 +665,7 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
}
task_lock(selected);
+ get_task_struct(selected);
send_sig(SIGKILL, selected, 0);
/*
* FIXME: lowmemorykiller shouldn't abuse global OOM killer
@@ -713,7 +714,6 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
lowmem_deathpending_timeout = jiffies + HZ;
rem += selected_tasksize;
rcu_read_unlock();
- get_task_struct(selected);
/* give the system time to free up the memory */
msleep_interruptible(20);
trace_almk_shrink(selected_tasksize, ret,
diff --git a/sound/soc/msm/msm8998.c b/sound/soc/msm/msm8998.c
index c1b238e18f9e..8b3da6d7dd64 100644
--- a/sound/soc/msm/msm8998.c
+++ b/sound/soc/msm/msm8998.c
@@ -6260,6 +6260,15 @@ static int msm8998_tdm_snd_hw_params(struct snd_pcm_substream *substream,
slot_width, slots, tdm_interface);
pr_debug("%s: slot_mask :%x\n", __func__, slot_mask);
+ if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
+ /* over write slot-mask if configured for full slots */
+ if ((slots == 32) && (slot_width == 16))
+ slot_mask = 0xffffffff;
+ else if ((slots == 16) && (slot_width == 32))
+ slot_mask = 0xffff;
+ pr_debug("%s:slot_mask :%x slots %d slot_width %d\n", __func__,
+ slot_mask, slots, slot_width);
+ }
if (!slot_mask) {
pr_err("%s: invalid slot_mask 0x%x\n",
__func__, slot_mask);
diff --git a/sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c b/sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c
index e0a41de1e095..b3b5ebd4d5a2 100644
--- a/sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c
+++ b/sound/soc/msm/qdsp6v2/msm-pcm-routing-v2.c
@@ -1571,6 +1571,10 @@ int msm_pcm_routing_reg_phy_stream(int fedai_id, int perf_mode,
/* re-enable EQ if active */
msm_qti_pp_send_eq_values(fedai_id);
for (i = 0; i < MSM_BACKEND_DAI_MAX; i++) {
+
+ if (test_bit(fedai_id, &msm_bedais[i].fe_sessions[0]))
+ msm_bedais[i].passthr_mode[fedai_id] = LEGACY_PCM;
+
if (!is_be_dai_extproc(i) &&
(afe_get_port_type(msm_bedais[i].port_id) == port_type) &&
(msm_bedais[i].active) &&