From nobody Mon Jun 8 04:12:10 2026 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 510C03DA5C4 for ; Tue, 2 Jun 2026 11:45:01 +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=1780400703; cv=none; b=BEBmCBz1VmosBbatnrDimT2ykWJTEdzUMQ0apHsEH2/1tmrzB0ivnH1+3zYqzaYbXtpDozeiWZjB3EDPnL1bCNNnm0nC7cUXGoKiRr/HrcITvE+IMcP7yJKwAo48o3GCnawVJjWZ1bjQNunqkDzjsplhUCmYLvYM9LWYZjmjTLs= 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=YPRoewfm; 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 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YPRoewfm" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-842273a2c4dso2197362b3a.3 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=vger.kernel.org; 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=YPRoewfmcsN2l41rkOsj6M23fdkFQSEXGZQfaa+ttgTgjpOMVR0U+3yMmYz+ULP3yr jsqs6iqhvz6hv8qw2kym+rLlmPtJg3C8W4Akw02h//Ykz7voI1prs90BxogvCADn4jhY AvNocESNDjXiiPBuF0Cs/ogBwI3qlRJdbCBoRR1KpFfNOl/Odr2czlJ0MvgxOQvp1tMv 8P27JkPUwSPc1K4XOXcqjKo7hZIGNx4Qp7oiTwdeX+7/aHS32TFByOM8lQecl50Fpyl8 NvyIyCpm706ImgcVCPScRCR7MCQiJvlSv72q8HzG6lc0kXfMcE2b1cXOt0i/VLAwi3fb 6mow== 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=U1ujaUT4klLs3XojD2cXdXu3FeqE81cr0h+KXQ6WXomvUM11VD1mCmlO8gl2XsNtfM fYzdYjNSaiN+IrjG2PBNAkdZIB6VBu2X8gZ6pQbsE0y+3ZYDmvgnWHTpomXje/R696Ep QlAQ1ARBIrmGbB8MT/JkhK3O5mkabOFmeGUwPSN937Vt31DnEIYqzf+Vqwnva2akmCBd SidWc9xDSv0YU5deNV0mDx+TXbLZByuTSiqHxJNhMyXgGyb4bb9rQFDq87U0oBU0oseQ viG1CT5s6gu/iUzklAnzCa7nxWvL3zvb3FPHDwU0xjkh7KCKRAJdyQvOo3H4wovXnZU2 tF1g== X-Forwarded-Encrypted: i=1; AFNElJ8L5ct5q7ePgtT6v+CRJlrZycLkrRBhkl1ciJJSa1J3DGd7Ry7xYEgdRtPYFWpS9tWNuxd6nHuoPdxmGX0=@vger.kernel.org X-Gm-Message-State: AOJu0YwwfhJivZD+kx7NnXqtK68/NsmCETmtWlf+BVyLqrWt02Dq1Xqg vubCb5RTaPtGUZvb/t/4mTILIWtgf8hg9eKWec8zetJXiHTWjYt7X4u7 X-Gm-Gg: Acq92OHJ2FFKThdYkwjzt4HTvSyLbJyUnoq1DdAQp3eCW55p4+SZ+ZkHwOIWazxN54O DXK1UGZ/Fk139hzQvt5FPEKEZGgygOF6buYfBcYyyXg1kDe1lLTld9DHSQzx/DFdY+txnkWyPo1 P0vsixjSgk9Fn7Lwaq6xyMDpH1VBkv3OYueKACiV+rFuFwC2gO/mgyKKTdAIHHjqeTl0qIou0Fa 1feZuf1uPrxhm29g7AB+kYN71V3AWJ7Vxmjbz21H//ureFgGvm4aDRXrV8YRMa33LXxjmQK54Mq Tr0QLz2FcODdxJqWqGsO2KyHTbOnc0tEG0qK4WU3wew0L01Pu/YFCBb7ZqjyudZvi17lpYVl4N2 LzQw91fAElGDin8qSK3p6H17jL2tOSujtMAKcPraKscOcILj2ICC2LhilfKvjtmtKfl/08BuuAf q5SoVcdQ6sdBSDBzZMmuVIzNlGs9kik+GuqxMbOPqjH6IXbzvCvkkaC8Ii+aToAFKyXBKI 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-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" 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 =3D snd_kcontrol_chip(kcontrol); struct sun4i_spdif_dev *host =3D snd_soc_dai_get_drvdata(cpu_dai); u8 *status =3D ucontrol->value.iec958.status; - unsigned long flags; unsigned int reg; =20 - spin_lock_irqsave(&host->lock, flags); + scoped_guard(spinlock_irqsave, &host->lock) { + regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA0, ®); =20 - regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA0, ®); + status[0] =3D reg & 0xff; + status[1] =3D (reg >> 8) & 0xff; + status[2] =3D (reg >> 16) & 0xff; + status[3] =3D (reg >> 24) & 0xff; =20 - status[0] =3D reg & 0xff; - status[1] =3D (reg >> 8) & 0xff; - status[2] =3D (reg >> 16) & 0xff; - status[3] =3D (reg >> 24) & 0xff; + regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA1, ®); =20 - regmap_read(host->regmap, SUN4I_SPDIF_TXCHSTA1, ®); - - status[4] =3D reg & 0xff; - status[5] =3D (reg >> 8) & 0x3; - - spin_unlock_irqrestore(&host->lock, flags); + status[4] =3D reg & 0xff; + status[5] =3D (reg >> 8) & 0x3; + } =20 return 0; } @@ -455,35 +452,32 @@ static int sun4i_spdif_set_status(struct snd_kcontrol= *kcontrol, struct snd_soc_dai *cpu_dai =3D snd_kcontrol_chip(kcontrol); struct sun4i_spdif_dev *host =3D snd_soc_dai_get_drvdata(cpu_dai); u8 *status =3D ucontrol->value.iec958.status; - unsigned long flags; unsigned int reg; bool chg0, chg1; =20 - spin_lock_irqsave(&host->lock, flags); - - reg =3D (u32)status[3] << 24; - reg |=3D (u32)status[2] << 16; - reg |=3D (u32)status[1] << 8; - reg |=3D (u32)status[0]; + scoped_guard(spinlock_irqsave, &host->lock) { + reg =3D (u32)status[3] << 24; + reg |=3D (u32)status[2] << 16; + reg |=3D (u32)status[1] << 8; + reg |=3D (u32)status[0]; =20 - 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); =20 - reg =3D (u32)status[5] << 8; - reg |=3D (u32)status[4]; + reg =3D (u32)status[5] << 8; + reg |=3D (u32)status[4]; =20 - 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); =20 - reg =3D SUN4I_SPDIF_TXCFG_CHSTMODE; - if (status[0] & IEC958_AES0_NONAUDIO) - reg |=3D SUN4I_SPDIF_TXCFG_NONAUDIO; + reg =3D SUN4I_SPDIF_TXCFG_CHSTMODE; + if (status[0] & IEC958_AES0_NONAUDIO) + reg |=3D SUN4I_SPDIF_TXCFG_NONAUDIO; =20 - 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); + } =20 return chg0 || chg1; } --=20 2.43.0 From nobody Mon Jun 8 04:12:10 2026 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 8976C3DC4B8 for ; Tue, 2 Jun 2026 11:45:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400709; cv=none; b=VDVgfBmPhmNrk9Vo4G+76ZYVfzdh6SiwE3HtQKRcAm96J85v1SYkVND79CikrzSR1uxyqGkL4vnaSU9PsYznQ5B7rEUWmSG4KmQTjkOTaewU7WFNJF/JgiidDVtnLd7eCG/yUG9oALMj6LisVKO9D09z8mTqjS1hlyo33+Xuq9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400709; c=relaxed/simple; bh=jMX9mnAoMrDWCHNf1eDVHGV/w2HaBRXDp99gKsHpzSc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mSemgNdhqxwCNsAjAdSBTUBAYXe91shu0ImURz6CxNhNCw6TliRe05F1MXD+BNRnNYrf1tDil6oWPR03ca38pKgakRnLTVWKOSsIXbKuxlJjHFggNCJrSQaevAV/5gaiKIPWxyFb4TCw16hVXkJbZPhBeYDVtL/lbJwS/AcP+4Y= 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=QUcWbCZT; arc=none smtp.client-ip=209.85.210.178 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="QUcWbCZT" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-842288702fbso1181035b3a.1 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=vger.kernel.org; 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=QUcWbCZT9ic2o8FG+3JUleuQWGpuTpwgXVsUQu71MzgVKM8rMcKHkkZL1kuYPXV8c4 INg9fan/LlT+NX2w44i9StxtfpAS/6iAY/FujR1k88Upy8SHZbZLrJrjjFMNysFkkPNq 7y2X6zNtFP+QWX4wPqJdmdsKjqVqgHhiu/Hshv3uGmGXIFnieXAFAs5KrqBCR+QTgZcW 5VeC84pL1hwGs5D7vJV5W6RdvjwDXHcxyrUah5HpPh1ubX7gCgYhyqQgXng1k+Uy4/F5 Rl+JxyqkEpjFHvDzIpLf3Zg+1euIMnONtxUxwyOXB/mvMcx0JbU13X4//mEtQjcFJsCr jPGQ== 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=Z8YbHneKRFL1MjOqGoQFsCs3iR9OLpbpPKviPEvqQEKpgj8vnIocsAHk1g4k0C5VDO JK0bmqCtlWeruecrqG6rczFs78FqZ8W+fzE4LLBpXXaNPducA+8+K4J3PGFQeqo+WXQ8 FxDe8kKhE5i0FmTJUgQUZon2mMnidJJ05tqvBxGcKMdcpEm/ux20dDJZ30SX2csVBHBW 61kWttmrYhA3W2ohA8eoJNP1GBwFGRclJJAl5epfnZlTYDFRaDWiy9lnjduzoIZkAZWG ++CU9k1+B2XAcRBvpV0xZMYp1e3zQxqTaJQkp+vjam9mN+KM+m/Nc4ihZfR3OcQsAf+M vP4A== X-Forwarded-Encrypted: i=1; AFNElJ/h1/8UwiYVDaQZxKvcuA5C5zFLKPTgUe+SMqjm5ACsxvePN5C9buy94Zog/kGyw9LnAsvgfCfulMrvvnA=@vger.kernel.org X-Gm-Message-State: AOJu0YyBJKro/Lx7fAgmDE2mNlfDLTPKOG9dsHMJBFvGrlnHUta/NyvZ zH2/Ts8Flhrkeit4xRpMdmvpi+ywh/3gTbLUXq5L2cm9xJN2lEyBhZW7 X-Gm-Gg: Acq92OEGIbz6KbxFPORowtpmHamMsMUJnzvV6sJAm5r73FpITsQY6zrUchNkuk9JNh1 FD2DXF2kVpZscuxBl3DZAWhicprtvnP/Dmbi8DXGOpz2uO3eH7oY49muZXAAY9LKtPcScT56+px rfDgy912pYODzNAiMWM8cueXighhkKVILvQ8DpcAoF8zT2FentPj9dVqKlHURMVcU26lXNYuU4s ZV8upmWed4pJJIxo+azU6OIS6a2hhoYDb7fPB6NOR5cKdZ/lpoBaeMzJdwQvGCweGDJ1+YVJPAc GR3PkwBrF5YP7XdSQVGK+QjydLsL8cZ3WTIgRFKyGDyebzzEacMGkbiu5PN9ShN4Ilnv7akfmdT Ja3hwimZfTubfK78DYCqm8tvvBOojRzrSOZ0ppAY0MU/bPl3WwTyUMPcfNSG002cJtAnuIdU4hC hgQZD6Ek4xwRLks/ag1zeh46HQQNLjiKcA/9FLLmpcIb44acFjHCfoIO7Y0r+Z8ib6wSqM 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-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" 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 =3D snd_soc_dai_get_drvdata(cpu_dai); u8 *status =3D ucontrol->value.iec958.status; unsigned int reg; + int ret; + + ret =3D pm_runtime_resume_and_get(cpu_dai->dev); + if (ret) + return ret; =20 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] =3D (reg >> 8) & 0x3; } =20 + pm_runtime_put(cpu_dai->dev); + return 0; } =20 @@ -453,8 +460,13 @@ static int sun4i_spdif_set_status(struct snd_kcontrol = *kcontrol, struct sun4i_spdif_dev *host =3D snd_soc_dai_get_drvdata(cpu_dai); u8 *status =3D ucontrol->value.iec958.status; unsigned int reg; + int ret; bool chg0, chg1; =20 + ret =3D pm_runtime_resume_and_get(cpu_dai->dev); + if (ret) + return ret; + scoped_guard(spinlock_irqsave, &host->lock) { reg =3D (u32)status[3] << 24; reg |=3D (u32)status[2] << 16; @@ -479,6 +491,8 @@ static int sun4i_spdif_set_status(struct snd_kcontrol *= kcontrol, SUN4I_SPDIF_TXCFG_NONAUDIO, reg); } =20 + pm_runtime_put(cpu_dai->dev); + return chg0 || chg1; } =20 --=20 2.43.0 From nobody Mon Jun 8 04:12:10 2026 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (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 4C9EC3DD53F for ; Tue, 2 Jun 2026 11:45:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400716; cv=none; b=r+VqGDva653NFQrlsIvi3wCC3smjJDEBwU4ayLKyQLAyPn+xCyF8kwH9gbNC8KN8n3aJ+3A2N8gW8qh7VFY405EUZ9LnbtssvgY/CEh9gyx3S63SqOMeCrW9zrGbEujb5CKc8EEKessl86zaPbJmBEPzHVCmZpuKUMcPtrbHBrY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780400716; c=relaxed/simple; bh=g8eArW1TvBopeg2TBOy3CcQKAvBFhzMIU2WVF3Mqh/I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XSB+KFJe1lz1LLrynxePjjEwtKw7skFQGTOp3tFT8yJeAOL9P7QwApZBlDi8EEnbzca+n+dm4AyQT5/aA4M9q6f9+CY7erZ4G9WPgzMjHR+uhGW3sUQG/tFNx50lMtmpylfyXfWJ9e2oQ/fvcUx2NqOPGk3ck2TdPK9G2LLOYVs= 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=E8w3BluQ; arc=none smtp.client-ip=209.85.210.173 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="E8w3BluQ" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-8422f148dfcso1316724b3a.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=vger.kernel.org; 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=E8w3BluQWbK6ucGTjnyPUiWhPA/NrqwAOQN08PpRWqKsUh3ZLnYn5o9IzxJJKcx5HY p6IGhu43imCskegQtR3mq8VeDgTjFkYH4cT1i+scfjO6Rj1CUwcFG8LslUFVmiAxhk5L LLfopGAsAVEbDFPb9kaRaIDaqKtIX/j6xlZ+V0vH6aWlJQZBa8r8Q5mtWsDMyApP6Xq6 civq4aszV/gtZtBQRJIhtymifwhWrK0MWury3/RllA6drtOLYDdnlaEO7jqLClJz/iPU AAEoIdxD5ipTKqJj+acB+zzyLeluPoDLgf4gZPNljqQDbB22mFHJHnlplMlWPH5ehs2O 6QgQ== 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=U8OybVblVlR+NfP8jv3qRTSNwkWrfs/a25PEuohgK6jQWQqrYZgo3dPBUHFnKlnBSh 95hSvJMFzBwOK+n79B8UyxwEBdlQ8esBi0paRcFOcj/8uF+WlzO0Ts6B2mGOVVLizMG4 JdGAn7xQRAtgUl/omH2LWCQtJ06TaMGnYYSJ4NRXKh+D4IX8uTt43KcohcZw/YxDhT4F GxO9IvypNLnV51/FDXhBkKN0Rc5cxdEH7EcAQqV1Ckx+4EuUA03+G1z7OyHuyh8moAaz O7GtwH94z6wILdzc6ri9ez/U4cAX6qZEX2Bpfjnniq2WY+GF9ouz2nrzQPwRRUdpT+uq 2UVA== X-Forwarded-Encrypted: i=1; AFNElJ/NeDeaD78zaSi+eqINIekCbP+EW/VRR0hort4gm1rrehhQbnbzIlZsyproPtO5ifJN6FqGpBWi021F0rA=@vger.kernel.org X-Gm-Message-State: AOJu0Ywgbzb52w3ZvjWgHuP4NpOl+VvVeIITiOOTUzB9r75kZLzUBK6C XXszRrwaofWrQxD9JjMcv3xDKygoURQfqxIRxN49u7Sn9OZUw8uYKGVM X-Gm-Gg: Acq92OF/9vp7hS1vTTvGyrr9GAgeljIzo7D2B6nBaQJM1wCMGj368rn7nhx8FX62qhY vcy2drgsgrHEzfDN3HT5SFjJ2NgCTio9dK5PpYJP6UQ9l8KIu4S3m4uQr9D3O4xfenQLl3sylcO 9EmaEGtOv1U3POW7v6kgYhC7/VwE9PeEjOhwrhS8k1cBeWW/VchpgsVNXPqbtdOhJPHhg33vaoM J5uH5SC4ON4YIt714BFpH54qBxm/kTGR8GYYdr9vsFGW4XJEEAPOu0W+sodx9sy9kpSNi0gv4JM ci7cDxxZnIv45B4F9I+gwlG0sPk74uydOwyZck8OjnPwziLtninNm4xlL91jjb6YVnPjs4M0G8+ nFzUKNInJTH59ZecLo55E/nv/iKX406KktkoPwH0sJ6qFPMS8uHgqIohgeBIkVpYGBV0ZMS23lY sVvI3xGSz0pBUy8e3JrLCry+fapp9NapQTSkucjgKMQtq+AanQgf36AVt1qEa3fzrpctPZ 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-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" 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) =20 static int sun4i_spdif_runtime_resume(struct device *dev) { - struct sun4i_spdif_dev *host =3D dev_get_drvdata(dev); + struct sun4i_spdif_dev *host =3D dev_get_drvdata(dev); int ret; =20 - ret =3D clk_prepare_enable(host->spdif_clk); + ret =3D clk_prepare_enable(host->apb_clk); if (ret) return ret; - ret =3D clk_prepare_enable(host->apb_clk); + ret =3D clk_prepare_enable(host->spdif_clk); if (ret) - clk_disable_unprepare(host->spdif_clk); + clk_disable_unprepare(host->apb_clk); =20 return ret; } --=20 2.43.0