--- /dev/null
+From ae4fc532244b3bb4d86c397418d980b0c6be1dfd Mon Sep 17 00:00:00 2001
+From: Shuming Fan <shumingf@realtek.com>
+Date: Mon, 8 Feb 2021 17:40:42 -0600
+Subject: ASoC: dapm: use component prefix when checking widget names
+
+From: Shuming Fan <shumingf@realtek.com>
+
+commit ae4fc532244b3bb4d86c397418d980b0c6be1dfd upstream.
+
+On a TigerLake SoundWire platform, we see these warnings:
+
+[ 27.360086] rt5682 sdw:0:25d:5682:0: ASoC: DAPM unknown pin MICBIAS
+[ 27.360092] rt5682 sdw:0:25d:5682:0: ASoC: DAPM unknown pin Vref2
+
+This is root-caused to the addition of a component prefix in the
+machine driver. The tests in soc-dapm should account for a prefix
+instead of reporting an invalid issue.
+
+Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Rander Wang <rander.wang@linux.intel.com>
+Signed-off-by: Shuming Fan <shumingf@realtek.com>
+Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Link: https://lore.kernel.org/r/20210208234043.59750-2-pierre-louis.bossart@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Robert Lee <lerobert@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/soc-dapm.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/sound/soc/soc-dapm.c
++++ b/sound/soc/soc-dapm.c
+@@ -2528,9 +2528,20 @@ static struct snd_soc_dapm_widget *dapm_
+ {
+ struct snd_soc_dapm_widget *w;
+ struct snd_soc_dapm_widget *fallback = NULL;
++ char prefixed_pin[80];
++ const char *pin_name;
++ const char *prefix = soc_dapm_prefix(dapm);
++
++ if (prefix) {
++ snprintf(prefixed_pin, sizeof(prefixed_pin), "%s %s",
++ prefix, pin);
++ pin_name = prefixed_pin;
++ } else {
++ pin_name = pin;
++ }
+
+ for_each_card_widgets(dapm->card, w) {
+- if (!strcmp(w->name, pin)) {
++ if (!strcmp(w->name, pin_name)) {
+ if (w->dapm == dapm)
+ return w;
+ else