{"id":2219458,"url":"http://patchwork.ozlabs.org/api/patches/2219458/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com/","date":"2026-04-03T03:47:13","name":"ALSA: aoa: onyx: Update IEC958 sample-rate status for PCM playback","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4e2fb3e94a43db91dea0393e4d9df1c1b648573e","submitter":{"id":93004,"url":"http://patchwork.ozlabs.org/api/people/93004/?format=json","name":"Cássio Gabriel","email":"cassiogabrielcontato@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com/mbox/","series":[{"id":498582,"url":"http://patchwork.ozlabs.org/api/series/498582/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=498582","date":"2026-04-03T03:47:13","name":"ALSA: aoa: onyx: Update IEC958 sample-rate status for PCM playback","version":1,"mbox":"http://patchwork.ozlabs.org/series/498582/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2219458/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219458/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19260-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=RcxyHDGg;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19260-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::e29\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=RcxyHDGg;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com\n (client-ip=2607:f8b0:4864:20::e29; helo=mail-vs1-xe29.google.com;\n envelope-from=cassiogabrielcontato@gmail.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fn4Rp19SFz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 14:47:33 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fn4Rg2nCQz2ygT;\n\tFri, 03 Apr 2026 14:47:27 +1100 (AEDT)","from mail-vs1-xe29.google.com (mail-vs1-xe29.google.com\n [IPv6:2607:f8b0:4864:20::e29])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fn4Rd64F2z2xln\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 03 Apr 2026 14:47:25 +1100 (AEDT)","by mail-vs1-xe29.google.com with SMTP id\n ada2fe7eead31-6055a0414d7so517068137.2\n        for <linuxppc-dev@lists.ozlabs.org>;\n Thu, 02 Apr 2026 20:47:25 -0700 (PDT)","from [192.168.1.18] (177-4-161-217.user3p.v-tal.net.br.\n [177.4.161.217])\n        by smtp.gmail.com with ESMTPSA id\n ada2fe7eead31-60583049c1esm6652525137.8.2026.04.02.20.47.19\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 02 Apr 2026 20:47:22 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775188047;\n\tcv=none;\n b=hMTOfzzRxDG/ViBaq5PNqqsfR2WMFtJMly7bOdDTQ+9J8j84EebOx9SPu5Idl8IbKvi1oewvcpgoPu9b9O81lYMn1hDQMO+/cRJ+2VVkab0PTr3AEJ7DjbkSJV2orGaj4DoE/LszbKj6Wb3s21X5UTja8SWT/SL+qDEyn0m6BIBR5woHlGYKZs0z8sZJXRUZh3K/BizxpNrdz7QgRo34gvTRtO7EhGTHtrDyMw1GY/RlNENPtVOVjaH0fCK8dxI+jm9Q8yDSLze4xlZJeSy9UdGsruujcvkkdaw+CipoPj2a284jBjuP2Sb+T3V7QdsOVVbAv97g1uW01bdpEPrE7w==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775188047; c=relaxed/relaxed;\n\tbh=mQJe7gr2NY91HuvsDinY38MzPt4uB1n6FAVnHxFtD78=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc;\n b=OyAKH5AOSyhYQZyM895pqTQvd8sTnHQzi8VK867fqO4SmdNki2jISfuHBlHgU0+PFj9wIxnM0GpmDrF+4Et1Xx8jocQdkAUPDiaKgya88jWMEhOZzQsxpCEgNlVtcwhKXEOlkjjTokucG9LZnExe/3p5CQPlwZRt4xcCJvHGZ0tSCvLEvc+9zu10TSF+FyoO0r071Kc96pK2jo5MoYe60jO3S4wmS0p/IYugTtX1kekMdDpIlo5wXKJhekL0orOClV7J6YYpbHkMbAFZCKhky+CUjZOczaLCwwSizZ9qVsH2Od6F98VSG38RDihw+zOSxb6dH5yhUgE7TnyumNilLA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=RcxyHDGg; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::e29; helo=mail-vs1-xe29.google.com;\n envelope-from=cassiogabrielcontato@gmail.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775188043; x=1775792843;\n darn=lists.ozlabs.org;\n        h=cc:to:message-id:content-transfer-encoding:mime-version:subject\n         :date:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=mQJe7gr2NY91HuvsDinY38MzPt4uB1n6FAVnHxFtD78=;\n        b=RcxyHDGgB4w/xE8ylOOaJgvH+gdjPMwuVgING96KnL5hFP+vuVH1khelLyA6S+k6pT\n         7ZB4VrkqRmrzA9Ka9wb6OBcKlutYBn1kP+VQqIZY9luLTHJ5RV7nwgnlcG09KZP/vdBd\n         TMPGSU02GTHQ4J3QVm93kBksW/b7XrE2Km8xznHA8r7N+Ju/kjVtl/tGHWmSG3VJ3HEm\n         MgGbPP2jpSWfPXBkH/RRgKQMIBx1rr76C4Kg01e9JL/Our5mjQfc7iyZV0N5ey0ZCwcV\n         xL+eWZezSKQrjlhZbY1j8Ep4j1M7Nsz9C0bq/HI9msQpjYHiSuyJJL3f6WXrBidnbgHD\n         5mxg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775188043; x=1775792843;\n        h=cc:to:message-id:content-transfer-encoding:mime-version:subject\n         :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=mQJe7gr2NY91HuvsDinY38MzPt4uB1n6FAVnHxFtD78=;\n        b=svayTnoyUYLhvMH3RTnGxVchpZubaPV4IPGdj2B/Bj+w1ojC337fTey9dB0y6OxC38\n         hJmMt2n3y5YDkHctmpEtPTtTWTDGODbR1QBAcACS82bsxoKLs7oK/E96IIdvX8+0e8fM\n         TJ8tX4qGHKFKfYApdNf+Ekw7fP4WeAJeHYozQb4k6FzfjSoorh0C1H+mPi7RkpRVqsEM\n         LuKyygjr/H8yMjEkvCbNXzX5C7xIyZZINCCDiBp0FG72s5VF6JQV457InQwPWvD6eAiH\n         6Y65BZ1yRwbsEMz0xF/AE+2T1oj5vPE8kTZGFk1C3/V/1mmfUvgBDLmkEV4wP+73xmA5\n         Lb3Q==","X-Gm-Message-State":"AOJu0Yyd52LIS/iToDEPABPIKj4OT3aBgXmKhTi89e+iRWOM3B4nV8+p\n\tYR+jDsVNu1A2bqadvMcRl4Zn5ePYCZ3NKvBEp9OdgTsI59CdEwvPmQYk","X-Gm-Gg":"AeBDiev7b+FG5N+U/Et8v/1eRnpnNQWKcj4ezi55esmTChmOFSZPMMwMSgbUfedQSf5\n\tvWXvKXFSp/R+Gp1UJZu8EWa53PX406xCT+miNKi369+8sURprUVOYqwU5xPTx+kpLQPG6f4R6Kh\n\tl6HHcNB9XM+dnAx13hGccHSmra3IPcDx4BnSPN8ZTG6QsQY9y6l/nYIytVouph67Ihl0vVkySvC\n\tKFScYs8xzGWKP5SzrF0kM+WlzDr2UNWW9tWqiJ0J+oSCSiozH6AO4tMVPre5Csdrz9mjAGqBmk6\n\tEUovt67NkyNO89NGUZzyID1caNhGJ183a/1/w8oiyz5RPiVwMVCW72dHPTUBwbOfdIK3LK6SYi5\n\t5pYn0N9kRMFyaweumwtLS612+VNfa4R8b/Km+E1lIYpODKc18YUyTYCC5jP4N8GEHyq1A6N7KjV\n\tFBspRC1XxKfpsF7YtisnoLppruCBIYGw9rgh1EjXfvrR7QdZOtUkm4Pub745Kh5+ahpKUbHCcV/\n\t8Hm","X-Received":"by 2002:a05:6102:5107:b0:5ef:2457:8015 with SMTP id\n ada2fe7eead31-605a5099bdbmr580390137.29.1775188042928;\n        Thu, 02 Apr 2026 20:47:22 -0700 (PDT)","From":"=?utf-8?q?C=C3=A1ssio_Gabriel?= <cassiogabrielcontato@gmail.com>","Date":"Fri, 03 Apr 2026 00:47:13 -0300","Subject":"[PATCH] ALSA: aoa: onyx: Update IEC958 sample-rate status for PCM\n playback","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","Message-Id":"<20260403-onyx-spdif-pcm-rate-v1-1-dcfaf931cf83@gmail.com>","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/yXMQQ6CMBBG4auQWTtJKcUQr2Jc1PKDQ2JpOmAwh\n Ltbdfkt3ttJkQVKl2qnjJeozLGgPlUUHj6OYOmLyRp7Ns7UPMf3xpp6GTiFJ2e/gBFca13j0fm\n GSpkyBtl+1+vtb13vE8LyXdFxfADCTi1WdwAAAA==","X-Change-ID":"20260401-onyx-spdif-pcm-rate-ec45243ae8a3","To":"Johannes Berg <johannes@sipsolutions.net>,\n Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>","Cc":"linuxppc-dev@lists.ozlabs.org, linux-sound@vger.kernel.org,\n  linux-kernel@vger.kernel.org,\n =?utf-8?q?C=C3=A1ssio_Gabriel?= <cassiogabrielcontato@gmail.com>","X-Mailer":"b4 0.15.1","X-Developer-Signature":"v=1; a=openpgp-sha256; l=2998;\n i=cassiogabrielcontato@gmail.com; h=from:subject:message-id;\n bh=i+jTnj9uWTVTpk/43LHEyjWkuxe1ecxKHb3ofhIcLBI=;\n b=owGbwMvMwCV2IdZeKur/u2bG02pJDJnnLdxF6urnCQd4eJhyftXVm5b8Lezv0c8Pn02ZpLFI/\n Ulvq7BDRykLgxgXg6yYIsvqpEWWe7oeXK2PW+EBM4eVCWQIAxenAExEy5CR4fdqDs7wG8KzRU1O\n 7Xx6u1swOOzY4ZlpJ9ZuN/s3LVlE7xHD//CqMGO1YHGna4In6nzfJXNfagrYclny1+Q07Zgteia\n /eQA=","X-Developer-Key":"i=cassiogabrielcontato@gmail.com; a=openpgp;\n fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"onyx_prepare() accepts 32/44.1/48 kHz PCM playback, but it leaves the\nOnyx IEC958 sample-rate status bits at the driver's initial 44.1 kHz\nsetting in DIG_INFO3. As a result, 32 kHz and 48 kHz PCM streams\nadvertise a stale IEC958 sample rate unless userspace rewrites IEC958\nPlayback Default first.\n\nUpdate only the consumer sample-frequency bits in DIG_INFO3 from the PCM\nruntime during prepare, resolving the long-standing FIXME in the PCM\nplayback path while leaving the other user-controlled IEC958 status bits\nunchanged.\n\nMark IEC958 Playback Default as volatile as well, since prepare() now\nchanges the exposed register contents outside the control put callback.\n\nSigned-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>\n---\n sound/aoa/codecs/onyx.c | 37 +++++++++++++++++++++++++++++++++----\n 1 file changed, 33 insertions(+), 4 deletions(-)\n\n\n---\nbase-commit: f16695c0dc9db64f0a5a9871a10b70daee2653e3\nchange-id: 20260401-onyx-spdif-pcm-rate-ec45243ae8a3\n\nBest regards,\n--  \nCássio Gabriel <cassiogabrielcontato@gmail.com>","diff":"diff --git a/sound/aoa/codecs/onyx.c b/sound/aoa/codecs/onyx.c\nindex 04961c456d2c..6e2da2aca2ab 100644\n--- a/sound/aoa/codecs/onyx.c\n+++ b/sound/aoa/codecs/onyx.c\n@@ -32,6 +32,7 @@\n #include <linux/module.h>\n #include <linux/of.h>\n #include <linux/slab.h>\n+#include <sound/asoundef.h>\n MODULE_AUTHOR(\"Johannes Berg <johannes@sipsolutions.net>\");\n MODULE_LICENSE(\"GPL\");\n MODULE_DESCRIPTION(\"pcm3052 (onyx) codec driver for snd-aoa\");\n@@ -514,8 +515,36 @@ static int onyx_spdif_put(struct snd_kcontrol *kcontrol,\n \treturn 1;\n }\n \n+static int onyx_set_spdif_pcm_rate(struct onyx *onyx, unsigned int rate)\n+{\n+\tu8 dig_info3, fs;\n+\n+\tswitch (rate) {\n+\tcase 32000:\n+\t\tfs = IEC958_AES3_CON_FS_32000;\n+\t\tbreak;\n+\tcase 44100:\n+\t\tfs = IEC958_AES3_CON_FS_44100;\n+\t\tbreak;\n+\tcase 48000:\n+\t\tfs = IEC958_AES3_CON_FS_48000;\n+\t\tbreak;\n+\tdefault:\n+\t\treturn -EINVAL;\n+\t}\n+\n+\tif (onyx_read_register(onyx, ONYX_REG_DIG_INFO3, &dig_info3))\n+\t\treturn -EBUSY;\n+\tdig_info3 = (dig_info3 & ~IEC958_AES3_CON_FS) | fs;\n+\tif (onyx_write_register(onyx, ONYX_REG_DIG_INFO3, dig_info3))\n+\t\treturn -EBUSY;\n+\n+\treturn 0;\n+}\n+\n static const struct snd_kcontrol_new onyx_spdif_ctrl = {\n-\t.access =\tSNDRV_CTL_ELEM_ACCESS_READWRITE,\n+\t.access =\tSNDRV_CTL_ELEM_ACCESS_READWRITE |\n+\t\t\tSNDRV_CTL_ELEM_ACCESS_VOLATILE,\n \t.iface =\tSNDRV_CTL_ELEM_IFACE_PCM,\n \t.name =\t\tSNDRV_CTL_NAME_IEC958(\"\",PLAYBACK,DEFAULT),\n \t.info =\t\tonyx_spdif_info,\n@@ -695,9 +724,9 @@ static int onyx_prepare(struct codec_info_item *cii,\n \tcase 32000:\n \tcase 44100:\n \tcase 48000:\n-\t\t/* these rates are ok for all outputs */\n-\t\t/* FIXME: program spdif channel control bits here so that\n-\t\t *\t  userspace doesn't have to if it only plays pcm! */\n+\t\tif (onyx->codec.connected & 2)\n+\t\t\treturn onyx_set_spdif_pcm_rate(onyx,\n+\t\t\t\t\t\t       substream->runtime->rate);\n \t\treturn 0;\n \tdefault:\n \t\t/* got some rate that the digital output can't do,\n","prefixes":[]}