Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp36798115rwd; Tue, 11 Jul 2023 06:01:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlHWYcafK54uot3GMHh+8xNcSi8nziqlFHEH/0rvqXiSG+165S75bYnPXVABeIuciFCtculu X-Received: by 2002:a17:90a:ac0d:b0:262:ec13:d3a with SMTP id o13-20020a17090aac0d00b00262ec130d3amr17013449pjq.28.1689080470169; Tue, 11 Jul 2023 06:01:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689080470; cv=none; d=google.com; s=arc-20160816; b=gWAQ68nP4VZ78Hj1pKGdOCAswC3cGLfJywBm7trGm32BndeGEHKzAiMIJbvRN4MB/D TYF8emuRZ2OhfeLHyiz+U1swBh/ZYiRfnOs4hO9aVHahpFQ27n9jcYUQSiy+WovtqVw7 F3pw2fILLIsn49+WoMVI6yPjsxrW6TVSzcglYv6y7ck2DLJZHZQXGM3xlp17Yn9zm2Ko gw7oJtzqrv0+dDK77pEGz17IXEBMMyEg+aMszGyVbH1vuI1krkPU/ikYt2PdQK3SyL69 etL1aixDliuH5G9eOn0DwXQVnFmd0wBbcPNFJyjUs/rzKNOl9MaBriM0NXHQ7jZyQccy fvRw== 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=H7uN0GbRfTjXyXzo3fG7dsaC3dQzioXNssZkidj/xYo=; fh=sKxO7Xj+YIOQJw2gBVYevujm0+5GA4/lF0Hs7SAhyQ0=; b=vltYLohsSCnbgYmC/ihAwhApflbTxfiykINb+/d6TVPDNyzV8AiWQIVUF0lD/HvzAl vra79KX7JKcrAq+rMtk4fgDRexlIHxkJ821SEvgFCMZx4YUBO9PZ7qx77q3hqeNBaO/u 9/H4glDLU7+hVUNFC7IY4xQP015J8p74VDc9aY5892Kn3V3iEVh2biMxvyEhUcYId8VJ V6E0+b84yEXhlpy0NbtQGwigccvqck/Dz6bOKloSQcC/vpyaYwkepcg1IUg3KUeB/3ec CwKsE8ghM05LGEC/LwwwgJQRAQH9VmaDykrCow4vLlBUb4cseE3YZoig1OGUUPY81Ge7 BPwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Usi03dCp; 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=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a7-20020a17090a008700b002637aa0a4dbsi8638941pja.103.2023.07.11.06.00.50; Tue, 11 Jul 2023 06:01:10 -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=@intel.com header.s=Intel header.b=Usi03dCp; 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231690AbjGKM5d (ORCPT + 99 others); Tue, 11 Jul 2023 08:57:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231441AbjGKM5c (ORCPT ); Tue, 11 Jul 2023 08:57:32 -0400 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C3E6610EA; Tue, 11 Jul 2023 05:57:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689080245; x=1720616245; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cqzG/YH5kuutolTR1cOIZEsbX/zwe6Apecdzhtfj8uI=; b=Usi03dCpw0uOVOEiZr4WP0ryP3hArSw4Bxayc5FVLumKUf98FQytgWHk g8nquCIWKqlkVcYD5sYXuFtg3zpiwG/V8kw5R+502cQkh4sXeKTjbEGmu royw43R9Ju8YN13xXKy0FQLwsThhJxT+ZliSDcmca7F2bn/sa9S2MLP0o MpuXqr1Ebt/3OzXJXan7HXgPt3OKdFVTs+IqyXz+YYoIIb0ok0H72eVHP kaJOJRBIsDHbSU6mhsIWijqnLr1+opd/fDPiDmatQ+3XKrYlTVF/4TIv5 CMyRB1/WrNr8sqzOrss2Dipog6ZuKwemgx9WNKSIRyQKfXb3Zqow3+8Xe A==; X-IronPort-AV: E=McAfee;i="6600,9927,10768"; a="367187388" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="367187388" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jul 2023 05:57:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10768"; a="834666531" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="834666531" Received: from dev2 (HELO DEV2.igk.intel.com) ([10.237.148.94]) by fmsmga002.fm.intel.com with ESMTP; 11 Jul 2023 05:57:13 -0700 From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: Bjorn Helgaas , Mark Brown , Takashi Iwai Cc: alsa-devel@alsa-project.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Cezary Rojewski , Pierre-Louis Bossart , Kai Vehmanen , Andy Shevchenko , Hans de Goede , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 03/13] ALSA: hda: Add controller matching macros Date: Tue, 11 Jul 2023 14:57:16 +0200 Message-Id: <20230711125726.3509391-4-amadeuszx.slawinski@linux.intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230711125726.3509391-1-amadeuszx.slawinski@linux.intel.com> References: <20230711125726.3509391-1-amadeuszx.slawinski@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Some HDA controllers require additional handling, so there are macros to match them, however those are spread across multiple files. Add them all in one place, so they can be reused. Signed-off-by: Amadeusz Sławiński --- include/sound/hdaudio.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h index 2ffdf58bd6d4..aacacca456d5 100644 --- a/include/sound/hdaudio.h +++ b/include/sound/hdaudio.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -704,4 +705,30 @@ static inline unsigned int snd_array_index(struct snd_array *array, void *ptr) for ((idx) = 0, (ptr) = (array)->list; (idx) < (array)->used; \ (ptr) = snd_array_elem(array, ++(idx))) +/* + * Device matching + */ + +#define HDA_CONTROLLER_IS_HSW(pci) (pci_match_id((struct pci_device_id []){ \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_0) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_2) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_HSW_3) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_BDW) }, \ + { } \ + }, pci)) + +#define HDA_CONTROLLER_IS_APL(pci) (pci_match_id((struct pci_device_id []){ \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_APL) }, \ + { } \ + }, pci)) + +#define HDA_CONTROLLER_IN_GPU(pci) (HDA_CONTROLLER_IS_HSW(pci) || \ + pci_match_id((struct pci_device_id []){ \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG1) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_0) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_1) }, \ + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_HDA_DG2_2) }, \ + { } \ + }, pci)) + #endif /* __SOUND_HDAUDIO_H */ -- 2.34.1