From patchwork Wed Nov 17 15:10:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 12624895 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E4FAC433EF for ; Wed, 17 Nov 2021 15:11:41 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B9A3060ED3 for ; Wed, 17 Nov 2021 15:11:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B9A3060ED3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id ACFB0191B; Wed, 17 Nov 2021 16:10:47 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz ACFB0191B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1637161897; bh=J7nm1w026Lj0fzKHH96qDK02Rfn+BxuPr2vq5bDxdgU=; h=From:To:Subject:Date:Cc:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=TTh++XswYv+fSf4pvZZTLOwE3rdtMkvNdzlcNfy34hb0QoEHcjCHE7oWwxzbNnE7B IU8zxahwmKLBLM9fXmu6PqRPGGw4KjaQvDJMbkEBKN+UDbQT7pKLGFqHMOOBljJBNG ZB1HBAtuosN5cbL4wHjApLj4q/7tBrOPuhvPEvEo= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 49431F8016C; Wed, 17 Nov 2021 16:10:47 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 637CDF8028B; Wed, 17 Nov 2021 16:10:45 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 1C3E9F80134 for ; Wed, 17 Nov 2021 16:10:39 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 1C3E9F80134 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="eVeQzpcJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637161833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=onbHpGDOHj34j8P09pCtbtSHIxBzzWQrWh5eZpQwss8=; b=eVeQzpcJREFE8bFc7z10/8zP7DI2bDpQ//M1TSncewcQn57rWm1a12muwR2RASN+WVdaAU 2KldbjiIWIGWGncENuw/QkI2x7Kt2yzzTg0NRurgRZzrhhgcZ9XjJ1ZDm+B1D2di74jjhH c6Zrc4CfoJ5sV42yJtSj/Jqj01bjpW0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-402-XU5v64k_M5KhVEdloJMLgA-1; Wed, 17 Nov 2021 10:10:29 -0500 X-MC-Unique: XU5v64k_M5KhVEdloJMLgA-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4A77F1B2C9AF; Wed, 17 Nov 2021 15:10:26 +0000 (UTC) Received: from x1.localdomain (unknown [10.39.193.23]) by smtp.corp.redhat.com (Postfix) with ESMTP id 033595DEFB; Wed, 17 Nov 2021 15:10:23 +0000 (UTC) From: Hans de Goede To: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Jie Yang , Mark Brown Subject: [PATCH 5.16 regression fix 1/2] ASoC: Intel: soc-acpi-byt: Revert shrink tables using compatible IDs Date: Wed, 17 Nov 2021 16:10:21 +0100 Message-Id: <20211117151022.122286-1-hdegoede@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hdegoede@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Cc: Hans de Goede , alsa-devel@alsa-project.org, Brent Lu X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" Commit dac7cbd55dca ("ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs") simplified the match tables in soc-acpi-intel-byt-match.c by merging identical entries using the new .comp_ids snd_soc_acpi_mach field to point a single entry to multiple ACPI HIDs and clearing the previously unique per entry .id field. But various machine drivers from sound/soc/intel/boards rely on mach->id in one or more ways. For example all of the following machine-drivers for entries combined during the shrinking: sound/soc/intel/boards/bytcr_rt5640.c sound/soc/intel/boards/bytcr_wm5102.c sound/soc/intel/boards/bytcht_da7213.c sound/soc/intel/boards/cht_bsw_rt5645.c Do: adev = acpi_dev_get_first_match_dev(mach->id, NULL, -1); Which now no longer works and some of them also do: pkg_found = snd_soc_acpi_find_package_from_hid(mach->id, ... Which now also no longer works. All these calls need to be fixed before we can shrink the tables, so revert this change for now. Fixes: dac7cbd55dca ("ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs") Cc: Pierre-Louis Bossart Cc: Brent Lu Signed-off-by: Hans de Goede --- .../intel/common/soc-acpi-intel-byt-match.c | 68 ++++++++++++------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/sound/soc/intel/common/soc-acpi-intel-byt-match.c b/sound/soc/intel/common/soc-acpi-intel-byt-match.c index 142000991813..510a5f38b7f1 100644 --- a/sound/soc/intel/common/soc-acpi-intel-byt-match.c +++ b/sound/soc/intel/common/soc-acpi-intel-byt-match.c @@ -120,29 +120,9 @@ static struct snd_soc_acpi_mach *byt_quirk(void *arg) } } -static const struct snd_soc_acpi_codecs rt5640_comp_ids = { - .num_codecs = 3, - .codecs = { "10EC5640", "10EC5642", "INTCCFFD"}, -}; - -static const struct snd_soc_acpi_codecs wm5102_comp_ids = { - .num_codecs = 2, - .codecs = { "WM510204", "WM510205"}, -}; - -static const struct snd_soc_acpi_codecs da7213_comp_ids = { - .num_codecs = 2, - .codecs = { "DGLS7212", "DGLS7213"}, -}; - -static const struct snd_soc_acpi_codecs rt5645_comp_ids = { - .num_codecs = 2, - .codecs = { "10EC5645", "10EC5648"}, -}; - struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = { { - .comp_ids = &rt5640_comp_ids, + .id = "10EC5640", .drv_name = "bytcr_rt5640", .fw_filename = "intel/fw_sst_0f28.bin", .board = "bytcr_rt5640", @@ -150,6 +130,22 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = { .sof_fw_filename = "sof-byt.ri", .sof_tplg_filename = "sof-byt-rt5640.tplg", }, + { + .id = "10EC5642", + .drv_name = "bytcr_rt5640", + .fw_filename = "intel/fw_sst_0f28.bin", + .board = "bytcr_rt5640", + .sof_fw_filename = "sof-byt.ri", + .sof_tplg_filename = "sof-byt-rt5640.tplg", + }, + { + .id = "INTCCFFD", + .drv_name = "bytcr_rt5640", + .fw_filename = "intel/fw_sst_0f28.bin", + .board = "bytcr_rt5640", + .sof_fw_filename = "sof-byt.ri", + .sof_tplg_filename = "sof-byt-rt5640.tplg", + }, { .id = "10EC5651", .drv_name = "bytcr_rt5651", @@ -159,7 +155,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = { .sof_tplg_filename = "sof-byt-rt5651.tplg", }, { - .comp_ids = &wm5102_comp_ids, + .id = "WM510204", .drv_name = "bytcr_wm5102", .fw_filename = "intel/fw_sst_0f28.bin", .board = "bytcr_wm5102", @@ -167,7 +163,23 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = { .sof_tplg_filename = "sof-byt-wm5102.tplg", }, { - .comp_ids = &da7213_comp_ids, + .id = "WM510205", + .drv_name = "bytcr_wm5102", + .fw_filename = "intel/fw_sst_0f28.bin", + .board = "bytcr_wm5102", + .sof_fw_filename = "sof-byt.ri", + .sof_tplg_filename = "sof-byt-wm5102.tplg", + }, + { + .id = "DLGS7212", + .drv_name = "bytcht_da7213", + .fw_filename = "intel/fw_sst_0f28.bin", + .board = "bytcht_da7213", + .sof_fw_filename = "sof-byt.ri", + .sof_tplg_filename = "sof-byt-da7213.tplg", + }, + { + .id = "DLGS7213", .drv_name = "bytcht_da7213", .fw_filename = "intel/fw_sst_0f28.bin", .board = "bytcht_da7213", @@ -190,7 +202,15 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_baytrail_machines[] = { }, /* some Baytrail platforms rely on RT5645, use CHT machine driver */ { - .comp_ids = &rt5645_comp_ids, + .id = "10EC5645", + .drv_name = "cht-bsw-rt5645", + .fw_filename = "intel/fw_sst_0f28.bin", + .board = "cht-bsw", + .sof_fw_filename = "sof-byt.ri", + .sof_tplg_filename = "sof-byt-rt5645.tplg", + }, + { + .id = "10EC5648", .drv_name = "cht-bsw-rt5645", .fw_filename = "intel/fw_sst_0f28.bin", .board = "cht-bsw",