From patchwork Tue Jun 2 11:44:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bui Duc Phuc X-Patchwork-Id: 2397 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10]) by mxe881.netcup.net (Postfix) with ESMTPS id 7F33B1C0217 for ; Tue, 2 Jun 2026 13:51:04 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.234.253.10) smtp.mailfrom=linux-sunxi+bounces-23721-noreply=patchwork.local@lists.linux.dev smtp.helo=sea.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.234.253.10 as permitted sender) client-ip=172.234.253.10; envelope-from=linux-sunxi+bounces-23721-noreply=patchwork.local@lists.linux.dev; helo=sea.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by sea.lore.kernel.org (Postfix) with ESMTP id BF4E23044C3A for ; Tue, 2 Jun 2026 11:45:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9501E3DBD47; Tue, 2 Jun 2026 11:45:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="I7IpazlQ" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (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 4A6DC3DA5C0 for ; Tue, 2 Jun 2026 11:45:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400703; cv=none; b=VE/41aVaaZrtE4op192tvHs1pQiAlD+IDwclAy8LzTOU87qDCeVuoTWHFAXfk7QRI94wJtoOajr/jBOss6bg3dqX/eL+dUnbDHKQpCem58UV9BHgyYhjWMorbOtSllYi2x/2d6ahvXQkxvDm+eX1Em2D4TztraUnGbMK3P8nNyo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400703; c=relaxed/simple; bh=ues6/VOUWZmjMAGbuVCi5NdprQzYdw/UbUKF+QEzg/Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ofskt+H5ci+BiO7sJK4/rhbtW5L1r6jEJI7IAJb0cSDpUTZ/Rz7jydG0NhNRVO2unihNmp+VzROyxSFg7ZixoYpGMOIvkboIETFk7YlC7UTCKp5LyjBYRI7rB1/wSRCZsOC2ovZlI1CqfcF5ztMEZUCYQJFHceo+UqGO43VhvxY= 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=I7IpazlQ; arc=none smtp.client-ip=209.85.210.180 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 Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-8423610ec93so2031423b3a.2 for ; Tue, 02 Jun 2026 04:45:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780400700; x=1781005500; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TmC4zYF7/VSFzDxDUcysEBlqEWK3sw1salrmEASv0aE=; b=I7IpazlQaeaDvt3td/YnX1a0fzhe3FflLzKeTMH0xRNQgecS79IXh1fdqjfYcPN7oC XfvoSud+zR2ZaAM4e0wDepDDPuzzHU4LSZv9Uq3k9KifBtBu0OpUyKHvVx7zUvBGXDyh Rn0GQ5Mlh6ez6VTvTC86ObTMsY4zu5wNatpTwOEmtZTiJhSUAQNOJ45NhBKaDZB53HMm Bb58rMoLhEjcM+n2cfILlEv11O2GXiUjeCvWswgxIRJ1/cxLIjiAlUAASTAwYLLRX+L8 0406h3A6vGqgTD8o3rt6q96EVZp+Z13rnWdCfoyn1O0IyBc0/6MqsEnkPXPqU5rrVvBZ 7QLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780400700; x=1781005500; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TmC4zYF7/VSFzDxDUcysEBlqEWK3sw1salrmEASv0aE=; b=b3Apn8qehHtJgNulHOzexnT0icBv+xhs4dNtwsewiqdjTfhhnVdXitLdsn1l0sXSX8 Wp9QSSZX9Ygf7azqED637dVshsrNWZ1qjisDbRWu+PJqtMoOL5en9TOEtUDd1KESzxMF dK1472hLeuFxCd7QAFQlMZE95mQ96WlYHzMiJ7zreLOuSKgNwwh796c0Gm+IVvi5hCHQ PRIDU2DUCU6iLkpLfW4BTXfnhhVvf6kqvB/iQqdeYpKEiqTCYbkwkfT/XHRtj8AsvyHg W+uyPGbCVp6Q87w/488IkQ/3VCnR2d1MZtQERmskF7fnx4yLSOvlNIVQOJcBytJJPKAh GUoQ== X-Forwarded-Encrypted: i=1; AFNElJ978MbUlnHbGnGA0C4VVYC+qWCk4ZdrpY9iv/WqjJWxS/kH7nD47k/7RvfoEOogspjqcQr/GuYvKI2zmQ==@lists.linux.dev X-Gm-Message-State: AOJu0YwgF5u4Ks6dp6PvUa41Dku2IunzVjl3JwycR9n6llV+2l0a+KOI 2cv+bHLaSLXW9oEI1jBYgtFk0BRf4fW0AvqF6VKMlOAa4Na0UxoAc3pb X-Gm-Gg: Acq92OEfnKWbizEGbQOfmSkWDPopEEPsr+sMcNzeUKxAmQ/1/rTrypYQxz0QLIaxejj eGYn1NIh9hAUkXEUUBguJhuJuKn+r/MkAUAHzW8Pq144zxBLSeReLqIY0sRqalfRy3q3fLB8Od2 qTFyYCJJzV6Ez1gC8nZDj8qrphmK25elis91lM0lCpFr2tDyZaS0NpB3To9Yhm+h25/1wR52qNb t2aFtxoI8mha8Vv0b7RdXTYrFgtK6elj+QoILzuZHdxfm8I1CWEnmeTlaq5KgCCTiSY8nQkry4g 6YrL6j9XrykzhTBTW8owKSdj1023UzdGW5QTWH44iXKdBihi0w6qMEco36cpp2h3n7DAhiZDyyl z96aIi7MDagLXVT+1pBlp4QYi7Qcd0dsoOjzSYJ9KTXOmdBMwHFgWXpvemKieYFk5aZ24kXwgK6 XibziE5khvz0r95ETuYqHc340H0pziRVKfPSYSZS0enRtdBimt3fzfLvAHeuFHiJmdIwv6 X-Received: by 2002:aa7:88cb:0:b0:842:6d95:261e with SMTP id d2e1a72fcca58-8426d9538a9mr3400413b3a.41.1780400700453; Tue, 02 Jun 2026 04:45:00 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842263539a3sm12025224b3a.44.2026.06.02.04.44.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 04:44:59 -0700 (PDT) From: phucduc.bui@gmail.com To: Chen-Yu Tsai , Liam Girdwood , Mark Brown Cc: Jaroslav Kysela , Takashi Iwai , Jernej Skrabec , Samuel Holland , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH v3 1/3] ASoC: sunxi: sun4i-spdif: Use guard() for spin locks Date: Tue, 2 Jun 2026 18:44:35 +0700 Message-ID: <20260602114437.50324-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260602114437.50324-1-phucduc.bui@gmail.com> References: <20260602114437.50324-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-0.66 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.234.253.10:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; TAGGED_RCPT(0.00)[]; RCPT_COUNT_TWELVE(0.00)[12]; DBL_BLOCKED_OPENRESOLVER(0.00)[sea.lore.kernel.org:rdns,sea.lore.kernel.org:helo]; FORGED_SENDER_MAILLIST(0.00)[]; FROM_NO_DN(0.00)[]; FREEMAIL_CC(0.00)[perex.cz,suse.com,gmail.com,sholland.org,vger.kernel.org,lists.infradead.org,lists.linux.dev]; FUZZY_BLOCKED(0.00)[rspamd.com]; PRECEDENCE_BULK(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_NEQ_ENVFROM(0.00)[phucducbui@gmail.com,linux-sunxi@lists.linux.dev]; FREEMAIL_FROM(0.00)[gmail.com]; FREEMAIL_TO(0.00)[kernel.org,gmail.com]; R_SPF_ALLOW(0.00)[+ip4:172.234.253.10:c]; TO_DN_SOME(0.00)[]; RCVD_COUNT_FIVE(0.00)[6]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[bounces-23721-noreply=patchwork.local]; ASN(0.00)[asn:63949, ipnet:172.234.224.0/19, country:SG]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 7F33B1C0217 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: bui duc phuc Clean up the code using guard() for spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc --- NOTE: This patch is compile-tested only. sound/soc/sunxi/sun4i-spdif.c | 62 ++++++++++++++++------------------- 1 file changed, 28 insertions(+), 34 deletions(-) diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c index c2ec19437cd7..89eccc83a130 100644 --- a/sound/soc/sunxi/sun4i-spdif.c +++ b/sound/soc/sunxi/sun4i-spdif.c @@ -427,24 +427,21 @@ static int sun4i_spdif_get_status(struct snd_kcontrol *kcontrol, struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol); struct sun4i_spdif_dev *host = snd_soc_dai_get_drvdata(cpu_dai); u8 *status = ucontrol->value.iec958.status; - unsigned long flags; unsigned int reg; - spin_lock_irqsave(&host->lock, flags); + scoped_guard(spinlock_irqsave, &host->lock) { + regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA0, ®); - regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA0, ®); + status[0] = reg & 0xff; + status[1] = (reg >> 8) & 0xff; + status[2] = (reg >> 16) & 0xff; + status[3] = (reg >> 24) & 0xff; - status[0] = reg & 0xff; - status[1] = (reg >> 8) & 0xff; - status[2] = (reg >> 16) & 0xff; - status[3] = (reg >> 24) & 0xff; + regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA1, ®); - regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA1, ®); - - status[4] = reg & 0xff; - status[5] = (reg >> 8) & 0x3; - - spin_unlock_irqrestore(&host->lock, flags); + status[4] = reg & 0xff; + status[5] = (reg >> 8) & 0x3; + } return 0; } @@ -455,35 +452,32 @@ static int sun4i_spdif_set_status(struct snd_kcontrol *kcontrol, struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol); struct sun4i_spdif_dev *host = snd_soc_dai_get_drvdata(cpu_dai); u8 *status = ucontrol->value.iec958.status; - unsigned long flags; unsigned int reg; bool chg0, chg1; - spin_lock_irqsave(&host->lock, flags); - - reg = (u32)status[3] << 24; - reg |= (u32)status[2] << 16; - reg |= (u32)status[1] << 8; - reg |= (u32)status[0]; + scoped_guard(spinlock_irqsave, &host->lock) { + reg = (u32)status[3] << 24; + reg |= (u32)status[2] << 16; + reg |= (u32)status[1] << 8; + reg |= (u32)status[0]; - regmap_update_bits_check(host->regmap, SUN4I_SPDIF_TXCHSTA0, - GENMASK(31,0), reg, &chg0); + regmap_update_bits_check(host->regmap, SUN4I_SPDIF_TXCHSTA0, + GENMASK(31, 0), reg, &chg0); - reg = (u32)status[5] << 8; - reg |= (u32)status[4]; + reg = (u32)status[5] << 8; + reg |= (u32)status[4]; - regmap_update_bits_check(host->regmap, SUN4I_SPDIF_TXCHSTA1, - GENMASK(9,0), reg, &chg1); + regmap_update_bits_check(host->regmap, SUN4I_SPDIF_TXCHSTA1, + GENMASK(9, 0), reg, &chg1); - reg = SUN4I_SPDIF_TXCFG_CHSTMODE; - if (status[0] & IEC958_AES0_NONAUDIO) - reg |= SUN4I_SPDIF_TXCFG_NONAUDIO; + reg = SUN4I_SPDIF_TXCFG_CHSTMODE; + if (status[0] & IEC958_AES0_NONAUDIO) + reg |= SUN4I_SPDIF_TXCFG_NONAUDIO; - regmap_update_bits(host->regmap, SUN4I_SPDIF_TXCFG, - SUN4I_SPDIF_TXCFG_CHSTMODE | - SUN4I_SPDIF_TXCFG_NONAUDIO, reg); - - spin_unlock_irqrestore(&host->lock, flags); + regmap_update_bits(host->regmap, SUN4I_SPDIF_TXCFG, + SUN4I_SPDIF_TXCFG_CHSTMODE | + SUN4I_SPDIF_TXCFG_NONAUDIO, reg); + } return chg0 || chg1; } From patchwork Tue Jun 2 11:44:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bui Duc Phuc X-Patchwork-Id: 2398 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id A8D621C0084 for ; Tue, 2 Jun 2026 13:51:15 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-23722-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-23722-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 9CD87307D4AB for ; Tue, 2 Jun 2026 11:45:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EE8413DA7C0; Tue, 2 Jun 2026 11:45:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="m03ALEzK" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.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 772573DCDAF for ; Tue, 2 Jun 2026 11:45:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400710; cv=none; b=HDZiOAapoauYu7kf9ody3hRo07G47hSLPEKXE1uBIX9EVVSd4nMtN/AJWqPty8SSh7xjb5jCOVla+YcSNYNEz32nvv2supP8WJjBvF2Yl72nGCojQDxKp100sHVZs7lJ+oW1vDAeVTgFV59avuDInVXWRHsiFrbFCMVB8mLIF+Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400710; c=relaxed/simple; bh=jMX9mnAoMrDWCHNf1eDVHGV/w2HaBRXDp99gKsHpzSc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Mx6FKlt466+kkJFhSPJbP/RWMV4D8zJWHgrGb7LmEe2+pPYM6odI5+kb7rqEYGmpEh7djVPWgPu2Rx+hLnTPKKPGR/VVmZB8niv/EzPgOcIBPVa01zczUBS9WfXZ2WVoRakru81CyCGSQc8ZVSpcvpEcjGZ5i1JolM46sniJdz8= 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=m03ALEzK; arc=none smtp.client-ip=209.85.210.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 Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-8423b08b293so988786b3a.3 for ; Tue, 02 Jun 2026 04:45:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780400706; x=1781005506; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bnFWVx6VWhxeKMY/FKRW9Q1g3mwhdS1r25okhPrkiNY=; b=m03ALEzKJZQHr3mYVYxQqw85xcNjaK1GtKCIRSQ791mRQiYJssYoVg1eFlAV6gEzh9 He7MB/ns+x00u7QqWnXZw6GNeP3U90Lq8c/iFRuu+61Rmt0kP3vl+s0s9AotdwrT+cvm azQDBSjj4XcomsqClDtOEfycJi+vK50AcLal1r9F1UoW018zu+nrCxrfzn/RQzEBSvTE ZFlA1jQGzubjhHXWfhuunwkjUl21NhBULK9GW3rmvLXWLTzjiHmYOPaahytytF3vU+RV k/HyWy0QHD7dd5Jn96OkIX8UP/HVDjwc9lB8TBDdYeElXaxOGdew2aHDYymOoSXPmioO ENWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780400706; x=1781005506; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=bnFWVx6VWhxeKMY/FKRW9Q1g3mwhdS1r25okhPrkiNY=; b=l59khodkzYMsEuztS1KDN25N8bI6BkFZbDP5pr8lV9lJc6pNZQTmN1ETb2SGEsmAzb QQD/wsbtCxpzg7z5FON5M0NkHz95SxN23A341p1JZgvQ2wkSMblHPOm8Dm4AZTd757HQ JltdxSKEtghAaG8K2vuMRqvxTWTP3wFlmlWIjjOj9PIFkAToNbrMmBfh/TPsstlXWnG0 iDSkeJS+ykkaD/UEdPIBfrgAZVh5eYJfXNkWQItsYs6fdEunf7k/TGalUx6D7trR/KUf UOmuOSx1dwiOtql/TYZDcJs3mWIptf+DCUMcP/2GEO97KV4pbDdpDMiJTNwtB3vYNh2E A+1A== X-Forwarded-Encrypted: i=1; AFNElJ9V6IEDsrybNDVbcxD6vpb2Qf8WqydBZjoeO+mo8BAJs86nMReT377n3B78zVQRsgHZXjMyr1zJflgJnA==@lists.linux.dev X-Gm-Message-State: AOJu0YyBVEUKRwn1BD4+/ZfjE7STo5t0o9td9ztda4FDnSndW87uF9Z8 uVQPubqVMIIP/rzqmaQqZp5iRTLWcHxwUdO4VblsN9/Tq5YTFFLkMwlo X-Gm-Gg: Acq92OGHs7q/wf8GAffVRrALennEwI/5LCYocTtgrTV7d0J+USfpi6LCYqlb8vmjqM3 Xd3cugEkdrEDMiCWturNONhS4yY5F84nxAIF5bfRml09bNEL1QDwrdcf4XjNFOLy4KqK9NTruB5 oHcN8UKRX+uTk3T8okNa5z3SrBNpnCwvL1GR7hkBwHEXQDxIgLwwfl551I/qH0/qjHjI3x/yexA Hcm82xQJwrvQFcouCdW38P3iUC6n2ZCtd/L1PdCYmyL17iLO36wdxyEX0yLaxXzNxZK6/jwptT3 KxLcSV6b4rifnphwq0dAM9g/DyiO9Z2or8Kgoks+xeLndwgxhLZUgH/5/pFzQ2uxT8zxg4T8qBF TQsvO0hvlXXCfCFkGOsVgkYiuvW0Fsqj7pM7MPlJ0uzNvc1MOA+7JvrLE+iGk9Eu4kzuBoY28lZ VqFFRtnSasxA6JLU06OSSPU7a3xUE4c7HxsF3fKfYaPOdfNF9pAsDpY2HIfpqu1Gf9Lw9z X-Received: by 2002:a05:6a00:2d8d:b0:842:5b85:63a0 with SMTP id d2e1a72fcca58-8425b856f49mr6797766b3a.46.1780400705444; Tue, 02 Jun 2026 04:45:05 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842263539a3sm12025224b3a.44.2026.06.02.04.45.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 04:45:05 -0700 (PDT) From: phucduc.bui@gmail.com To: Chen-Yu Tsai , Liam Girdwood , Mark Brown Cc: Jaroslav Kysela , Takashi Iwai , Jernej Skrabec , Samuel Holland , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, bui duc phuc , Sashiko AI Review Subject: [PATCH v3 2/3] ASoC: sunxi: sun4i-spdif: Resume device before kcontrol register access Date: Tue, 2 Jun 2026 18:44:36 +0700 Message-ID: <20260602114437.50324-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260602114437.50324-1-phucduc.bui@gmail.com> References: <20260602114437.50324-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-0.66 / 15.00]; BAYES_HAM(-5.50)[99.99%]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; FROM_NO_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo]; RCPT_COUNT_TWELVE(0.00)[13]; FUZZY_BLOCKED(0.00)[rspamd.com]; FORGED_SENDER_MAILLIST(0.00)[]; TAGGED_RCPT(0.00)[]; FREEMAIL_CC(0.00)[perex.cz,suse.com,gmail.com,sholland.org,vger.kernel.org,lists.infradead.org,lists.linux.dev,kernel.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; PRECEDENCE_BULK(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; FREEMAIL_TO(0.00)[kernel.org,gmail.com]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; TAGGED_FROM(0.00)[bounces-23722-noreply=patchwork.local]; RCVD_COUNT_FIVE(0.00)[6]; FROM_NEQ_ENVFROM(0.00)[phucducbui@gmail.com,linux-sunxi@lists.linux.dev]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: A8D621C0084 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: bui duc phuc The IEC958 status kcontrols access hardware registers directly. Take a runtime PM reference while accessing the registers so that the device remains active for the duration of the operation. Reported-by: Sashiko AI Review Closes: https://lore.kernel.org/all/20260514043314.62222C2BCB7@smtp.kernel.org/ Signed-off-by: bui duc phuc --- NOTE: This patch is compile-tested only. Changes in v3: - Add Reported-by tag from Sashiko AI review. sound/soc/sunxi/sun4i-spdif.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c index 89eccc83a130..f54eb14c9ed8 100644 --- a/sound/soc/sunxi/sun4i-spdif.c +++ b/sound/soc/sunxi/sun4i-spdif.c @@ -428,6 +428,11 @@ static int sun4i_spdif_get_status(struct snd_kcontrol *kcontrol, struct sun4i_spdif_dev *host = snd_soc_dai_get_drvdata(cpu_dai); u8 *status = ucontrol->value.iec958.status; unsigned int reg; + int ret; + + ret = pm_runtime_resume_and_get(cpu_dai->dev); + if (ret) + return ret; scoped_guard(spinlock_irqsave, &host->lock) { regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA0, ®); @@ -443,6 +448,8 @@ static int sun4i_spdif_get_status(struct snd_kcontrol *kcontrol, status[5] = (reg >> 8) & 0x3; } + pm_runtime_put(cpu_dai->dev); + return 0; } @@ -453,8 +460,13 @@ static int sun4i_spdif_set_status(struct snd_kcontrol *kcontrol, struct sun4i_spdif_dev *host = snd_soc_dai_get_drvdata(cpu_dai); u8 *status = ucontrol->value.iec958.status; unsigned int reg; + int ret; bool chg0, chg1; + ret = pm_runtime_resume_and_get(cpu_dai->dev); + if (ret) + return ret; + scoped_guard(spinlock_irqsave, &host->lock) { reg = (u32)status[3] << 24; reg |= (u32)status[2] << 16; @@ -479,6 +491,8 @@ static int sun4i_spdif_set_status(struct snd_kcontrol *kcontrol, SUN4I_SPDIF_TXCFG_NONAUDIO, reg); } + pm_runtime_put(cpu_dai->dev); + return chg0 || chg1; } From patchwork Tue Jun 2 11:44:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bui Duc Phuc X-Patchwork-Id: 2399 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 9F2A01C0084 for ; Tue, 2 Jun 2026 13:51:45 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=gmail.com; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-23723-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-23723-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 79F4530A4B66 for ; Tue, 2 Jun 2026 11:45:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3C6CA3DE453; Tue, 2 Jun 2026 11:45:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gJWEMzw9" X-Original-To: linux-sunxi@lists.linux.dev Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.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 4CA8B3DDDCB for ; Tue, 2 Jun 2026 11:45:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400720; cv=none; b=qVTfjCssAVHqoVNhMFHqvGQqZX+2dROo+u8NP0ZTy3gTuBeMDYWU8ydpeTbJaVbmewVNMdNI7Oxv9gLgFLbJkDSI8mnltpZ//zDBI62R+8zMISXLc1xJ6Lu8lFsnIeM/fHVea5oWMIKupdsXDlCVGdh5+lTPPZCyMicnI+cQ7QE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400720; c=relaxed/simple; bh=g8eArW1TvBopeg2TBOy3CcQKAvBFhzMIU2WVF3Mqh/I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rpF8lUvvvIVJXwC7tWEhhmzmKJVUxVeUp76MNtastW8VnpT5sTRsWWhL2PlVhmv99SVq/mNijKFENIIsfmnj2MXRv1XffrNk/qgF67B0emSj1qUXisXXJwJgrXh0Cwic+kX4H0tna2BBYF/Y7e/qkgu/h2oBcNgKYuhAvU1RUKY= 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=gJWEMzw9; arc=none smtp.client-ip=209.85.210.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 Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-8422f148dfcso1316723b3a.3 for ; Tue, 02 Jun 2026 04:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780400710; x=1781005510; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CFWD1rv/Hg1YLyvj0G8HeVU1rR/ze4TuYTUo6+4aG1k=; b=gJWEMzw9WHxZ9Gk3xEnQeb8yHVv6/Ep/YhDR9OvQtS9FGGmzVCKtPHmCb/yiGfe2SM 01cGCAJu+zyCUIqRbw8tMeTCsysSY8yh4Om7oDcCocCM4knrMScTNVIQMnrnh9bBrGGE dXdf3Ro1wUAKpTani6hmzA0ccTknO/rWSTfet6imol7q179STUAbYgE/4hlebDWCOruE j5COz/9kCL4zw5g6wvyjMtw5aBa1pscktuo6EBqHqO/QNxifqfL0JkRkUIfFM+9m3u/n y9DUWTDowZXcFcGnZ9OUJU9inn8Xc0iuarP+Tn/pt7L8LT19IVxmR8rp1GQ/Z0wLDmwC l4aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780400710; x=1781005510; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CFWD1rv/Hg1YLyvj0G8HeVU1rR/ze4TuYTUo6+4aG1k=; b=P1YcS2ccHWBdAPJ2wZ0+1wS+ZfrVa/c80w33pWVwcbXHfxRhX5k1mhKb9bxNW4wIKT y1X4yQueO+zrCQ7h9VwCf1xgiJQOLwdiDFG3g2OIQkS8wH1I6nuiJuy8rQV5k+DC/Fr2 sHstODAJhaHs4AkYJhxkjmVkmuE+3kB8tsZORrT0JR0DPWjWPGzKbeNzyJFZmEBdMH7N 9bE1fUanZ1KX3UA42rNy3EheyrIPvoaIJWkOB58AvJVadqJ1kbv89IdPV67Lf2lB5Khj iHPU8xANO9gwgGT/KNsqTudAbvgjKi3N1z8z8BoFzXwshGyBOTo/qsd1wHl+tjxzcyr2 jgAA== X-Forwarded-Encrypted: i=1; AFNElJ/cwrRjHtIjSgj97Pm+5qo/cVeajXmjRhthwXSIRZMR4SUGlF5KAr4EefO/j4WwFhOBL1/7g/NEQFkFRA==@lists.linux.dev X-Gm-Message-State: AOJu0YwPvxg7GZOEAMX8fv6j2JHezzDr5CAwBDtLaelg4xoJWcE2b9n+ ozxVjb0qqF9GrjgwwEYBjFosorRumG1Djpjask29d5Njainw3rzG0gfp X-Gm-Gg: Acq92OFHlTe1FT+oZJyw7z3K2zncDD8WfuaHuL0gtu3B1xSiQJlYRpCq4/k7Lx4Y4Su +jcoespbilZMFWtNkgog28bV9SOjLl5LJMIz6yauePkBA5qX15HrJhJ3AHTUlbUOciiicq6jwfp dhCK+heXLDKzqYDKEqxBtMb0eLPThj3gAiapppqoxO6oLbVAgolkj5Da12u0Ohc8PSPnrQxzP0I Hj1rAdOHDEovc6vKzeqQZuvuH9qPbA3LfeNaVoTUGBAjDtAXkJfVUffJ69UdeYC/EuVyglMAbTj zfLlabHCzGg6QEWzgNuPx42mZapc34kG/iaVEyBKL6BNGJVwHZfeHqHj0/HyemxgZa/iYpqZkHA 7lhthB/ELDS53Ut5tNHKOx4ZalVmPTf2c2+SY+bw/SUkifj/44wyVckC5zfJzwshouguGozvItz Hy71LQ8IpmCqp9vtORMZfW3qwPTSpU9cvUsWNAwnX6u8FSJsentTJcZ5dPhWmguK+vCHVi X-Received: by 2002:a05:6a00:2d09:b0:842:6004:3fd9 with SMTP id d2e1a72fcca58-842600445ccmr6078561b3a.29.1780400709999; Tue, 02 Jun 2026 04:45:09 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842263539a3sm12025224b3a.44.2026.06.02.04.45.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 04:45:09 -0700 (PDT) From: phucduc.bui@gmail.com To: Chen-Yu Tsai , Liam Girdwood , Mark Brown Cc: Jaroslav Kysela , Takashi Iwai , Jernej Skrabec , Samuel Holland , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH v3 3/3] ASoC: sunxi: sun4i-spdif: Reorder clock enable sequence Date: Tue, 2 Jun 2026 18:44:37 +0700 Message-ID: <20260602114437.50324-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260602114437.50324-1-phucduc.bui@gmail.com> References: <20260602114437.50324-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-0.66 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_SOFTFAIL(1.00)[gmail.com : SPF not aligned (relaxed), No valid DKIM,none]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; PRECEDENCE_BULK(0.00)[]; TAGGED_RCPT(0.00)[]; FREEMAIL_CC(0.00)[perex.cz,suse.com,gmail.com,sholland.org,vger.kernel.org,lists.infradead.org,lists.linux.dev]; FORGED_SENDER_MAILLIST(0.00)[]; FROM_NO_DN(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo]; RCPT_COUNT_TWELVE(0.00)[12]; RCVD_COUNT_FIVE(0.00)[6]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; FREEMAIL_TO(0.00)[kernel.org,gmail.com]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[phucducbui@gmail.com,linux-sunxi@lists.linux.dev]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[bounces-23723-noreply=patchwork.local]; MIME_TRACE(0.00)[0:+]; MID_RHS_MATCH_FROM(0.00)[]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc-20240116:i=1]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Queue-Id: 9F2A01C0084 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: bui duc phuc Reorder the runtime resume clock enable sequence to match the hardware dependency and ensure symmetry with the suspend path. The APB bus clock drives the register interface and must be enabled before the functional module clock. This aligns the resume sequence to be the exact reverse of the suspend sequence. Signed-off-by: bui duc phuc --- NOTE: This patch is compile-tested only. Changes in v3: - Clarify in the commit message that the resume sequence becomes the reverse of the suspend sequence. sound/soc/sunxi/sun4i-spdif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c index f54eb14c9ed8..102db1a2afbb 100644 --- a/sound/soc/sunxi/sun4i-spdif.c +++ b/sound/soc/sunxi/sun4i-spdif.c @@ -643,15 +643,15 @@ static int sun4i_spdif_runtime_suspend(struct device *dev) static int sun4i_spdif_runtime_resume(struct device *dev) { - struct sun4i_spdif_dev *host = dev_get_drvdata(dev); + struct sun4i_spdif_dev *host = dev_get_drvdata(dev); int ret; - ret = clk_prepare_enable(host->spdif_clk); + ret = clk_prepare_enable(host->apb_clk); if (ret) return ret; - ret = clk_prepare_enable(host->apb_clk); + ret = clk_prepare_enable(host->spdif_clk); if (ret) - clk_disable_unprepare(host->spdif_clk); + clk_disable_unprepare(host->apb_clk); return ret; }