From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (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 8B25E339B36 for ; Wed, 12 Nov 2025 15:41:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962089; cv=none; b=H2EWVs0esiZwOGoTsLLqr4gacv/PAmQt3U2u+e+ln/TQEZZUG4+H0dijgdUJHt4IKoeHIpdlDDDTrPx6203gMXOYSFXIlj6o6eaz3DtLrT17+Ze+AzI3D9wdUEBGQhgkJ+SP6y3m+C/cPiglS5PUXSkOIyFX+IBe9XAd9f0cMas= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962089; c=relaxed/simple; bh=UClL00HHRdjqVQ8rRDJyEJORa3/XwLjIF8+0EpknQq8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zz4fxUiHyLpeyDs3fs9Ckv3kPz/pJmn4GfEClRTTqRQOqRG59rncAhjFFsl0/c0QPzgFPSyHAlYKis+0/UpNBYWr8THNRX0I+z5rXe/zhweEFa++cSdHJr2tTqZaL0rW/8dL76LhkMDqpqqRpE+7Cs9QAieG9fxtOol50lHSDqg= 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=ANKmPsFu; arc=none smtp.client-ip=209.85.218.44 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="ANKmPsFu" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b5b823b4f3dso144602666b.3 for ; Wed, 12 Nov 2025 07:41:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962086; x=1763566886; 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=yk7u2O7gzBgbufSRxECeKhh27HRZUnQrOMyIaKWC7ws=; b=ANKmPsFuZKOjXrk+WZ+5vWzfBmnhMJJfAh+tvxjUpLvmOXtFlfGEjnvy+h3+a0j/ij WgkoeJ8sqQ6a/Uj/Nflrr6YcDe0teiDimCh11m1kkWgVzvp0WgLCeRCclKssbY6Q943w 3jfIqw6cWbA6fSKBjvVb+djtKIIM/hOzg3NPGwltl7swWL2Cl4pkeDLQt9sMcmxooo/5 M2MMZASc4X9hu5W+Ml+0l72v4d8m+FNL/GBq6A5vSpP57h8I2txlWqiA/grvmgh6WQ8n P+jKsJOhgbHhVLpAhHwsCcKNmdrhLsONq/E1+UbiWeFJb1R5OgygDAY7ztlZQTWlL9ku g79g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962086; x=1763566886; 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=yk7u2O7gzBgbufSRxECeKhh27HRZUnQrOMyIaKWC7ws=; b=N7HweidqFRzEsIeNQDtrzNd/G957V11WjZZqFsHCEUv5d51B8sOO+MUjbg3hOwT+Gn PxnibxLYii5VDfUtG3tRMlO75rzvKA6TSsgFpEo/MHuxucJTz4x+USZ5Xts07upotopB aS7N8PErDLLGqcC/VRtugvP9TSVVCyBjnVZQSZnEjNinYIqd6f/wixcU96BRYiSrdK4U 6HzorrA3zp7oGkSZ8cWU8h34xIl2jmBglYEHsGh2VSP/hNq9nZ8b43ehemPmbMz+hitb YafKUADcpl5DwyiyViYDHZhrT3tb4wl92Wm9p+dg8dTWqaj4Ogumr7Ht1VkdZrYxWRZj Eeng== X-Forwarded-Encrypted: i=1; AJvYcCWX3OKqRUzMivRVTxYu3Nz2vbbMPzsjC0Az6NuCEeFrxaG20Z2002ZYZxPMyOhccMvq1Tt/M6uQiZukvwo=@vger.kernel.org X-Gm-Message-State: AOJu0YynAsGWbLYmTCt4qVvg/5P2U9/DQQZ70I+tarpKBS66nL5OX4E6 2DWWmf66J+yg1oi+J61+poF2LYuyR8lj+n9PN8w9f1P5fmDZ9TDVI06U X-Gm-Gg: ASbGncuPbvE69hfWzSkCwouyi/gFs/oPkgcQMUtcPGi7jq0FziJpQ0vJvi5JxaL3xmu GXlOMCd1OmsFRjJwz7/iVLiyJdn9T23/QJuJ4Drozprfe0qrBX6lyGk4QapDpzbAQNKAobTEHt/ wy6r2oCK8KSiJXmbESiuuOIvhpogVsHyt/XwJJ7yEcKYQyZxxGlXkjvaSE8GSi1rRS+8pDXjhp7 wgfKefAZS+Ik1uemQbmGaGeEcmi2+8k2HYIZkn1nG/zDFmpzZvcI8S4BW1A3+K9igje4/0n4Mom GQ7/Kt9PlkAoetvwd8PSHu02KuhvFH/yuecnDig6chRbI/f0hDWenvdcDmtgPtHgA/Y0hKPGCTo VAohTfCOISNB54p+o++CSXWt+NC7xlcbM6OTFa5+69jMT7OrfFcpXBQ7zQfCg+H6smFXaN8Xh3H kNxkoGFX3c2xlvpEeEujOwpT5lIGI4BSaGm4Uf6bjy8lHUVFVRvDHdn98egnKA8ms/NJ+uIsk9U A6nQg== X-Google-Smtp-Source: AGHT+IGgr7VLLs1gOVhCQRtNcp9U6lNi8siXqNWSeqIbbBA6TNOKiWU+pVTILXw69C+/pi/ijkJrCw== X-Received: by 2002:a17:907:9722:b0:b72:5380:f645 with SMTP id a640c23a62f3a-b7331970ab8mr397255366b.3.1762962085846; Wed, 12 Nov 2025 07:41:25 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:25 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das , stable@kernel.org, Tony Tang Subject: [PATCH 1/7] ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode Date: Wed, 12 Nov 2025 15:41:02 +0000 Message-ID: <20251112154115.1048298-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das The full duplex audio starts with half duplex mode and then switch to full duplex mode (another FIFO reset) when both playback/capture streams available leading to random audio left/right channel swap issue. Fix this channel swap issue by detecting the full duplex condition by populating struct dup variable in startup() callback and synchronize starting both the play and capture at the same time in rz_ssi_start(). Cc: stable@kernel.org Fixes: 4f8cd05a4305 ("ASoC: sh: rz-ssi: Add full duplex support") Co-developed-by: Tony Tang Signed-off-by: Tony Tang Signed-off-by: Biju Das Reviewed-by: Kuninori Morimoto --- sound/soc/renesas/rz-ssi.c | 59 +++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 81b883e8ac92..f21b332b3656 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -133,6 +133,12 @@ struct rz_ssi_priv { bool bckp_rise; /* Bit clock polarity (SSICR.BCKP) */ bool dma_rt; =20 + struct { + bool tx_active; + bool rx_active; + bool one_stream_triggered; + } dup; + /* Full duplex communication support */ struct { unsigned int rate; @@ -332,16 +338,17 @@ static int rz_ssi_start(struct rz_ssi_priv *ssi, stru= ct rz_ssi_stream *strm) bool is_full_duplex; u32 ssicr, ssifcr; =20 - is_full_duplex =3D rz_ssi_is_stream_running(&ssi->playback) || - rz_ssi_is_stream_running(&ssi->capture); + is_full_duplex =3D ssi->dup.tx_active && ssi->dup.rx_active; ssicr =3D rz_ssi_reg_readl(ssi, SSICR); ssifcr =3D rz_ssi_reg_readl(ssi, SSIFCR); if (!is_full_duplex) { ssifcr &=3D ~0xF; } else { - rz_ssi_reg_mask_setl(ssi, SSICR, SSICR_TEN | SSICR_REN, 0); - rz_ssi_set_idle(ssi); - ssifcr &=3D ~SSIFCR_FIFO_RST; + if (ssi->dup.one_stream_triggered) { + rz_ssi_reg_mask_setl(ssi, SSICR, SSICR_TEN | SSICR_REN, 0); + rz_ssi_set_idle(ssi); + ssifcr &=3D ~SSIFCR_FIFO_RST; + } } =20 /* FIFO interrupt thresholds */ @@ -374,12 +381,18 @@ static int rz_ssi_start(struct rz_ssi_priv *ssi, stru= ct rz_ssi_stream *strm) SSISR_RUIRQ), 0); =20 strm->running =3D 1; - if (is_full_duplex) - ssicr |=3D SSICR_TEN | SSICR_REN; - else + if (is_full_duplex) { + if (ssi->dup.one_stream_triggered) { + ssicr |=3D SSICR_TEN | SSICR_REN; + rz_ssi_reg_writel(ssi, SSICR, ssicr); + ssi->dup.one_stream_triggered =3D false; + } else { + ssi->dup.one_stream_triggered =3D true; + } + } else { ssicr |=3D is_play ? SSICR_TEN : SSICR_REN; - - rz_ssi_reg_writel(ssi, SSICR, ssicr); + rz_ssi_reg_writel(ssi, SSICR, ssicr); + } =20 return 0; } @@ -915,6 +928,30 @@ static int rz_ssi_dai_set_fmt(struct snd_soc_dai *dai,= unsigned int fmt) return 0; } =20 +static int rz_ssi_startup(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai) +{ + struct rz_ssi_priv *ssi =3D snd_soc_dai_get_drvdata(dai); + + if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) + ssi->dup.tx_active =3D true; + else + ssi->dup.rx_active =3D true; + + return 0; +} + +static void rz_ssi_shutdown(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai) +{ + struct rz_ssi_priv *ssi =3D snd_soc_dai_get_drvdata(dai); + + if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) + ssi->dup.tx_active =3D false; + else + ssi->dup.rx_active =3D false; +} + static bool rz_ssi_is_valid_hw_params(struct rz_ssi_priv *ssi, unsigned in= t rate, unsigned int channels, unsigned int sample_width, @@ -985,6 +1022,8 @@ static int rz_ssi_dai_hw_params(struct snd_pcm_substre= am *substream, } =20 static const struct snd_soc_dai_ops rz_ssi_dai_ops =3D { + .startup =3D rz_ssi_startup, + .shutdown =3D rz_ssi_shutdown, .trigger =3D rz_ssi_dai_trigger, .set_fmt =3D rz_ssi_dai_set_fmt, .hw_params =3D rz_ssi_dai_hw_params, --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (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 6C7AE33A033 for ; Wed, 12 Nov 2025 15:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; cv=none; b=Th2lbKbYkDovUKWyQLPz4x7tadcL8maMpiZ2g8kLybVZhyEu5INKxi5Hkce1ecmLsrD/IpMQwpxmrF1rGyedHHzQbZ5HtkPHjZ2aT+5+Pd16b7DkCvuyzntg/uPpA0zM13tf2COPOzordjg6bV7CuuF5AtbFlTm2WMtYU8cS7do= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; c=relaxed/simple; bh=In7dKHJWjfOxEtrVeI6kTSfrjwoLbH8IOv8sdxgIDL8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J06AYqv5aOBr+YlffEUKFTPe6hElXaQcib7sEszzMOz6kXa1hiQdGtUZq5pr1wlwmvAJcH6fFelEZPBVNDDALJZj8iefkUzcfHCrj7zy+BaFfbEmCWyqD/K99qHARljTC6zXDJ9MYui5ljjrsZ8U7WZ6fyfNvEPnRmGVseKQWD0= 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=bJXpY/Sz; arc=none smtp.client-ip=209.85.208.49 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="bJXpY/Sz" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-64166a57f3bso1506201a12.1 for ; Wed, 12 Nov 2025 07:41:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962087; x=1763566887; 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=vqAC+UNeM+Yv6vfhs9gI86/DadbeV+G5Du2hkzLEz3I=; b=bJXpY/SzO/yjQwhlVEQ+6s+5Zu0tiAcxx68C8nt0Z/E97ksjQQFIGndZaVevtI6q+3 W5IM0/xM99/IOzwq/DWfK+359Ny8m5krsq6Hl1pDT0iuT44Fv7G5Gcoti6sMv6X8qeu5 A8iQTdpgVUmIQahAPcvad7JYGdTDCSCXVG4R3R8vfUidblfEnLVwOVfAlDOqo4aiCyhc NLCXtLdf0a1jjo8tz6qeNbPzyeZqTdCWT0fXj8uV+By4YnOhgVKMaeepQwMuOFVf7cv8 5JRNHjs5PE1FZwXToIEnU3ZxJ2Y5doV5oLzaUQgkPcf0AjV3cza0bqOke9Ys7rgbDgbV 5keQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962087; x=1763566887; 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=vqAC+UNeM+Yv6vfhs9gI86/DadbeV+G5Du2hkzLEz3I=; b=xEzY9VEJ/zqHToTcAf7gx+tiibnL/5C0IdacYhnC+UNsPPEvbMMmnm49GkFmu1EYrH 5QUpzu1vzrc6dxSSoQw4EbjhgEZp/0z97jcELEBe0GvFoDRgugQEUMfosgK+PtxaGF5I /kchTCM8VdJNLDQ/CuaLrBg734IZJm+iLM/641lcVcxFVGLhDxRFjLD87+Z4EYewYSP6 US/Ehgpuy6VP08cmad4Mp+K6YfMlpAx7qrBJ3tCaLydl0Hj2S4R9g1/us2a14NGBlOE4 l2/Xj8dQ4D2g2Nddr1M3HR2w8dU6YgcmrOIo9ySGGNjC+G5TSdEu6BeZ7F4u94ux1196 bv2w== X-Forwarded-Encrypted: i=1; AJvYcCXqZKEUfzFTFXHBTS3bOCoAuPRFtONrj6wppfKHmwCqbFB7XhkKU2QvOJ2X5MXdSNNh1S1jyN6fBPOQRHg=@vger.kernel.org X-Gm-Message-State: AOJu0Yzl/pd4fUfg/RykFCnnA8WGXEan8vSF5vy5Cg7iLCl5lMe1+hgE 6YZRPYsU5euQTUtnoaIzLotc1Aet5ipkU+d529DUG7GaqaP6hiVp1sF7 X-Gm-Gg: ASbGnctDVvCtpfy0J/hTXvdvE029ZPmhq/O5WffVU8Q1Ys0UKj17vj/+3rp0jGsQ2O7 BaPWtAubBtdHLeH5lAUOCeLxitaA0ZRavjXzhX1eV58xx7w/ug/r40nYKH2aHz7tvRt2jaunp5d KgDK0eMeVOSawYnqKeCElTm5JMxk/rkKu3nHrtLjuCgJ8He4tWGq5SN+hC/unML4fOhQkcBuOXR Ya6FMbrflCBikXC8QUNwaJwV4fOBDC96jJQ6W+IQF3KBGhzQoIFJxvwQT5IyhbHA24rBISbdm7Y cfO57Lf0nKbBsiwfEWJSgSgk+Tvem3flvIHEHumcqO2BgP1oMPIuDtQ4RnxLTmegDZJLWTpdQAx lmwc1WVrDPtsqk3CyF4fRk2L7g4ibE9gnsrqEXQ9uTYCmzeTthl/628B2dEx7gXYdEJWO6Q8oVJ e8nUb0GMVyw80ytIi2ZbmIfH1bZ0oMLE5YBicu8kojJozGZeolwDKwxrd+Mn7eQGSKNmp3EQeMO nuvyWIKmNiLsB0J X-Google-Smtp-Source: AGHT+IGQIG5IrOJDrZArdz6BGwNr4MHfKQAdEicjI7rp98rPdh1zbdlEJ7bGm3OfdRkb+f6C5SQ3tw== X-Received: by 2002:a17:906:d554:b0:b4f:e12e:aa24 with SMTP id a640c23a62f3a-b7331993fc8mr373774466b.22.1762962086629; Wed, 12 Nov 2025 07:41:26 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:26 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das , stable@kernel.org Subject: [PATCH 2/7] ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width Date: Wed, 12 Nov 2025 15:41:03 +0000 Message-ID: <20251112154115.1048298-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das The strm->sample_width is not filled during rz_ssi_dai_hw_params(). This wrong value is used for caching sample_width in struct hw_params_cache. Fix this issue by replacing 'strm->sample_width'->'params_width(params)' in rz_ssi_dai_hw_params(). After this drop the variable sample_width from struct rz_ssi_stream as it is unused. Cc: stable@kernel.org Fixes: 4f8cd05a4305 ("ASoC: sh: rz-ssi: Add full duplex support") Signed-off-by: Biju Das Reviewed-by: Kuninori Morimoto --- sound/soc/renesas/rz-ssi.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index f21b332b3656..039bec32cb5e 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -13,6 +13,7 @@ #include #include #include +#include #include =20 /* REGISTER OFFSET */ @@ -87,7 +88,6 @@ struct rz_ssi_stream { int dma_buffer_pos; /* The address for the next DMA descriptor */ int completed_dma_buf_pos; /* The address of the last completed DMA descr= iptor. */ int period_counter; /* for keeping track of periods transferred */ - int sample_width; int buffer_pos; /* current frame position in the buffer */ int running; /* 0=3Dstopped, 1=3Drunning */ =20 @@ -217,10 +217,7 @@ static inline bool rz_ssi_is_stream_running(struct rz_= ssi_stream *strm) static void rz_ssi_stream_init(struct rz_ssi_stream *strm, struct snd_pcm_substream *substream) { - struct snd_pcm_runtime *runtime =3D substream->runtime; - rz_ssi_set_substream(strm, substream); - strm->sample_width =3D samples_to_bytes(runtime, 1); strm->dma_buffer_pos =3D 0; strm->completed_dma_buf_pos =3D 0; strm->period_counter =3D 0; @@ -982,9 +979,9 @@ static int rz_ssi_dai_hw_params(struct snd_pcm_substrea= m *substream, struct snd_soc_dai *dai) { struct rz_ssi_priv *ssi =3D snd_soc_dai_get_drvdata(dai); - struct rz_ssi_stream *strm =3D rz_ssi_stream_get(ssi, substream); unsigned int sample_bits =3D hw_param_interval(params, SNDRV_PCM_HW_PARAM_SAMPLE_BITS)->min; + unsigned int sample_width =3D params_width(params); unsigned int channels =3D params_channels(params); unsigned int rate =3D params_rate(params); int ret; @@ -1003,16 +1000,14 @@ static int rz_ssi_dai_hw_params(struct snd_pcm_subs= tream *substream, =20 if (rz_ssi_is_stream_running(&ssi->playback) || rz_ssi_is_stream_running(&ssi->capture)) { - if (rz_ssi_is_valid_hw_params(ssi, rate, channels, - strm->sample_width, sample_bits)) + if (rz_ssi_is_valid_hw_params(ssi, rate, channels, sample_width, sample_= bits)) return 0; =20 dev_err(ssi->dev, "Full duplex needs same HW params\n"); return -EINVAL; } =20 - rz_ssi_cache_hw_params(ssi, rate, channels, strm->sample_width, - sample_bits); + rz_ssi_cache_hw_params(ssi, rate, channels, sample_width, sample_bits); =20 ret =3D rz_ssi_swreset(ssi); if (ret) --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 378D233ADA0 for ; Wed, 12 Nov 2025 15:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; cv=none; b=E9DFEok2Ih5RLV9z1zb11n6D3KFiXxwzgiECcHvHhbiHjuIbLYvIXkSakjzIG8enYAgASsIjIfhpRIJsLFCiYEn42KyhmCoHeKR/51AR02Z72E0ea+RjHfF1uwsezgnkjgCZodhT2lsx52bl8fLcQKcj7yAxtdUEH1IFMx0eHYg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; c=relaxed/simple; bh=CRIWp0n5HwRdlkmssRO+ntsNrIka6hpB8QMW7u3mkwY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NoXeqPIst6kYPfMrtWAEfQzK3M00OgMJ9v9p6XPsNcHiCFfBNckQzNdt0EzE5mprblQxjtaeyn0xu3ms3PNxAaT3XnysknS2KvSbsfPMIG5I/G6ydWJb2iVNfwoXZ36DgToNopG2LR4rqHKRsFgf7wURFWVrUYLrZ+gHiJrXkJ4= 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=MiB7AZDp; arc=none smtp.client-ip=209.85.218.41 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="MiB7AZDp" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b403bb7843eso214869266b.3 for ; Wed, 12 Nov 2025 07:41:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962087; x=1763566887; 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=Gq3AgUTPzY+a4pOL3uaAaWkPNx0akFqHFeupvGebgG4=; b=MiB7AZDpz3iz5OGP653WkZmtYMl9BYDhrwCxdS6oiwevvUknTaz6LAGwQYn8Nmu5pT DuuUvJc462kKcrxbOCjS0AVZ6zpOgl1JZ3PKbYJ0O1P4kbVsaXH9A1ByLMaCtw19UAiP Eie9I6te1ejtPTfe67VV0F7q1L1+qJc2+nsOOfJCOGKa+2FhWvOshyBrCZXhRg4mm3ND mtP6OWB+gmio05ifLgCQmz5I+K16LAxRFVBTOqpm2ivo8oVJXFzJqIhuknZFkoCdjk45 jgVTzzXEL5o5+isjfmIaV3epwM2xM82TPRPZImML+IlOEFAr+WN7si0vEvWrSLazDLRS KDXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962087; x=1763566887; 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=Gq3AgUTPzY+a4pOL3uaAaWkPNx0akFqHFeupvGebgG4=; b=hw17yEgMK3Vk/qWjdThLM2yc2cKHTwNWNp8alSUcV2OxTDphyKjgT3B9nt0WLMl4OB /lJ/00gLxiniE/+5AwI+6sbpUuczMdc1FGouba6JyePsI/nZLKzlK6Z9i2Sd7C9whc52 9sQWV/lolZcVsF146Kb/oVMkZoiFJ4/cicNEvuYfyfdXUXt5eVtcPodV7OVySHPCBk/g A0xWG5lfE9SKXPcOE72bNd7xeqO4eHl+cltNvayiqnqZgcH5acxW8WV2VIChe5Q54sSj HbcIn9HQqwB+DZLHbHLVXOfWe+3MMtADQpQ2NU+PLzTcIf5l2v/bzJlLk6qtkucO5Gld jYaQ== X-Forwarded-Encrypted: i=1; AJvYcCX70RrM87PoQyUDR+h5qvW1nsQS20/Gf/u+aynO6BiICO84zwdVCvmxy0kcBweuAaH3Du5z4KdHzC/fudg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5JWBVkakccqNsSdfbb+/4Bk412Q3P+uTb23aXL66K3ApJt6ua Y/JOqF46Tmadq7bdzl9UCHxYwoJn/4BjHDT/ab35GXiB2x3HYcBTmzeo X-Gm-Gg: ASbGncvBv6j+aaWb5BE3M5aJy7akgwLXuGDF0lP7iPCDwZSobHedj8FFZAmo002i5Lt eU9nmdn1JiUb3qB5MgAryWMkaJJQxC9Ncdnh7DEcjxi3JeUeZY6QBCSx56RtN90gPQcV1HmGPOm d4oOaQcxfzQxTJRtNCHPENoqb9RoXMMpCGV71ANta/2lCoq6XhKFxhNTjrehbdRNsFfQHd4/6ig Klm6QqcQFCEpTXpW23pyw+NKbL/FXs6FeKBS4LUq9EMQKnBOGOBLkcmO+Uqe0bZwh6VY2J9fEyz XLyh0MNnfyV2XNOuZIrrw4yx1M59BgxGcb8gYnfzoZpzr7O6SL96KzT7gSl/6jUrm42IBtsipUt FZkvJ9HnmFxjRwdfyXIIsZuhzJ708URJ48/u4XU8lWy0HKUDseFoUPfyrgo1GFXIjKI4wZpwFso 9asscjf4Leg3Galx3tor2S08oKNaEDdDOD91o1RvAW95Xfnzslit6T20cJN0FtCv1S/wUuHwevY xfUTQ== X-Google-Smtp-Source: AGHT+IH+xX5hJrZOC7Qu2lNDzak2vwnr1s8A5ixFZilatjPXkva5IprmaQlq2uvPjZRQHXlOLziFqg== X-Received: by 2002:a17:907:3f0b:b0:b73:2df0:9fa9 with SMTP id a640c23a62f3a-b7331aec6fcmr309681866b.59.1762962087420; Wed, 12 Nov 2025 07:41:27 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:27 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das Subject: [PATCH 3/7] ASoC: renesas: rz-ssi: Use dev variable in probe() Date: Wed, 12 Nov 2025 15:41:04 +0000 Message-ID: <20251112154115.1048298-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das Replace '&pdev->dev'->dev in probe(), this makes few error paths shorter. Signed-off-by: Biju Das Reviewed-by: Kuninori Morimoto --- sound/soc/renesas/rz-ssi.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 039bec32cb5e..c7d5576c8283 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -1123,19 +1123,16 @@ static int rz_ssi_probe(struct platform_device *pde= v) =20 audio_clk =3D devm_clk_get(dev, "audio_clk1"); if (IS_ERR(audio_clk)) - return dev_err_probe(&pdev->dev, PTR_ERR(audio_clk), - "no audio clk1"); + return dev_err_probe(dev, PTR_ERR(audio_clk), "no audio clk1"); =20 ssi->audio_clk_1 =3D clk_get_rate(audio_clk); audio_clk =3D devm_clk_get(dev, "audio_clk2"); if (IS_ERR(audio_clk)) - return dev_err_probe(&pdev->dev, PTR_ERR(audio_clk), - "no audio clk2"); + return dev_err_probe(dev, PTR_ERR(audio_clk), "no audio clk2"); =20 ssi->audio_clk_2 =3D clk_get_rate(audio_clk); if (!(ssi->audio_clk_1 || ssi->audio_clk_2)) - return dev_err_probe(&pdev->dev, -EINVAL, - "no audio clk1 or audio clk2"); + return dev_err_probe(dev, -EINVAL, "no audio clk1 or audio clk2"); =20 ssi->audio_mck =3D ssi->audio_clk_1 ? ssi->audio_clk_1 : ssi->audio_clk_2; =20 --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (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 D8F2A33B6E1 for ; Wed, 12 Nov 2025 15:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; cv=none; b=pfX5FIkpcAimDTVTZLN3U8Cww5UcwCqQuI4xZTK9Z8jg1n6ZvF/KdfQUSozjyJJjQRyxu33ePIMJxzOR6YLFUdzWqxszeqHGxzHfmJh5mLfyTv1Ict8B905YMvkHCyWXItaHVQzWYVfHjmPOqEbh3O3lRQkRHlUY9nrBh5ocFa0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962091; c=relaxed/simple; bh=2VDdKEp8F1Kmk4EzLuKTTS/byzcL3Fzd3mUIgAOO9xQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UicsQOjrDB3/clTsxDRsR7K7+tKcu/+iu6xN0dmq9K5HB2SxB2YjdxjVkLozSE5o4CFeyMjuaiXWKVxsMPZlJVXeZ9u09njGQL1o5F9JgcB+3aXPUHxpP0SajM/9skMPFlSeH+zApgPHLP/TzESCKKEe1rRdFw5VxgP9oYpUsjE= 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=Omf+Fb1U; arc=none smtp.client-ip=209.85.218.51 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="Omf+Fb1U" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-b403bb7843eso214871466b.3 for ; Wed, 12 Nov 2025 07:41:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962088; x=1763566888; 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=P2aZ3q8iXsguvzv8869dZeM/b50D/XalAVFAVL82xgI=; b=Omf+Fb1UYpnkNc1YTDoNIOjKKnvGTc2JAbiRumwX+l97e8rHW41VdZbmJd25uPggGt QFRDV6OMDe8nuKLjB7jnFkuwPU9bmna8fcE6g7mn7hLagRmbRxvq82D0WCtAEUBPWjrV ajBw/L2z43lq/hQRWjXwQPgTgLtBjnRuAHVDXJAlSUoLlIOlywe/s1uiAfKpGzDZso2H 0ykr4KJ2OQobsQFMJZrqHzhj6q26A40SR1dWZS1NtrWC/0HlPBuxc6rK604T/Ws7Nf+8 457ycK7XsNNK9Ki31LwvuRDcnoezheNcerEjXQ51F3KV963mjivby+0C6/sD8EpyuckT Ns9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962088; x=1763566888; 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=P2aZ3q8iXsguvzv8869dZeM/b50D/XalAVFAVL82xgI=; b=XuTC3uxWsB+tahS+M0QHSMyw7889SLTIE7neiByTLVa/rthyNiIuIrbgmBF6ejkQzk 9uQNSoiHLepGe4dpWbw0Le/C52G5WWzoEJcgHswVcpz9vVbNva4BvZRHB+1YUfuQJuro HDN4vJwA5lNSeAYIXynnz7LBv1V8CQjNNBH3X6KukERXYLbon1SZQ4dcmt0WFy2HZXd1 BKz2DLnOlXGGwXa5LxolYs2UnJ058hoaH0skGW8kr2JtTbvHM8uIaqT8CGpfqQmbracH gzdS7Jbvxi9SuXAotZ0sKLmcKpEyNbpsjkvYRGYJ7ROrWxD8oH4LQNsqgV5g5AEw5Uc3 dXiA== X-Forwarded-Encrypted: i=1; AJvYcCXfwM7JSR3CZX1Iyfw83BUgX2KXanv5rQ+TkMneofneevhm3q6HIPrZ5Oxu9dtDILskTt+qcWQgTEZSjWU=@vger.kernel.org X-Gm-Message-State: AOJu0YwTMFa4BvmHES1MxunHXmEdKQY45B6RjkbpItjeRjen2r4KA4dJ m7T5Elwx6vhtdyJgw+dn7SK1unHDkyL8Olrnc8GWK0PF1v3mtDqcbiUt X-Gm-Gg: ASbGncupkP7ov6Vc2KSKFPa0f+o0NzIHKJMfcaI42Hc356lQ6j9WtTeEtG2ACX2sWpu plib/eNAEsG5a4qbnyaDaNUITj+JlKgNtHeXbLkUp2MAeeMk218C0AIWUCsykFLWMk2n+Tt+gt8 siZC9DOjoPWaffihYfLSZRBqNqjf4KNxvntBZ0Fr0B3BGntayDFu6ayvruAatwixzclolDn6a1h 9nvtpmtAYj2etrPiIcKGRnZ0UCknMwc92qB8gNNC0pavgsoIGTrnf2wR94Mt53Smjpz7nYEbtGO NiyRlIc0Fh1/rN+5GdrJD5YcBSWUILR5x1U0co4ReI0SeiwBm1rVVotWfHVDxswb3LW6DqcymNs 7zQ2Tl+bw0nx2mOlVxWZSLOnN9bLnFjf9DpxCyZbe2HAfCXsmLZkILL1jXiNSK+WzHUNlgGH6Lk LB5andNtxMKWq21ygFyjnMaH93gy9Fq6ZI+h0vNv6ygAHY8YH7qaZWzksV4cS6hjwP2WGEoQ4u7 UpoUQ== X-Google-Smtp-Source: AGHT+IFugR4FUZvpldRleNYZZnPoxk2FrSRsDVPT6ppUn3fq+PC6KyK9eoozx/2VMx4e/g2GMOwGOQ== X-Received: by 2002:a17:907:2d0d:b0:b73:21db:5fa4 with SMTP id a640c23a62f3a-b7331aec4a3mr387296866b.62.1762962087982; Wed, 12 Nov 2025 07:41:27 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:27 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das Subject: [PATCH 4/7] ASoC: renesas: rz-ssi: Remove trailing comma in the terminator entry Date: Wed, 12 Nov 2025 15:41:05 +0000 Message-ID: <20251112154115.1048298-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das Remove trailing comma in the terminator entry for OF table. While at it, add a space between the braces and comment block. Signed-off-by: Biju Das Reviewed-by: Kuninori Morimoto --- sound/soc/renesas/rz-ssi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index c7d5576c8283..5dc510cf66e1 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -1248,7 +1248,7 @@ static void rz_ssi_remove(struct platform_device *pde= v) =20 static const struct of_device_id rz_ssi_of_match[] =3D { { .compatible =3D "renesas,rz-ssi", }, - {/* Sentinel */}, + { /* Sentinel */ } }; MODULE_DEVICE_TABLE(of, rz_ssi_of_match); =20 --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (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 7B95533B979 for ; Wed, 12 Nov 2025 15:41:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962092; cv=none; b=PdSLp5GRVLTOUspaW1Joiu1c4fZEMRwPiEAQBkuL9MMidfKLHorPQtM3F9TqcjZmk/yt5TXCUW/eL0aBh03kRpp3R5l+vBfHhCXhOa5Wx2W6ph1FqAcbG5l7+6bEBrHoFiJUwNf60TbUtY8dAlDfd7+UxXGS4NneVtl1VH8S5WU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962092; c=relaxed/simple; bh=jj3vTLvr3WCiPV6i5aH1MKkIW9M01IOgqR9TLzyysKQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a7dP+aAtDT8zyYKlfzeXNGAt8iotnDv9UtTlMHhkbiDjSLvEn4NGlQdqJIiBJ2EvZUX672lP6SA1Or4usq+yXCacF2as3vS92Iuv30BWgJcJXEWWwV4LhUQTOQaMsV+ft76aQTXHCzUdFFc4xMu+KGcLyqSmW8sX2jQLg5RCDlo= 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=GoqNmsBJ; arc=none smtp.client-ip=209.85.218.44 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="GoqNmsBJ" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b7272012d30so163802666b.2 for ; Wed, 12 Nov 2025 07:41:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962089; x=1763566889; 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=bj6ZfkS77Hkj1ggagRTkBVhoyJmLo5G2pZsYVl8EfqA=; b=GoqNmsBJs9BHAEJbu7WiriBsFJtr/knbD18xQE8CV6JOcATJj8JmtxlFjbrtbe2chT LKT3E0OIP1X0TK+bekdvYQ9z51nd0Z07KVKf2/DblfZwAMIzdP/t5tZ4LI1q29HrXgMI fEtvCtH7I1vubc3QBmREpM9FRCWiiO8xGBnC+3fJIGWkDV2H6/MuPwnBIj8YPcYuiQXB MFDTrLUDLdW1+yDnz/fx8WEvhIpMuuTnhU4Uxf6GNsYAWXoj3nfWjPHsr1yJX5s5/ejD /IcN3L7j8MRTYcft++0pFfqu7TOckTlPD0gB3aH2HPMAz5otQclnOPX8vrvvNgCWurKB thdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962089; x=1763566889; 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=bj6ZfkS77Hkj1ggagRTkBVhoyJmLo5G2pZsYVl8EfqA=; b=ZNep1o9UF21Do+j9AYrmYeTlP2uDW0buIfCw/hiYj+dvbicjse2UsvggBIILAgD1UE hE3DJH8CZsEGLq9QaLE1u52cU+Q1MmNEj7+LGoPhI5Je4VOxpevy75EwJENhwSEhjJrA SKDAQ3j3olfwTiyN+Mj0US4jLwntGc8VEquMzVCDslvWZE1y86cL9i39YZHDLXImV3XS MIQ7nyR2PlZ5nb+KQSjoyu9fyVoyfOJT19NH8fvYZZKM7rk4z4qhQhizUOI2gu8RSaSM rTBNgk69J5e3dK/vdEPG41LgnYbIyw0N4h/cjvxlF1biTnAlKIOPe2so21h4jvKaM4Qq ya2w== X-Forwarded-Encrypted: i=1; AJvYcCXwhd/0j4Z2P3CpTbYkLlZszdE2RCfPW9Woygr0udVWeijgGR3wjNoKP/MIdDG4mjbskX+3efrKjZSq2XA=@vger.kernel.org X-Gm-Message-State: AOJu0YwHGZE8xmzKe0QlyP7EWwXiRU5Z8IJ8QbkxsMz3S5MW9+TPJzvK KLvbmavMz7MQzC0LU4Sl6+69+DfBunczLx//DBH0BwKiYdM0C2P9doBO X-Gm-Gg: ASbGnctbQd/6otqir85UlRy9mAJrJ63Jareb7jiOyc5/nVC9Pl+wxXQftmEcf2WBmwz bbV1ENmQAN+s+LrBtHDDwPi2vxk9Soi+46PcYQE9Ra90QJDQcgRgBbMMzzDzPf9KXEpcBH4qeRQ Sb2HJfHTMvbyaJXFc40orta+U93hUD/ypIg7JEJzZUPW7J+WqWtzo4/re1aFZN2H9JccZmva4FS bcOs0npDp0hJSHaY3S49wg4r8KslmUqvH/1qd8IDoGsTm56RFEH3y+K5azfDzw6Q1zBTlrB0uy4 OX0+ZAyG6r9CjQYlJXMFpU91ALfi9hvfL6zTdN/Cc99/NiWXrjG34xnbgI9W8wrQE5Vd++lxcgP 046YjbG3Z00MD5h4PUjdAkdIxxIcZubC/Wg9py2ymeqGZ6SE4L3tTwdfaQ27Fq1XsonpHPzT7Zt Dq5oTpAOErZFnqBoclf/+0v24gT9RClkMaiJ88hoij9Hx+05PWeCHl9mrAN5t6V+egbZf3ifu1m gtDyw== X-Google-Smtp-Source: AGHT+IGkJu4gFSEW3zfxLURJ8AyVV5KilcDzFNMu+vkSrN7cqdVzG32uksgUmJAcnsaH+ofD5sZrMw== X-Received: by 2002:a17:907:8687:b0:b70:ee00:a465 with SMTP id a640c23a62f3a-b7331abf76dmr399894066b.53.1762962088563; Wed, 12 Nov 2025 07:41:28 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:28 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das Subject: [PATCH 5/7] ASoC: renesas: rz-ssi: Move DMA configuration Date: Wed, 12 Nov 2025 15:41:06 +0000 Message-ID: <20251112154115.1048298-6-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das Move DMA configuration from rz_ssi_dma_request() to rz_ssi_dai_trigger() for supporting sample widths higher than 16. Signed-off-by: Biju Das --- sound/soc/renesas/rz-ssi.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 5dc510cf66e1..839934e4b76a 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -778,14 +778,6 @@ static int rz_ssi_dma_request(struct rz_ssi_priv *ssi,= struct device *dev) if (!rz_ssi_is_dma_enabled(ssi)) goto no_dma; =20 - if (ssi->playback.dma_ch && - (rz_ssi_dma_slave_config(ssi, ssi->playback.dma_ch, true) < 0)) - goto no_dma; - - if (ssi->capture.dma_ch && - (rz_ssi_dma_slave_config(ssi, ssi->capture.dma_ch, false) < 0)) - goto no_dma; - return 0; =20 no_dma: @@ -833,24 +825,27 @@ static int rz_ssi_dai_trigger(struct snd_pcm_substrea= m *substream, int cmd, if (cmd =3D=3D SNDRV_PCM_TRIGGER_START) rz_ssi_stream_init(strm, substream); =20 - if (ssi->dma_rt) { - bool is_playback; + if (rz_ssi_is_dma_enabled(ssi)) { + bool is_playback =3D rz_ssi_stream_is_play(substream); + + if (ssi->dma_rt) + ret =3D rz_ssi_dma_slave_config(ssi, ssi->playback.dma_ch, + is_playback); + else + ret =3D rz_ssi_dma_slave_config(ssi, strm->dma_ch, + is_playback); =20 - is_playback =3D rz_ssi_stream_is_play(substream); - ret =3D rz_ssi_dma_slave_config(ssi, ssi->playback.dma_ch, - is_playback); /* Fallback to pio */ if (ret < 0) { ssi->playback.transfer =3D rz_ssi_pio_send; ssi->capture.transfer =3D rz_ssi_pio_recv; rz_ssi_release_dma_channels(ssi); + } else { + /* For DMA, queue up multiple DMA descriptors */ + num_transfer =3D 4; } } =20 - /* For DMA, queue up multiple DMA descriptors */ - if (rz_ssi_is_dma_enabled(ssi)) - num_transfer =3D 4; - for (i =3D 0; i < num_transfer; i++) { ret =3D strm->transfer(ssi, strm); if (ret) --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (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 12DDF33F8CF for ; Wed, 12 Nov 2025 15:41:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962093; cv=none; b=A3YnsJXPvgyZhW1kYq9iF0LXSzkEtseIrLPI9qwSWutQp78V4JNSBCLQc2XUaX4cyzLIZEfUsisXImY7AkUnzYXIcJTdHHaaiNuXtGAKz0bT6Q7Dfl2+ONanG/GVegYE1mstGT+GfjfmkLNFb9hhSUmmPoaE8N+BooH+DGNOiVM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962093; c=relaxed/simple; bh=T35+cYLS7/MVLQYR3L4zZ3jVtXxwtTE09atiMIdrc8g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Fzh/UX5v1Er5PqOKg2Tz8AbM8Hk3t77veb2h2r5O4A7pQg6I2NrLlhDQtf1a/9AJOM3Z8+cm9D4mf1PsyHaRbXwMirCNmApusmxrHLr4NToNQfDUbFjKOBN7SNZGBw2mpkHch+XOTnNJ6dUk9JfEYhTGT5JwwYPm/j052/7RIUQ= 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=VCfySJkf; arc=none smtp.client-ip=209.85.208.43 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="VCfySJkf" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-64088c6b309so1562388a12.0 for ; Wed, 12 Nov 2025 07:41:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962089; x=1763566889; 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=4XTTxnEs3Raq/piGJ6Bf3ZQhcim/5IOYY6Is9ElUM8U=; b=VCfySJkfaF4H1SuLHBZ6uZUs7y1y5ShqS5KINQ0QKt0AjekuJSsU+srHLQF/BL40Sa YxwJI9GFXHTkWadOZXgJDfD87PonrTHnEMqBnWeRERVYA4gdGN1PBeYo9xU8te9pcSJg OD/gDp+rzw4rU3pHzzq0+JhlmUx5PQYOVyWCOnawFK5LcWdSP05rudAP6CFvBC2YIepT MVOyNzraMkvHAAUX6Q0YMqB3fkYmVcJqM97197mBhZgqOwyE8FGN24KdCq/BM/ykNoK6 +LcMvTkt30Id8NEQbyBVKRRH8weJhIdjJRlwzEUs7J2Bp3q2L8i4ZHHbzz40qv49G0oZ sAgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962089; x=1763566889; 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=4XTTxnEs3Raq/piGJ6Bf3ZQhcim/5IOYY6Is9ElUM8U=; b=suX7wIVyH2IUJGdOzHXFyNyU+iydIif2J+0iR3c4bq5JnpALJbicMUXkL6FwtSJ4p4 yMeu9HrE2vm9jcvGR5DjRcy+1/ZitI+3fXjwFUKBgxan01pV5JhYy7UN4iABqMbQAPnK HN8yvDWeD4WkWkTgsAQ16aQVOcP9FuxwNBsChJsV+43IpZ/EtAWfBD6MZ8BXvi7SVDz3 YLOdLk/p+lJpzKXR1A05WLAm6BIrBekBbdtAnu1b47paiENBW5hO20/ZgdlW/Q52Kecr uBwt4dei7XFR1VbP+ZOgvb2dyXazakScjVAeimTGmqEGUYoA/RoacKysmGea/zqC/uCg R82A== X-Forwarded-Encrypted: i=1; AJvYcCWm27HjnDmmaUymJOa2W9MeVwUvfGvqGuJxn+ZPNDtSC9YaTZXaimiNRpbof0tPURQPFD7yeZKCgzrtqdw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0csel65SH4jdxKNqE6198A089ssOkRePlb93Xg6Mka9wSN5Lp 0JxwoPMplsHfrvYBuk5rR7Zm7MTztwnAqMdH6eZLqXGI+zst+Ul1zkNJ X-Gm-Gg: ASbGncst7HhWAUF0A2cXepCXS6JHeqRjbTEKNy8fR1U3QHS1sOogz9WlLf0kpjVpPi6 om2SJbEwAFIn5baNx6wogsiMsecoUNcZ/tW+iT9v+OnSMutyMFx037eW+Nt3jBvwCzjt3K0b+WY leEmz8OrrLYHvK/V/2dkPbuBQ2gDYKTFPRt6DDDJ2giItHdf/h+bjzNYPoE8y0wJ6Zgmf+ld+8o fIw7cNU+8dGumZqSw/DcskBpm/R15/JLcoh3nUAC+cvHIJU1BikaVqhobpT2S5EWHDmPCT1w0T7 PV2xy4N3LnBWOR8V4x5+eEXk5SBSxnyzgY8hmRnrBZPu/6G3TfUK8nvjy1DVtkqydndpuKelIFr qPyWi7z2MdBA3bQ/vTC4FeJGLjzc1m0KQJEExV4VHXxpjcE2u+9KBPG2QBRvnBUMhURmMIDpmok 7ZSnveu1tMAV+pOuUdyQ0aW7anE96jdFQWpe8XNXf8HvnKzi/N8j+uDdigOw8LyauUudjVa2Xh0 H/gVA== X-Google-Smtp-Source: AGHT+IGcT9Q73iX6iO06eyvMeqFfiaMCp9upzjhrl6xZANlRXTJ6HWG9Es1iaU+beLhBFmY+7jsDbw== X-Received: by 2002:a17:907:849:b0:b72:aa52:6034 with SMTP id a640c23a62f3a-b7331971161mr407545166b.21.1762962089077; Wed, 12 Nov 2025 07:41:29 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:28 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das Subject: [PATCH 6/7] ASoC: renesas: rz-ssi: Add support for 24 bits sample width Date: Wed, 12 Nov 2025 15:41:07 +0000 Message-ID: <20251112154115.1048298-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das Add support for 24 bits sample format width for RZ/G2L SoCs. Signed-off-by: Biju Das --- sound/soc/renesas/rz-ssi.c | 76 +++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 18 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 839934e4b76a..5ebaaa440141 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -38,6 +38,7 @@ #define SSICR_MST BIT(14) #define SSICR_BCKP BIT(13) #define SSICR_LRCKP BIT(12) +#define SSICR_PDTA BIT(9) #define SSICR_CKDV(x) (((x) & 0xf) << 4) #define SSICR_TEN BIT(1) #define SSICR_REN BIT(0) @@ -74,7 +75,7 @@ #define PREALLOC_BUFFER_MAX (SZ_32K) =20 #define SSI_RATES SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */ -#define SSI_FMTS SNDRV_PCM_FMTBIT_S16_LE +#define SSI_FMTS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE) #define SSI_CHAN_MIN 2 #define SSI_CHAN_MAX 2 #define SSI_FIFO_DEPTH 32 @@ -294,11 +295,25 @@ static int rz_ssi_clk_setup(struct rz_ssi_priv *ssi, = unsigned int rate, } =20 /* - * DWL: Data Word Length =3D 16 bits + * DWL: Data Word Length =3D {16, 24} bits * SWL: System Word Length =3D 32 bits */ ssicr |=3D SSICR_CKDV(clk_ckdv); - ssicr |=3D SSICR_DWL(1) | SSICR_SWL(3); + switch (ssi->hw_params_cache.sample_width) { + case 16: + ssicr |=3D SSICR_DWL(1); + break; + case 24: + ssicr |=3D SSICR_PDTA; + ssicr |=3D SSICR_DWL(5); + break; + default: + dev_err(ssi->dev, "Not support %u data width", + ssi->hw_params_cache.sample_width); + return -EINVAL; + } + + ssicr |=3D SSICR_SWL(3); rz_ssi_reg_writel(ssi, SSICR, ssicr); rz_ssi_reg_writel(ssi, SSIFCR, SSIFCR_AUCKE | SSIFCR_FIFO_RST); =20 @@ -459,7 +474,6 @@ static int rz_ssi_pio_recv(struct rz_ssi_priv *ssi, str= uct rz_ssi_stream *strm) { struct snd_pcm_substream *substream =3D strm->substream; struct snd_pcm_runtime *runtime; - u16 *buf; int fifo_samples; int frames_left; int samples; @@ -494,12 +508,23 @@ static int rz_ssi_pio_recv(struct rz_ssi_priv *ssi, s= truct rz_ssi_stream *strm) break; =20 /* calculate new buffer index */ - buf =3D (u16 *)runtime->dma_area; - buf +=3D strm->buffer_pos * runtime->channels; + if (ssi->hw_params_cache.sample_width =3D=3D 16) { + u16 *buf; =20 - /* Note, only supports 16-bit samples */ - for (i =3D 0; i < samples; i++) - *buf++ =3D (u16)(rz_ssi_reg_readl(ssi, SSIFRDR) >> 16); + buf =3D (u16 *)runtime->dma_area; + buf +=3D strm->buffer_pos * runtime->channels; + + for (i =3D 0; i < samples; i++) + *buf++ =3D (u16)(rz_ssi_reg_readl(ssi, SSIFRDR) >> 16); + } else { + u32 *buf; + + buf =3D (u32 *)runtime->dma_area; + buf +=3D strm->buffer_pos * runtime->channels; + + for (i =3D 0; i < samples; i++) + *buf++ =3D rz_ssi_reg_readl(ssi, SSIFRDR); + } =20 rz_ssi_reg_mask_setl(ssi, SSIFSR, SSIFSR_RDF, 0); rz_ssi_pointer_update(strm, samples / runtime->channels); @@ -517,7 +542,6 @@ static int rz_ssi_pio_send(struct rz_ssi_priv *ssi, str= uct rz_ssi_stream *strm) int frames_left; int i; u32 ssifsr; - u16 *buf; =20 if (!rz_ssi_stream_is_valid(ssi, strm)) return -EINVAL; @@ -546,12 +570,23 @@ static int rz_ssi_pio_send(struct rz_ssi_priv *ssi, s= truct rz_ssi_stream *strm) return 0; =20 /* calculate new buffer index */ - buf =3D (u16 *)(runtime->dma_area); - buf +=3D strm->buffer_pos * runtime->channels; + if (ssi->hw_params_cache.sample_width =3D=3D 16) { + u16 *buf; + + buf =3D (u16 *)(runtime->dma_area); + buf +=3D strm->buffer_pos * runtime->channels; + + for (i =3D 0; i < samples; i++) + rz_ssi_reg_writel(ssi, SSIFTDR, ((u32)(*buf++) << 16)); + } else { + u32 *buf; =20 - /* Note, only supports 16-bit samples */ - for (i =3D 0; i < samples; i++) - rz_ssi_reg_writel(ssi, SSIFTDR, ((u32)(*buf++) << 16)); + buf =3D (u32 *)(runtime->dma_area); + buf +=3D strm->buffer_pos * runtime->channels; + + for (i =3D 0; i < samples; i++) + rz_ssi_reg_writel(ssi, SSIFTDR, *buf++); + } =20 rz_ssi_reg_mask_setl(ssi, SSIFSR, SSIFSR_TDE, 0); rz_ssi_pointer_update(strm, samples / runtime->channels); @@ -662,8 +697,13 @@ static int rz_ssi_dma_slave_config(struct rz_ssi_priv = *ssi, cfg.direction =3D is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; cfg.dst_addr =3D ssi->phys + SSIFTDR; cfg.src_addr =3D ssi->phys + SSIFRDR; - cfg.src_addr_width =3D DMA_SLAVE_BUSWIDTH_2_BYTES; - cfg.dst_addr_width =3D DMA_SLAVE_BUSWIDTH_2_BYTES; + if (ssi->hw_params_cache.sample_width =3D=3D 24) { + cfg.src_addr_width =3D DMA_SLAVE_BUSWIDTH_4_BYTES; + cfg.dst_addr_width =3D DMA_SLAVE_BUSWIDTH_4_BYTES; + } else { + cfg.src_addr_width =3D DMA_SLAVE_BUSWIDTH_2_BYTES; + cfg.dst_addr_width =3D DMA_SLAVE_BUSWIDTH_2_BYTES; + } =20 return dmaengine_slave_config(dma_ch, &cfg); } @@ -981,7 +1021,7 @@ static int rz_ssi_dai_hw_params(struct snd_pcm_substre= am *substream, unsigned int rate =3D params_rate(params); int ret; =20 - if (sample_bits !=3D 16) { + if (!(sample_bits =3D=3D 16 || sample_bits =3D=3D 24)) { dev_err(ssi->dev, "Unsupported sample width: %d\n", sample_bits); return -EINVAL; --=20 2.43.0 From nobody Mon Feb 9 10:54:25 2026 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) (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 D16B8340287 for ; Wed, 12 Nov 2025 15:41:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962093; cv=none; b=Dc1lz5ACgn4/UCXStDxnGPb09pA5Btf7QMjdYVUsA5CUaQULmfP4js0z+bIzefdEQ6mtOh5kONoQVFmIY/o43ZujbBS7tjrJ7YIcbqdpycuXVTZIPhaiM6HPUF90N4OW98qHUTQCtOvfodm0pyi6jQnAGaps01MJTM0cUmzPx2o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762962093; c=relaxed/simple; bh=/gCWFkRkzNo3eNZ+1Ba3S8C9u3xVpEOMTubl+OzGIfg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S3yF4s365WnO6QLO1V7in8QnamU05hniX8r8OZn1wUzztoKwiYTfFFl0kBLP/8sdsxZ5xKLXDzS0wvdCVDm+UoF0hiC6LAVPD13LxurCwNJ/rDwTDlq3tBkByn2ItvDhBnoccxuPVswdKrlLHpD+0Gpgl228fDoSH6/uuIjWflw= 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=MEZ2yoqJ; arc=none smtp.client-ip=209.85.218.43 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="MEZ2yoqJ" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-b6d402422c2so175434566b.2 for ; Wed, 12 Nov 2025 07:41:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762962090; x=1763566890; 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=TCyPsKER0IjULkacDBKIbqRbNblXHgLZ/kXCVC2BOJ4=; b=MEZ2yoqJTFa7AJjfFCJWjpZZhetUjT5f7QxqIM3kIi3hFMhkG9lhvE/+TexSmrQYBR +9bjIk6AQqWH/t/uXWB3mLZuhMYQShmGhUBUWv569q/kfrrajNSLohPdPv9HN3riXG+o Xy4HzHpUi2yPWxYwV0v+0eOgW5xYLLTI6jhSyJHy+w5MwuqjbDrUUDzuO69KdU+uSOTj dV0G7blkl9nmR/xx4ltizp99S2FmOvauHqdY5fmrl4ZOYlqWazukNFFjlPm3muijoNlw maZz7aah8EeNoPQPN2qCXp843vnq0lYH0aomfKfIbdj0qy2dzQ5HHfNoZ8OE5jf5OmpK /k4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762962090; x=1763566890; 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=TCyPsKER0IjULkacDBKIbqRbNblXHgLZ/kXCVC2BOJ4=; b=S745Wm+OCcsVw3Uixx3Vlte/uNe0IbvcWamvjTyZymqD4TlunnSrjbnXrpL23TH0Cw m+UYIBaxuzwfxRdjzE7SXlcB64eezbAkCQ92wxbnhOeoyKfTtScoWTNphHctiMB/ds3I SrSHXftagG81AVAWCooHxVfiY51WwvVLJS8DkjGQXCostZ6h7FWut5LlT9E4kZhNsYl2 LdCyVTKrb+nIRXBaCUIo9PTxcvG+ma5Zj3jBwZiFe8Fig7KcNKowUI9VVwE1YgvfQasY CRzzYpjaNlImbTc/90U4fT34nupIavSeTjEWFMmwWzjnnXdH/g5dw+9DwUWPsUMyk+ul KLGg== X-Forwarded-Encrypted: i=1; AJvYcCWAhczuERy03mP0QyIuhpJix/IvA0pGY5wPqfAfINBuS2rgCCAfgG20SulvLdaeM+CjKZrt+z0Ct0WOjOM=@vger.kernel.org X-Gm-Message-State: AOJu0YxpolIrR/OJyrQRb9wf0mOHyrEt4ASAj6YCJRS/kReg6xOHT6/7 RiZ6p+9+J+VmQxnWZtkHkboyANmOPsPog8JwGIzoxiaVwTYSKWFyMI3m X-Gm-Gg: ASbGncvclFZ9asMAqKmCBggLIvHVDDXIQLlbrrU9zf8zhjrncbNLNyk0/BQl0OiVspT GyKpt/33/Yxup7KyRT9NZwCt2vYRKfnRtFtF8SkFMYOD1q9gwMWCj4i/sPnkj7jizu6YjSssmED cYZ+6m+USgm73QqPRGHMSvOxxzTB/dWesWAVkac7Y5ImywBmIK2T2WCeRojVe5/ZMtvK7tmobJP rh99xI/K7yGBVtU2+iNsJwwENR/qO29jbi4LyOYKOfWsiIskpZiQZNcOY14ECmj6eTgzWsc0s7J r0qXd4/E/wy94eQr9X80/oGZkeVhRVfTezih2aInm7SUF+ny6kO8bnKlgvwFL57XINVKuAwyJeV 04wR9sPmml5po2wQccV9I3C33Pthx75aOBy5dgp9qJ10bODg9xcqSYGMkjn86q/pz3NXCDfrrYg m23VS+S/UrIqIZp35sOSspFXN5X2IHqedCfBZ1c3xFRHcmW3Q6gi7ehVySJPBtp8i3L+ut1BKrU jgHaw== X-Google-Smtp-Source: AGHT+IFV4ZJk8gCb7awz9e1XUlzsyTt2dLuTYq1zFzlkQqVLDRi2ppM+aqJDBCoFok+16YWsNFYpOQ== X-Received: by 2002:a17:907:d11:b0:b73:3a:c49d with SMTP id a640c23a62f3a-b7331aac21cmr406575066b.52.1762962089984; Wed, 12 Nov 2025 07:41:29 -0800 (PST) Received: from localhost.localdomain (host86-162-200-138.range86-162.btcentralplus.com. [86.162.200.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b72bf97d456sm1670023566b.39.2025.11.12.07.41.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Nov 2025 07:41:29 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Biju Das , Lad Prabhakar , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai Cc: linux-sound@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Biju Das Subject: [PATCH 7/7] ASoC: renesas: rz-ssi: Add support for 32 bits sample width Date: Wed, 12 Nov 2025 15:41:08 +0000 Message-ID: <20251112154115.1048298-8-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251112154115.1048298-1-biju.das.jz@bp.renesas.com> References: <20251112154115.1048298-1-biju.das.jz@bp.renesas.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: Biju Das Add support for 32 bits sample format width for RZ/G2L SoCs. Signed-off-by: Biju Das --- sound/soc/renesas/rz-ssi.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c index 5ebaaa440141..85d368794de4 100644 --- a/sound/soc/renesas/rz-ssi.c +++ b/sound/soc/renesas/rz-ssi.c @@ -75,7 +75,8 @@ #define PREALLOC_BUFFER_MAX (SZ_32K) =20 #define SSI_RATES SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */ -#define SSI_FMTS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE) +#define SSI_FMTS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE | \ + SNDRV_PCM_FMTBIT_S32_LE) #define SSI_CHAN_MIN 2 #define SSI_CHAN_MAX 2 #define SSI_FIFO_DEPTH 32 @@ -295,7 +296,7 @@ static int rz_ssi_clk_setup(struct rz_ssi_priv *ssi, un= signed int rate, } =20 /* - * DWL: Data Word Length =3D {16, 24} bits + * DWL: Data Word Length =3D {16, 24, 32} bits * SWL: System Word Length =3D 32 bits */ ssicr |=3D SSICR_CKDV(clk_ckdv); @@ -307,6 +308,9 @@ static int rz_ssi_clk_setup(struct rz_ssi_priv *ssi, un= signed int rate, ssicr |=3D SSICR_PDTA; ssicr |=3D SSICR_DWL(5); break; + case 32: + ssicr |=3D SSICR_DWL(6); + break; default: dev_err(ssi->dev, "Not support %u data width", ssi->hw_params_cache.sample_width); @@ -697,7 +701,8 @@ static int rz_ssi_dma_slave_config(struct rz_ssi_priv *= ssi, cfg.direction =3D is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM; cfg.dst_addr =3D ssi->phys + SSIFTDR; cfg.src_addr =3D ssi->phys + SSIFRDR; - if (ssi->hw_params_cache.sample_width =3D=3D 24) { + if (ssi->hw_params_cache.sample_width =3D=3D 24 || + ssi->hw_params_cache.sample_width =3D=3D 32) { cfg.src_addr_width =3D DMA_SLAVE_BUSWIDTH_4_BYTES; cfg.dst_addr_width =3D DMA_SLAVE_BUSWIDTH_4_BYTES; } else { @@ -1021,7 +1026,7 @@ static int rz_ssi_dai_hw_params(struct snd_pcm_substr= eam *substream, unsigned int rate =3D params_rate(params); int ret; =20 - if (!(sample_bits =3D=3D 16 || sample_bits =3D=3D 24)) { + if (!(sample_bits =3D=3D 16 || sample_bits =3D=3D 24 || sample_bits =3D= =3D 32)) { dev_err(ssi->dev, "Unsupported sample width: %d\n", sample_bits); return -EINVAL; --=20 2.43.0