From nobody Wed Jun 17 05:16:16 2026 Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (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 E2A2930BF69 for ; Tue, 28 Apr 2026 03:07:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777345643; cv=none; b=HFOYDewUpWF8ytiB2kKUC/uK2dYgC49mXxrO/atXjfDFdavfOZ0CEAjpm07BywhJmJ5rF5ehFtrg++PFvvpdmXprtft37Fu91hPvYlwPsiVfHHdkfaLdHKHOetwdT+LugAdBZgv6IBQXXMKIUPhIFyui6WVgOFc9UqIGPJ5GI7c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777345643; c=relaxed/simple; bh=M/DH4mZdkREffdwKLGoyCTZnaJGwxzLtvZ0z5kxN6cI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=iX2C4ilzueAwDSwhVGkMbPaHV2XZs58tAcoOwkKEK81urpv93r9F+UZWpqGdypfstCdUtkDnUoeuSP1k4B7WX1as+Oc4bOeaEuiCeucdTPYZRgKdy7ZtLbKoJ+EgpxQFiYUo8gm8HvneU5v0gHgPQB8yKaF51wR2x3InoNp0FTg= 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=c6hyI5BG; arc=none smtp.client-ip=209.85.128.170 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="c6hyI5BG" Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-7b4ee3a88e1so113764137b3.1 for ; Mon, 27 Apr 2026 20:07:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777345640; x=1777950440; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=xy+tm9bENqCqZp9SYs+pOo5djm/sVYYFvKa2wEp3fzY=; b=c6hyI5BGHFOfiXAaC4FRCtkagrNJ/qlzHqPi6t0dA9Bl77auQNHs+UaYLUWWsO9SpO Q1m1r1EXyxcEmkdK9Vppy1TjnTyn1nx/8vFsaICi9LH6Xw3nZi0Q30k976oFqe1kc5cX 5MKk6CYwyGFAy6IYsWjJ8pVticHMvfEpbVYZ4/GeZrBUD5sCqRo9iYOsUW6RZFPBmNAa h4jvuywWqtMezD3bbiuyqjQcC3lL2W0P1KadU+HMjY8IC2Bc9UC6bye0hewpj6YyvLuA m9TKImNP/aMm7t6QlgqfkdWTexVGyWajTIOw/RFyV9YS2qR2Rar+jG5zrfEaJOcF1CdX IUsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777345640; x=1777950440; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xy+tm9bENqCqZp9SYs+pOo5djm/sVYYFvKa2wEp3fzY=; b=SxQKF9Rj8aadxGCXB6+SUdxmEV4wMI4umfw/fE4SgzhKq38wAkNLhJqV9lQyZ/CS/K 62bpbmGV2dhVrX94PazOJvmBVeY+GEPHMBC8+n8uOgKEAJcE2FA1+3KFcRpTb0Xfm/9c YlspvTf+OysohK2a5y106spTKhBF+QogJKTQS+VADrrq8CU8TBmta213jjfDhZQMUfKG p7NPY3+MnBQhr4+L9177sjFxX/lS2PoNnPIlo4tXjXCVN19b/CuFym5JsT0fC/cWq4U9 WluiN6sRjxSwT4eMI5natSVHBtCrLKYVsfgav/4wx2fqj+Tgv0NQNhyhNiTQWanXv/u6 sJMw== X-Forwarded-Encrypted: i=1; AFNElJ9ZUId+Lj49KFEKZGuuCaEpSgORmQndgWz7PfW/pu91ygyJlUHPWqZXKQthuIOq9TIx7SamAzWBeWylcXw=@vger.kernel.org X-Gm-Message-State: AOJu0Yyz3WL0IBTjPIowlgwd32a3AZUovI1QtvJioV/9eS+QyYh98F9I /AwPW+qtzBvivsR/hYfoJDBXTW1iVJR/HfrNUHs8pP06A2ZSbN6KhT4p X-Gm-Gg: AeBDieulbxf12UjHvjeyAkQnG2+2jgnXTlF+mQ5iwRnlbLo1Ic1PR54NganVZ7rpap+ 3sVHwZV2PXQL/s2tTgGsejYA5aDRxJvY/sP1Hl5PDW4j9K+gt3dLoKdrGk4erYD6pF8O/Thk6WP 6x9eukrHCWBRwOaY6Zo0Wjm7lXbJ0N9dTyfg+Iw2yfj31/Cqx76hXgkuUyXXvIlveCAWsRZLU5H HEFlotpSI3O2KUBFVf7Kt/sWDjOjLIRNSK6Y6PR9vS6KQu4c+YQn5Hw1vRNdXgwJcEgf+DIOMcE v4/6u24D7crWR4gj6eSeZobIs/QwiZ116GuL8bYEFLhoT3CzbMdPHqovDTxCn64W0QGHgQfrrsl YepdViAyk/2pTZfxUb+jW05UKHgGBq6VS5ErAkcavqVqlsY7GQdwtSPe/oSK//pnJSEKTsO7RZq bn8VlNeA2ZV5Mv0GQM4B0mAigw4nun0/pfICFjhOFvHLIsi2M88NYr3B/u7mZ3+dj/KS+4oPC+1 YN9wsHeTsr+ X-Received: by 2002:a05:690c:c24d:b0:7ba:eefe:9fa1 with SMTP id 00721157ae682-7bcf52207camr11515787b3.6.1777345639900; Mon, 27 Apr 2026 20:07:19 -0700 (PDT) Received: from [192.168.1.18] (177-4-161-87.user3p.v-tal.net.br. [177.4.161.87]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7bcf05e622esm8834257b3.17.2026.04.27.20.07.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 20:07:19 -0700 (PDT) From: =?utf-8?q?C=C3=A1ssio_Gabriel?= Date: Tue, 28 Apr 2026 00:07:08 -0300 Subject: [PATCH] ASoC: fsl_xcvr: Fix event generation for cached controls Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260428-asoc-fsl-xcvr-event-generation-v1-1-f21cf0812c4f@gmail.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/yXNwQrCMBCE4Vcpe3ahRmvVVxEPcTupEUllN4ZC6 bsb9fgd5p+FDBphdG4WUpRocUoV201DcvdpBMehmlzrDu3e9extEg725FmKMgpS5hEJ6nOdsgt dL93uNMAdqUZeihDn38Hl+re9bw9I/lZpXT8IVeqlggAAAA== X-Change-ID: 20260427-asoc-fsl-xcvr-event-generation-2f57c539de28 To: Shengjiu Wang , Xiubo Li , Fabio Estevam , Nicolin Chen , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Viorel Suman Cc: linux-sound@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, =?utf-8?q?C=C3=A1ssio_Gabriel?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2246; i=cassiogabrielcontato@gmail.com; h=from:subject:message-id; bh=M/DH4mZdkREffdwKLGoyCTZnaJGwxzLtvZ0z5kxN6cI=; b=owGbwMvMwCV2IdZeKur/u2bG02pJDJkfVJKXHzPrqixb3+9XfsVgqkItf7+RfpXZtTP9Deq/S jZfifPrKGVhEONikBVTZFmdtMhyT9eDq/VxKzxg5rAygQxh4OIUgIm8tGdk2Lwz0nZ2ey1L96Iz u3XPnJoS4KWwbMpO/92bpKpvuPkHSjH8d2rKLBb46RjkuLldvGmG3OGflg65Mp08TbM53vQbC1c yAQA= X-Developer-Key: i=cassiogabrielcontato@gmail.com; a=openpgp; fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83 ALSA controls should return 1 from a put callback when the control value changes. fsl_xcvr_capds_put() and fsl_xcvr_tx_cs_put() both update cached control data but always return 0, so ALSA suppresses change notifications for the Capabilities Data Structure and playback IEC958 channel status controls. Compare the old and new cached values before copying the new data, and return whether the control value changed. Fixes: 28564486866f ("ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver") Signed-off-by: C=C3=A1ssio Gabriel --- sound/soc/fsl/fsl_xcvr.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c index ee16cf681488..6677d3bf36ec 100644 --- a/sound/soc/fsl/fsl_xcvr.c +++ b/sound/soc/fsl/fsl_xcvr.c @@ -228,10 +228,14 @@ static int fsl_xcvr_capds_put(struct snd_kcontrol *kc= ontrol, { struct snd_soc_dai *dai =3D snd_kcontrol_chip(kcontrol); struct fsl_xcvr *xcvr =3D snd_soc_dai_get_drvdata(dai); + int changed; =20 - memcpy(xcvr->cap_ds, ucontrol->value.bytes.data, FSL_XCVR_CAPDS_SIZE); + changed =3D memcmp(xcvr->cap_ds, ucontrol->value.bytes.data, + sizeof(xcvr->cap_ds)) !=3D 0; + memcpy(xcvr->cap_ds, ucontrol->value.bytes.data, + sizeof(xcvr->cap_ds)); =20 - return 0; + return changed; } =20 static struct snd_kcontrol_new fsl_xcvr_earc_capds_kctl =3D { @@ -1040,10 +1044,15 @@ static int fsl_xcvr_tx_cs_put(struct snd_kcontrol *= kcontrol, { struct snd_soc_dai *dai =3D snd_kcontrol_chip(kcontrol); struct fsl_xcvr *xcvr =3D snd_soc_dai_get_drvdata(dai); + int changed; =20 - memcpy(xcvr->tx_iec958.status, ucontrol->value.iec958.status, 24); + changed =3D memcmp(xcvr->tx_iec958.status, + ucontrol->value.iec958.status, + sizeof(xcvr->tx_iec958.status)) !=3D 0; + memcpy(xcvr->tx_iec958.status, ucontrol->value.iec958.status, + sizeof(xcvr->tx_iec958.status)); =20 - return 0; + return changed; } =20 static struct snd_kcontrol_new fsl_xcvr_rx_ctls[] =3D { --- base-commit: 98421d94a1a6dcc3e8582eb62bedeccecda93339 change-id: 20260427-asoc-fsl-xcvr-event-generation-2f57c539de28 Best regards, -- =20 C=C3=A1ssio Gabriel