From nobody Mon May 25 06:40:26 2026 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 499C930C168 for ; Sun, 17 May 2026 20:40:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779050430; cv=none; b=cBr4Gi9Dr9Cl+smf+2aM/KPK0vW3Jrk4I3Gm7nD2+0crjdlvtx4as7kUuL3R1aMJLtAMOzR/lNNFlIOnF3M7FYYcozcVFJ/YWtvix5II6eTSd4npxsn9m30J6eDfdr9V2sckIA4WAwhaYTSNVTSriVe0EKayjcez64J7XsToe3M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779050430; c=relaxed/simple; bh=/91xEHo09B4MpAyyMbTl2iKoyfC3jY8fQADRFfMO9Ds=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YDrkuNWvZkIuX5fXMLs9BZw/NNL/Scw2G+C5TXj6QXoq5FGM3wZ9dMQjG/Jqd8rQt/1P49ofcWY6RqjCHZYM+yiHDLTAkUDLs0X+PRqMS1hh02Khl41Wi/iCsTV3d+p+iXhn7K2IVrs+ad8guO0WPEPz+4QRGfsdtG+2bBkfOCU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eGJYEmft; arc=none smtp.client-ip=209.85.215.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eGJYEmft" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-c6e85f76efeso60118a12.1 for ; Sun, 17 May 2026 13:40:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779050427; x=1779655227; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uPzpi+Ny6TJ1dvpLwb7zEeBl/HAG19Nf4ImcVOOaWvw=; b=eGJYEmft+6UQezWHit4TmddBETzV9WW3dfzTLyGBlxRDHjfQooEFTdubO1VbB4mJiF 4S5tsNOfH7e3n4uxl2kImUqzFoG2B9vpZwfiBHFceHqDPSJJckV+AQ+8OQdXAXHg3x+d w7ZdwGQFEloHUzxFQlHZV6sVRD38ZpOp00fYrCB9Hhh8d5MRrFNNNOH8fODsDvrrapWK A+7g2PCDiHFt5e+q6aJkO833JHYLVzt2TdjgJVrecs67CU8HQQhLzOE7GtL8FYAgwLB7 oU6/DrdpEqI0KhiQZSyW2+JxIuoU5vLhoSbDmoMT3W1sD9kfLvwFVHTuiDomeV2UHRCW Qu+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779050427; x=1779655227; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uPzpi+Ny6TJ1dvpLwb7zEeBl/HAG19Nf4ImcVOOaWvw=; b=rt9x1Pz/OG6VZIMW6mJOBOWjdMVf0pNx+DLbSrEhxt75Glc2xDsf6eGR5/e53qnpTG VS3ADH4p+wRLdEQVjlsP7H7KVDnjl65+YhrD8pt8hAsRqiy0CKFG4HVN2CTG7weyBHlB 3TtxZuxytYmKpCLN0PVgX/5kCiesM6/xQYxCRKmil7UIs15sHXpBLHMQcO0dZB10wGtb COa8UfEBeuWOjT17rvqw7YokTIa56gvk/tePsJ+rcB14EYuWHt13ce7m11+jynoQJ6DS N5csTFszZrm6qb8dOpm7d++wkUgsEGNJJrUBYmDNxR2c47HVCBUdz/8uT+DVHWkv6sS+ btDQ== X-Forwarded-Encrypted: i=1; AFNElJ8py1B5AMZH3fxeImUvRvv3jT5QoPh7Z19TRMT5sWjoezRSdztlzEULqzlG2Gnp10pjDxH5wdA2FKeZLD8=@vger.kernel.org X-Gm-Message-State: AOJu0YxMKhQz+V3NU2/fxkPo47CoFlUkph4l49PwerZth+PH87wu5kBl vIDgdvk27V5rT4GHYxFAiFp+c2fNvR/wazzkVK70YqTuZarh2mk9RW0n X-Gm-Gg: Acq92OHLuWyknPHMtn0C/HlhbqzWsrbWlM0hYJE5zinawx5BiPwSSj9G4MgGpHPGVmY bDyHwTmET0924q4aXx09CsV/7GpGTKyUEdLHxaEPuT33oNJjXfD4UZdWq0hzVlNxnWo8a6ZqFa2 APSfBCE+xbktY23ziOc8YcMnSPt9/9kSoMKqSS64qO5NI47ayZQ5sGvp3PyqDtyh9sKHcDHEims +cXDRserVWb6HxRW5HRiwuz+iU9XZy+d+gOff4IlM002h9589zhdjW0ixtRsO5H8ZclEDK5iezZ JqQPQzHd/ZWFpF690vIYGaKFAsLmJF5zshH534La6VdahnOP3198DGk/xU7/MMcGdaXhzQTI6Zi jFoCDCjuvvCiFauV3vAb1FyJ2QY9gdrxATkxiKzfDOdOOzBQ7PFYEJ77fyE6FrqGD3fs7ZHjIGC L94FmsT6nWSLOR3ofWOIV8WLC58hmcj+Yj+lxkwNhM1+oh X-Received: by 2002:a05:6a00:9508:b0:83e:f208:b11d with SMTP id d2e1a72fcca58-83f33d95cacmr7164945b3a.6.1779050427449; Sun, 17 May 2026 13:40:27 -0700 (PDT) Received: from nixos.golden-musical.ts.net ([122.161.241.87]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83f19c5ceb3sm12152542b3a.34.2026.05.17.13.40.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 May 2026 13:40:27 -0700 (PDT) From: Sidharth Sharma To: Vijendar.Mukunda@amd.com, venkataprasad.potturu@amd.com, broonie@kernel.org Cc: lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Sidharth Sharma Subject: [PATCH v2] ASoC: amd: ps: Add support for MSI Crosshair A16 HX Date: Mon, 18 May 2026 02:09:55 +0530 Message-ID: <20260517203955.42490-1-wednisegit@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The MSI Crosshair A16 HX (D8WFKG) uses a Ryzen 9 8940HX processor, which identifies with ACP PCI revision 0x62. This revision is currently unlisted in the Pink Sardine driver, causing the probe to return -ENODEV. Furthermore, the MSI BIOS lacks the necessary 'acp-audio-device-type' and '_WOV' ACPI entries required to automatically route the internal digital microphone array. Add the 0x62 revision to the PCI validation switch block, and introduce a DMI quirk table to manually force the PDM configuration flag for this specific board, allowing the acp63-dmic-capture node to map correctly. Signed-off-by: Sidharth Sharma --- Changes in v2: - Moved ACP62_PCI_REV definition from pci-ps.c to acp63.h for consistency. sound/soc/amd/ps/acp63.h | 1 + sound/soc/amd/ps/pci-ps.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h index 62cb6bef1..4f955a817 100644 --- a/sound/soc/amd/ps/acp63.h +++ b/sound/soc/amd/ps/acp63.h @@ -11,6 +11,7 @@ #define ACP_DEVICE_ID 0x15E2 #define ACP63_REG_START 0x1240000 #define ACP63_REG_END 0x125C000 +#define ACP62_PCI_REV 0x62 #define ACP63_PCI_REV 0x63 #define ACP70_PCI_REV 0x70 #define ACP71_PCI_REV 0x71 diff --git a/sound/soc/amd/ps/pci-ps.c b/sound/soc/amd/ps/pci-ps.c index 9751cf078..561921d4b 100644 --- a/sound/soc/amd/ps/pci-ps.c +++ b/sound/soc/amd/ps/pci-ps.c @@ -17,10 +17,22 @@ #include #include #include +#include #include "../mach-config.h" =20 #include "acp63.h" =20 +static const struct dmi_system_id acp63_dmic_quirk_table[] =3D { + { + .ident =3D "MSI Crosshair A16 HX", + .matches =3D { + DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star International Co., Ltd."), + DMI_MATCH(DMI_PRODUCT_NAME, "Crosshair A16 HX D8WFKG"), + } + }, + {} +}; + static void handle_acp70_sdw_wake_event(struct acp63_dev_data *adata) { struct amd_sdw_manager *amd_manager; @@ -436,6 +448,12 @@ static int get_acp63_device_config(struct pci_dev *pci= , struct acp63_dev_data *a if (dmic_en && wov_en) is_dmic_dev =3D true; =20 + /* fallback for msi firmware lacking standard acpi audio routing flags */ + if (dmi_check_system(acp63_dmic_quirk_table)) { + is_dmic_dev =3D true; + acp_data->is_pdm_config =3D true; + } + if (acp_data->is_sdw_config) { ret =3D acp_scan_sdw_devices(&pci->dev, ACP63_SDW_ADDR); if (!ret && acp_data->info.link_mask) @@ -587,6 +605,7 @@ static int snd_acp63_probe(struct pci_dev *pci, =20 /* ACP PCI revision id check for ACP6.3, ACP7.0 & ACP7.1 platforms */ switch (pci->revision) { + case ACP62_PCI_REV: case ACP63_PCI_REV: case ACP70_PCI_REV: case ACP71_PCI_REV: --=20 2.53.0