Received: by 2002:a05:6358:701b:b0:131:369:b2a3 with SMTP id 27csp2547876rwo; Sun, 23 Jul 2023 18:39:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlFcAGb5KUpKOn8incbbX12G4ytgPaVTcmTm8SOMYGqFAxJmNyfTy7A6QEaztQ9SCzwvWFmC X-Received: by 2002:aa7:c1c4:0:b0:521:d23d:6850 with SMTP id d4-20020aa7c1c4000000b00521d23d6850mr6831476edp.21.1690162742285; Sun, 23 Jul 2023 18:39:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690162742; cv=none; d=google.com; s=arc-20160816; b=rK/l2KiY6sifrzdAs7kdTt6ecwFm0Gd8w6IrhhtOa0x26BKwwKydfAS15bFceyeeKk Uj58WNNNP3szKp29Pc9RTJjnjZIMDt0PwtOOgBOfJrt46QwGQFJ7Yi08RQxQmi5kWlEo 2ffANndj8HVWBTe93IK17jHFdkc4erU85XaQkAtGdSwkwnwvaXMkLlrN9aZHJ5Pgi0t+ HCmz+tBydPMQiAeJ8+omk/a6+f9gcA5s+wmANWvHhWJftPRFkakdc0O3qQI0FhznVPZv Z7Pal6dToKvo+ShkbGgT+CWASuL+du9DirhFCgSRYnuIkRe3DMyBJX/3CpZICS8wfGyo HH6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vCnh/Y0sZqlAkkL8n2nKiuinzWGMlmp1dVFMfZxkV6c=; fh=oyCa/jyWOyAqVu+mjyLSIaiCB9kY4YIETQ0/RI6pwio=; b=tH46uisPxA7SJGyU056OFIKFzdyN3mE/u+06SpDkFE2cI4RNifaI+F+9VspXIZ0KIq UkZ9Gwd32OI6rHQMj5TYybToYn8BtKpXi72VZ1a5qsJmV22jt6uGcLjgFQGxbflCvu0q k8FG2IBvTBVzTWKiA1LXlLR0mG9CK089CsFeo0LRmGBjcJRDcPwBYYqys7KD3ofY8hs7 gHc5NCITJhTXk6+kf3x7eQPdHAzWPJ+w8HoAmYuEQlwS8kUl05T6cnXUZLL5aLM3w7H1 eulowwjwXKKe4EaEWjqohyIVW42yVw30PdRjt95AfIfngnkVaRBMEPknTl4q9XjU2NBL cFSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=thlGnBfr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p13-20020a056402074d00b0051e2819d4a1si5500717edy.543.2023.07.23.18.38.38; Sun, 23 Jul 2023 18:39:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=thlGnBfr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229725AbjGXBSv (ORCPT + 99 others); Sun, 23 Jul 2023 21:18:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229617AbjGXBSu (ORCPT ); Sun, 23 Jul 2023 21:18:50 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E100CE73; Sun, 23 Jul 2023 18:18:28 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E664A60EF2; Mon, 24 Jul 2023 01:17:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA2D6C433C8; Mon, 24 Jul 2023 01:17:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1690161459; bh=b3OPZH3dyCLUwdhf6RB/2yvIUaHHXPW5Q8DktTtWGPw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=thlGnBfrkqht1Q6hOkb9zJI7j4lbcT271uF4qjxtuN4+BrxDTT+aRoO3bpKXZ2t9W eRclqA/0qq3Zhwh6QtTSNCEzr+KXoPu7TOdfdn/c5c1LXwoOcSOtm7e49E0b4ZVCGU N8dxC5j5vmek0iX/DJYS1G76/6pZAlzgo2r+8ROJg0BXOS4srWyQ0kE+GXVJXnjzLo lCWfzkoHQdUG56jm5mk/U/S5WyzmMpOQtxGA3CifL/qplPs/jk60J5GiGBV72DzKiJ BFciG60Su51lo8FplTrXYBkiJrF3Et/A0XbwkgrDKcJHip8bluZrJnAurfFkrLv9UN BNNb/5rHxsiuQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Pierre-Louis Bossart , Bard Liao , Ranjani Sridharan , Mark Brown , Sasha Levin , lgirdwood@gmail.com, peter.ujfalusi@linux.intel.com, daniel.baluta@nxp.com, perex@perex.cz, tiwai@suse.com, sound-open-firmware@alsa-project.org, alsa-devel@alsa-project.org Subject: [PATCH AUTOSEL 6.4 29/58] ASoC: SOF: Intel: fix SoundWire/HDaudio mutual exclusion Date: Sun, 23 Jul 2023 21:12:57 -0400 Message-Id: <20230724011338.2298062-29-sashal@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230724011338.2298062-1-sashal@kernel.org> References: <20230724011338.2298062-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.4.5 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pierre-Louis Bossart [ Upstream commit f751b99255cacd9ffe8c4bbf99767ad670cee1f7 ] The functionality described in Commit 61bef9e68dca ("ASoC: SOF: Intel: hda: enforce exclusion between HDaudio and SoundWire") does not seem to be properly implemented with two issues that need to be corrected. a) The test used is incorrect when DisplayAudio codecs are not supported. b) Conversely when only Display Audio codecs can be found, we do want to start the SoundWire links, if any. That will help add the relevant topologies and machine descriptors, and identify cases where the SoundWire information in ACPI needs to be modified with a quirk. Signed-off-by: Pierre-Louis Bossart Reviewed-by: Bard Liao Reviewed-by: Ranjani Sridharan Link: https://lore.kernel.org/r/20230606222529.57156-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/sof/intel/hda.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 3153e21f100ab..3853582e32e12 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -1343,12 +1343,22 @@ static void hda_generic_machine_select(struct snd_sof_dev *sdev, hda_mach->mach_params.dmic_num = dmic_num; pdata->tplg_filename = tplg_filename; - if (codec_num == 2) { + if (codec_num == 2 || + (codec_num == 1 && !HDA_IDISP_CODEC(bus->codec_mask))) { /* * Prevent SoundWire links from starting when an external * HDaudio codec is used */ hda_mach->mach_params.link_mask = 0; + } else { + /* + * Allow SoundWire links to start when no external HDaudio codec + * was detected. This will not create a SoundWire card but + * will help detect if any SoundWire codec reports as ATTACHED. + */ + struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata; + + hda_mach->mach_params.link_mask = hdev->info.link_mask; } *mach = hda_mach; -- 2.39.2