Jelajahi Sumber

Merge "dsp: Avoid configuring PSPD channel mixer if PSPD is already configured"

qctecmdr 5 tahun lalu
induk
melakukan
457a39d314
1 mengubah file dengan 11 tambahan dan 0 penghapusan
  1. 11 0
      dsp/q6adm.c

+ 11 - 0
dsp/q6adm.c

@@ -513,6 +513,17 @@ int adm_programable_channel_mixer(int port_id, int copp_idx, int session_id,
 		pr_err("%s: Invalid port_id %#x\n", __func__, port_id);
 		return -EINVAL;
 	}
+
+	/*
+	 * check if PSPD is already configured
+	 * if it is configured already, return 0 without applying PSPD.
+	 */
+	if (atomic_read(&this_adm.copp.cnt[port_idx][copp_idx]) > 1) {
+		pr_debug("%s: copp.cnt:%#x\n", __func__,
+			atomic_read(&this_adm.copp.cnt[port_idx][copp_idx]));
+		return 0;
+	}
+
 	/*
 	 * First 8 bytes are 4 bytes as rule number, 2 bytes as output
 	 * channel and 2 bytes as input channel.