From nobody Mon Jun 15 12:25:00 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 CCD0133F585 for ; Fri, 10 Apr 2026 08:05:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808335; cv=none; b=tTq4YFPDkWPDL3p/Lvmf6WTRUuZExMpCatZ+mYW13WARVEN0BQnn1govWohbriWgxD6uVBJwbUPOUSXp9ZMG20hzoJnrveGqKGjlPvF26tyNiqV4n79G3rsk8XfHqU6K2o4PnDaaOecwnjwGlAGraFywo1+OlAyaHI/3miZwB6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808335; c=relaxed/simple; bh=ExdKYZiJJD+Q5GGhOzDo2C5HZMlMu6N2dRQb4ubjJEQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nQ/YRYz697VHLqhaAvV1Ly96wRvO13W9zUDT/YrJWtF9GV/mQg26Mwf2DHDipWgWpxjB2wytyg8HDaNXqi1sXD9dPE7PWVw2WQusZtyXUYejMfmXpkfVOOdtppSHGxvvbiq2SJnZdnDyzl+gnSuctnsnJoqucpv9Cs6HMNQEn9w= 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=XU7ARnP3; arc=none smtp.client-ip=209.85.128.46 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="XU7ARnP3" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488af9fdaa7so11348815e9.1 for ; Fri, 10 Apr 2026 01:05:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775808332; x=1776413132; 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=ZmDUlYaXWDCF161d1mZMXREvHYM3yqRZXtIiTZpAOb0=; b=XU7ARnP38OQ5uoLOrYkfCmMlFogQ4brfalCVwHZ9XBpKicIZ0WfxbCDjegNF1ppphs RL62SgXcrVRVlbUJWJTxdv0Bs1i1bylyEbe05oAjWELdrpv6RiLUHiWUpK53iRUKCjX1 9/HxrHfGyvRWfXYA5FtDXaAONa3LpZVs1/ZLezJwARtg7ZTeKZS3vIqqdfE506XIRmZd JAU/gt8ZcRTDX6LDRilwt3SiVncOTKOpJfsyJI3bCQ/Af4jg9GvJ9KqM5bGNmE8Jk+sv 4VGgvnpUCrxfd1zD3axYfeBkBvbUHTJjybKe+M6dkY3fZgJ8I0LfKQ89j93u0hsmWv0W vMOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775808332; x=1776413132; 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=ZmDUlYaXWDCF161d1mZMXREvHYM3yqRZXtIiTZpAOb0=; b=nWFK2zQDNZ1I812+eYwc30doDc/D1g8VQtwK81Ngq5kiGDfOqOxET377wzgX+PV2M9 PMY70+l7mnBz/juqdRemZYZr0XYrOR2013ucYSVTsmySAtDe6ixfr4qSaB2k/C2fT1Hz 9rM7neb2PMvN622dDhw5U7RFtwp3w/0POl1wMLSRvFPjkxkX9jPHMWMi4WtxoO2vnR2o evJ6d65/3b1PIUBIJKlDdLhhxFOogZANdDY1H/W7Ml/QKB8iUIr2UUqvzJ0TVO5Xjjle qLnJ0CZaME9MdqhBtqOdxWiQxPQob5JUYx2ba8CKa2eGkRaCTWX+cHF3u0YO+yxEJQNM P2lQ== X-Forwarded-Encrypted: i=1; AJvYcCXAcOpSFPhmyvqKYMxCBY2G4WbIZ+uE+SVTFv9/xeNgjU9DJCH15MdlJ+1BKFrVrya6Cm1Su74zmMGznGA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx63YRb0OkJ4AfabcdCjixZV+CDrt/Ho7Gf/rgW9Cq9vfGeAW0z q/PlFyJTWKZZWZ42d8ONepFWOixFBbZ8+VH0It7zZ2B6QsgmEc7HlzbJTmeidTHJNd8= X-Gm-Gg: AeBDieth9r6g2dg/OIULtZbMxKzzn5GzTOhU4jrGWAqCDVr2cuOhdEVjCi4QeYoE4xB dZ3rPwAThto2fmCfL42GOoQxf7D2fwkhWNB//QRjepxfQ0RhpR7zirVrJVtKqdDGm7sLQR2WemB ybAoADQH05MvOEQYkJWhGyo0j7WFNxW0DbXj5BBsmbsskJqOwKpOi3bShkxyjymfLp5XS321+ne uH6kT/SHFZtvIs/ut5vYjYrZzUAFXFx70CpMWG+rAE4BWkFZZIfETuMhJEHzye+qH0S5JmUj14v TccWDu5gYdGBtW8AoNiu2oZCP8eN3/TcH7/JRRpXiHBsRhWnBdmgktZt1Nr3vvq9EvVB4Pof9+m IRbaN+XtwMjhz8AQ7380GOD5t2eGXL50B8EcMbGYSA21nOADI8ypaHiDvH8VI4NI5qhEdcwOukQ L3MFMIDL8kFmEw5VMtuoauaRzM4hiEmHlKui1DQfGv6jl/y5qmmLOMnESDliIccg4vuLO/UxlQw XLJskiP5dSqSBr86+SIkfVG8P3/rPX+dh0JBA== X-Received: by 2002:a05:600c:4451:b0:487:1fbf:e0a1 with SMTP id 5b1f17b1804b1-488d68057e8mr25070635e9.4.1775808332036; Fri, 10 Apr 2026 01:05:32 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:a73b:688a:4297:c5fd]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d67ce3e4sm29950375e9.5.2026.04.10.01.05.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 01:05:31 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Fabrizio Castro , Mark Brown , Geert Uytterhoeven , Cosmin Tanislav Cc: linux-spi@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Lad Prabhakar Subject: [PATCH 1/3] spi: rzv2h-rspi: Fix max_speed_hz advertising prohibited bit rate Date: Fri, 10 Apr 2026 09:05:15 +0100 Message-ID: <20260410080517.2405700-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@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: Lad Prabhakar On RZ/V2H(P), RZ/G3E and RZ/G3L, RSPI_n_TCLK is fixed at 200MHz. The max_speed_hz was computed using clk_round_rate(tclk, ULONG_MAX) with SPR=3D0 and BRDV=3D0, resulting in 100Mbps - the exact combination prohibited on these SoCs. This could cause the SPI framework to request a speed that rzv2h_rspi_find_rate_fixed() would skip, potentially leading to a clock selection failure. On RZ/T2H and RZ/N2H the max_speed_hz was correctly calculated as 50Mbps for both the variable PCLKSPIn and fixed PCLK clock sources. Since the maximum supported bit rate is 50Mbps across all supported SoC variants, replace the clk_round_rate() based calculation with a define RSPI_MAX_SPEED_HZ set to 50MHz and use it directly for max_speed_hz. Signed-off-by: Lad Prabhakar --- drivers/spi/spi-rzv2h-rspi.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c index 38ee09e389c9..ad59944c773e 100644 --- a/drivers/spi/spi-rzv2h-rspi.c +++ b/drivers/spi/spi-rzv2h-rspi.c @@ -77,6 +77,8 @@ =20 #define RSPI_RESET_NUM 2 =20 +#define RSPI_MAX_SPEED_HZ 50000000 + struct rzv2h_rspi_best_clock { struct clk *clk; unsigned long clk_rate; @@ -771,13 +773,7 @@ static int rzv2h_rspi_probe(struct platform_device *pd= ev) RSPI_SPBR_SPR_MAX, RSPI_SPCMD_BRDV_MAX); =20 - tclk_rate =3D clk_round_rate(rspi->tclk, ULONG_MAX); - if (tclk_rate < 0) - return tclk_rate; - - controller->max_speed_hz =3D rzv2h_rspi_calc_bitrate(tclk_rate, - RSPI_SPBR_SPR_MIN, - RSPI_SPCMD_BRDV_MIN); + controller->max_speed_hz =3D RSPI_MAX_SPEED_HZ; =20 controller->dma_tx =3D devm_dma_request_chan(dev, "tx"); if (IS_ERR(controller->dma_tx)) { --=20 2.53.0 From nobody Mon Jun 15 12:25:00 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 603C03A4508 for ; Fri, 10 Apr 2026 08:05:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808335; cv=none; b=VreEGYs2p8WnH6oBE0W4akrbij/WVBtHRYnLRoNb3UmIcS3Viw05Fw6yax1PbK17/0LWA9Xx94lWO0JBLMJbUzcRpZiFXJKlZG7vPOHXb/C7Zq4GHP2HDcKiHcpmzytJvSS/OZ9qfzrCxXnDr7vSmhDPFb36IS/biYNuT036dQo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808335; c=relaxed/simple; bh=YiC0zOs6O90q4/FPkzw3mGwg8ejhtR+Z6tBOWwhcw+s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Pau83+sMdTFOkiyjh5OItnqYB1+kaGykhKEPyyl1L4SxoJLRW2T232qp900b0IDR+vwtIovJS4ol2pNVcwIDQrJRBkCJEZhobj+BXh1ddEASGLGiEYRpbV5mXpyqocd9mthGxUiJR+4x24xNxkReXW9hoFtQ2iXP3Fa8B4urFGk= 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=VgdHilzX; arc=none smtp.client-ip=209.85.128.45 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="VgdHilzX" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-483487335c2so18726295e9.2 for ; Fri, 10 Apr 2026 01:05:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775808333; x=1776413133; 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=hHpfsnzzu+UOFyztPgbXvpWNz6C6DyMlHqqcUHYsTVA=; b=VgdHilzX+w/falVX31tlZ7avYi9MwaTraLeJbtDTO9wGm3/HZm9E0rdnw5FYamd20S zz5TIQiUMyTiFjR168XWd/tmHxSo2x7/SZITfENrUd33L9/zFq2SfiONPCPbN2dkctgy 0wLKeBiZkBI3XT43cJ3fPQZLlLWuIBZsny2zcZ9mrlxfqU5bv/qxoIKfSsZ4q3y/z9nv VwOaC/h8mSxbD1kSC9DACFLiEsS/6zB038WuKq8sG0cgHtTof+vukSQ8ih4H/W8j6RHJ AZEi5kQQrrdBcIre9xr4RVXYPyuDNTlLOtze6x6XNqg1uu43WcIY9cPEsdfbpyqhoTLH Ul/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775808333; x=1776413133; 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=hHpfsnzzu+UOFyztPgbXvpWNz6C6DyMlHqqcUHYsTVA=; b=GIs0G53KAXcWyHRSH1JoZodbGtS/Kt7aqAT7Gzy1bhejQ9BUT71W4I1K2KMEJPgcv/ SAfGf+rFFh+nDmx+y3MTlH+tDyfmDdxg1bIZw4DbHM2J0FzIXRZG8ttGFKARWGp1PxTH owbS4KT1RPeAK0UjKv8vrwn2B4a7xUTGJ6wxCXDh6g9RK0OBgHu88fO7Y46Sc0ffZOqu DVtxugnCXCWpn01arHX7z3yjRumeulJd6Y6qmCVPZ0XCtYWTGpNcXond4ueGTZPFWVNm NCHSzVDyF33oPKtFaFJm8xvpvK3l0kfplGkicsa2zbp58rYv5P1HXez2B6p/8LdnKQ1+ rIAA== X-Forwarded-Encrypted: i=1; AJvYcCU4U1sOaNT24c2r9BIqduMiO+oUiUk8vcTnsEwdy2hkh5YW7eLorfJ5JhbrdJlBp5TbmKnZrBxzvECFjhQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5B90Z+nkM16S0G400QJ9/ThtMMiLEoqS+P1y8ScEQvKk/B8Uw mu0eaxNs4IhUH2Ge7YrKLDP7AP670RS2vIhmuZPjvuthQwXfYZFQsLHe X-Gm-Gg: AeBDietLOCkYR5qm99DSnMEh9jPhljDPLvqrtSKV9Gym8fvE+NnMRGjY25dj8kbbRtz SzgNaRE3AxlO45bEiuxPTwe1QlEze2GwZnrlUikkL2G4qp3C3tHtEeOBlL1bafj9YgLJUdvD4Di Btqd3ge0ADWfyqMzLZTP18gxIbgYFlKbckHT6LqyVtwQKFQ/4YWJ76DEiWptL/9/W6ePvX9QjLv DMrZWrd4iECrG9UwEA8+HhC1Nds8G59j+7IdsjCDhpXp6cKF/ifCITn8qHJY9zBdLkCLYhM6s4x SzSDMVHiR/xza/e54shTmDWBtasuL+uZWX2zI1Jad1LjksxIKQkiVPpg1adbDMDDbtLz22F2sc8 GAuUUrY9pwnetZZr2E9oGwU6fKGE9qzCnNdkPz0VvjCz+WySvoc8UbCienrfhcPUfkUOdW2ynoU jGihJURSNl5KAvKcuaLhsKCuP8hHDS2mrF3gVWGFiHk2pyGEWOjU2Pm1q00xMpQYEkzkpEaglC/ zWXfYXrBQ8ZXD5Rig7SZEkS21QawGdmZA6oEi2aH9gp8uli X-Received: by 2002:a05:600c:3047:b0:488:d6eb:e635 with SMTP id 5b1f17b1804b1-488d6ebe7ebmr13526205e9.12.1775808332681; Fri, 10 Apr 2026 01:05:32 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:a73b:688a:4297:c5fd]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d67ce3e4sm29950375e9.5.2026.04.10.01.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 01:05:32 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Fabrizio Castro , Mark Brown , Geert Uytterhoeven , Cosmin Tanislav Cc: linux-spi@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Lad Prabhakar Subject: [PATCH 2/3] spi: rzv2h-rspi: Fix invalid SPR=0/BRDV=0 clock configuration Date: Fri, 10 Apr 2026 09:05:16 +0100 Message-ID: <20260410080517.2405700-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@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: Lad Prabhakar The combination of SPR=3D0 and BRDV=3D0 results in the minimum division ratio of 2, producing the maximum possible bit rate for a given clock source. This combination is not supported in two cases: - On RZ/G3E, RZ/G3L, RZ/V2H(P) and RZ/V2N, RSPI_n_TCLK is fixed at 200MHz, which would yield 100Mbps. The next hardware manual update will explicitly state that since the maximum frequency of the RSPICKn clock signal is 50MHz, settings with N=3D0 and n=3D0 resulting in 100Mbps are prohibited. - On RZ/T2H and RZ/N2H, when PCLK (125MHz) is used as the clock source, SPR=3D0 and BRDV=3D0 is explicitly listed as unsupported in the hardware manual (Table 36.7). Skip the SPR=3D0/BRDV=3D0 combination in rzv2h_rspi_find_rate_fixed() to prevent the driver from selecting an invalid clock configuration on the affected SoCs. Additionally, remove the now redundant RSPI_SPBR_SPR_PCLK_MIN define which was previously set to 1 to work around the PCLK restriction, but was overly broad as it incorrectly blocked valid combinations such as SPR=3D0/BRDV=3D1 (31.25Mbps on PCLK=3D125MHz). Fixes: 8b61c8919dff ("spi: Add driver for the RZ/V2H(P) RSPI IP") Fixes: 1ce3e8adc7d0 ("spi: rzv2h-rspi: add support for using PCLK for trans= fer clock") Signed-off-by: Lad Prabhakar --- drivers/spi/spi-rzv2h-rspi.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c index ad59944c773e..602d4a36b44c 100644 --- a/drivers/spi/spi-rzv2h-rspi.c +++ b/drivers/spi/spi-rzv2h-rspi.c @@ -50,7 +50,6 @@ =20 /* Register SPBR */ #define RSPI_SPBR_SPR_MIN 0 -#define RSPI_SPBR_SPR_PCLK_MIN 1 #define RSPI_SPBR_SPR_MAX 255 =20 /* Register SPCMD */ @@ -535,6 +534,17 @@ static void rzv2h_rspi_find_rate_fixed(struct clk *clk= , u32 hz, for (brdv =3D RSPI_SPCMD_BRDV_MIN; brdv <=3D RSPI_SPCMD_BRDV_MAX; brdv++)= { spr =3D DIV_ROUND_UP(clk_rate, hz * (1 << (brdv + 1))); spr--; + /* + * Skip SPR=3D0 and BRDV=3D0 as it is not a valid combination: + * - On RZ/G3E, RZ/G3L, RZ/V2H(P) and RZ/V2N, RSPI_n_TCLK is + * fixed at 200MHz and SPR=3D0 and BRDV=3D0 results in the maximum + * bit rate of 100Mbps which is prohibited. + * - On RZ/T2H and RZ/N2H, when PCLK (125MHz) is used as + * the clock source, SPR=3D0 and BRDV=3D0 is explicitly listed + * as unsupported in the hardware manual (Table 36.7). + */ + if (!spr && !brdv) + continue; if (spr >=3D spr_min && spr <=3D spr_max) goto clock_found; } @@ -568,12 +578,8 @@ static u32 rzv2h_rspi_setup_clock(struct rzv2h_rspi_pr= iv *rspi, u32 hz) rspi->info->find_tclk_rate(rspi->tclk, hz, RSPI_SPBR_SPR_MIN, RSPI_SPBR_SPR_MAX, &best_clock); =20 - /* - * T2H and N2H can also use PCLK as a source, which is 125MHz, but not - * when both SPR and BRDV are 0. - */ if (best_clock.error && rspi->info->find_pclk_rate) - rspi->info->find_pclk_rate(rspi->pclk, hz, RSPI_SPBR_SPR_PCLK_MIN, + rspi->info->find_pclk_rate(rspi->pclk, hz, RSPI_SPBR_SPR_MIN, RSPI_SPBR_SPR_MAX, &best_clock); =20 if (!best_clock.clk_rate) --=20 2.53.0 From nobody Mon Jun 15 12:25:00 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 22CDC3AA1AF for ; Fri, 10 Apr 2026 08:05:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808336; cv=none; b=kgq5Jvykq7EnB1VD1ibDaSDbGK8mx6k/IwKA9I/dic/LRulhDoy6qbf6Lqk6pw6hK928mt9AFHRHrv+TvojzNJojEgdMtmLZiGZj/CC/hiviW/JFOGM2yaJEd47iMg7AOJGIQ6NxzCALxoL5+fF6e3NnIqKO7g0O5ojbU9nshhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775808336; c=relaxed/simple; bh=xorpueJxTNukt5ZFVGNxy2LzwUY45JT81ldlU6c6GAk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XfNx9I9fa5f//APDaBeiPwAGC5di8qLobmxl+sFZKdAiSkGF8wmMeaMIRnfm1t2J7LresN7G18jRIODs+VfeUlzhv+n7E1Tnb7DqYHUwirRETbMxIwwlJRdt1/nZouBxY1mXopXsQ1M/xd0h+HPf6/Z1QYGUSBESteGS580CBsI= 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=DKI81Qvn; arc=none smtp.client-ip=209.85.128.54 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="DKI81Qvn" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-488b8efed61so14874245e9.1 for ; Fri, 10 Apr 2026 01:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775808334; x=1776413134; 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=YrKnQwSJErgHcrBoBos/Qb5MY50qHFM3OyauosBsnB8=; b=DKI81QvnrTm6FfNeeo72sGgRRHkjOZy9gn5f+/0/5mbiPgN1zh4tBHQEri7TLmMw5L hbIrN/pgpge/AfDm5rCB/fP2NWRR7mZOUYaGlg9/eQPT0z8cg3hq10Zn83XR0Ze5P1z3 4+is2K4w/3fT5m4vDuOoJGiAe4rarsDKZI6FEKdLg8aH+M4EonI1XWkT5d8SxLBQbxfm AtyUU840IcHVsByq4GSn9JXQjT9pMwzcuethwjNw0crLC+dvg7IhlxFDafSZvAakQ9dO 54noBL6I/WkfqxoXPfiJzqhJvwIJBAhDKc7J5R9DrEogvEBR0b08/AkbKRxxCpeOkxQT RTRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775808334; x=1776413134; 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=YrKnQwSJErgHcrBoBos/Qb5MY50qHFM3OyauosBsnB8=; b=kxfnf8Xu9ISIC7gbwPUz04jyOKu6uaEKfX5E/F6N2x+7tx6Tj35AtKUDv19uNL3AyK Ycwn4/3PYlYa4qxhDdc22NX/4ir3y/yUw9OJ+acoPNJJgd5hbB+9sDX8REgqDwcvdw5h 6Fmyr+ZSMnXtZxPOBtxrG5wfWfsgdQiX1/E8dJoXCbnGdtz14GGAiDXHRqGSerIeKE6f TD8fL4z50JfXlk9LQ/MiZdWOn3ZgEjQxkuUUgFvop/QJ5ZFGIazZcG18tTSe5h46Z/80 wJMBJNP1CYool4AestzHSTRbVrbUn2zEParcWgzi5+rXBt/KQM3ngOKylEEHoua1iNdU 0gcQ== X-Forwarded-Encrypted: i=1; AJvYcCV7eYDyobcj7ejUV9S+vql69ViSxWZOt8SNRhBIvPmIw/ZH2y3p3DexwUBghDWJegR3O9mJnWg50oaa3/E=@vger.kernel.org X-Gm-Message-State: AOJu0YyfPK7SuE202ms4LCI+ScyuMYXq6IM+LwD6FtG8mSz1/ohT876X ZOiy5qEluTaI9zYZ3j61J+gK8S2RTcEAbA1QZtDGpaqZ8pBFJtaNjtgL X-Gm-Gg: AeBDies6i7bFHrp/U5N8ypBPTKcWhwp2kPJDx7e+4Dggxr66INwWgzXoKFMVrV4cxV3 Xbvo1jk+BvtlKsQ5o3LGv2wKE/7G/uXjHwI8daE93fEh4FdFf70bD0WS9uTq5jGIb3xXTvd+4zZ w8uImncvYkZdZ9Ccoc79bbEfxI4Zcv9mtV7IGwZc1g0HFtJggOIMhJPfYnLWTzGayd056J1FfHm fII7pKsYgkPcelSJG2gL/dn6s7uhBCYAYpenDTVOD+aUqat1hHl3/n6Vy+PU3Ifgltd70othWb8 fCJeoJnbIWhdrMnzbUmLUaFmtOnXnbuu47mGa+leOWDTXPYJwkzkqgHtRu4sERQkjVgh6aA8a5b SL3rbG4HYsuugbxRBTbZmh4/EKZ2TYbJbBWuZeXAslYuZTnjRpwE1WLGWWLrGNusEbG89QjV2B+ K8VFUxHU/+0MhdHWkSJJYCyQo5vQjpiDnGYU8NvH5ZNw/8ipjdDHCA8j0VblMkAiCkfvk7Jy75Q 9WT9bdeKHMxmfSLBMALeb9JhYFcjeYInpWqrw== X-Received: by 2002:a05:600c:444b:b0:488:9c3b:ff40 with SMTP id 5b1f17b1804b1-488d6acd9fbmr20477575e9.15.1775808333390; Fri, 10 Apr 2026 01:05:33 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:a73b:688a:4297:c5fd]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488d67ce3e4sm29950375e9.5.2026.04.10.01.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 01:05:33 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Fabrizio Castro , Mark Brown , Geert Uytterhoeven , Cosmin Tanislav Cc: linux-spi@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Lad Prabhakar Subject: [PATCH 3/3] spi: rzv2h-rspi: Simplify clock rate search function signatures Date: Fri, 10 Apr 2026 09:05:17 +0100 Message-ID: <20260410080517.2405700-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260410080517.2405700-1-prabhakar.mahadev-lad.rj@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: Lad Prabhakar The spr_min and spr_max parameters passed to rzv2h_rspi_find_rate_variable() and rzv2h_rspi_find_rate_fixed() were always called with RSPI_SPBR_SPR_MIN and RSPI_SPBR_SPR_MAX respectively. There is no need to pass these as parameters since the valid SPR range is fixed by the hardware. Signed-off-by: Lad Prabhakar --- drivers/spi/spi-rzv2h-rspi.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c index 602d4a36b44c..f45af5884638 100644 --- a/drivers/spi/spi-rzv2h-rspi.c +++ b/drivers/spi/spi-rzv2h-rspi.c @@ -88,9 +88,9 @@ struct rzv2h_rspi_best_clock { }; =20 struct rzv2h_rspi_info { - void (*find_tclk_rate)(struct clk *clk, u32 hz, u8 spr_min, u8 spr_max, + void (*find_tclk_rate)(struct clk *clk, u32 hz, struct rzv2h_rspi_best_clock *best_clk); - void (*find_pclk_rate)(struct clk *clk, u32 hz, u8 spr_low, u8 spr_high, + void (*find_pclk_rate)(struct clk *clk, u32 hz, struct rzv2h_rspi_best_clock *best_clk); const char *tclk_name; unsigned int fifo_size; @@ -413,7 +413,6 @@ static inline u32 rzv2h_rspi_calc_bitrate(unsigned long= tclk_rate, u8 spr, } =20 static void rzv2h_rspi_find_rate_variable(struct clk *clk, u32 hz, - u8 spr_min, u8 spr_max, struct rzv2h_rspi_best_clock *best) { long clk_rate, clk_min_rate, clk_max_rate; @@ -464,7 +463,7 @@ static void rzv2h_rspi_find_rate_variable(struct clk *c= lk, u32 hz, * minimum SPR that is in the valid range. */ min_rate_spr =3D DIV_ROUND_CLOSEST(clk_min_rate, rate_div) - 1; - if (min_rate_spr > spr_max) + if (min_rate_spr > RSPI_SPBR_SPR_MAX) continue; =20 /* @@ -474,14 +473,14 @@ static void rzv2h_rspi_find_rate_variable(struct clk = *clk, u32 hz, * maximum SPR that is in the valid range. */ max_rate_spr =3D DIV_ROUND_CLOSEST(clk_max_rate, rate_div) - 1; - if (max_rate_spr < spr_min) + if (max_rate_spr < RSPI_SPBR_SPR_MIN) break; =20 - if (min_rate_spr < spr_min) - min_rate_spr =3D spr_min; + if (min_rate_spr < RSPI_SPBR_SPR_MIN) + min_rate_spr =3D RSPI_SPBR_SPR_MIN; =20 - if (max_rate_spr > spr_max) - max_rate_spr =3D spr_max; + if (max_rate_spr > RSPI_SPBR_SPR_MAX) + max_rate_spr =3D RSPI_SPBR_SPR_MAX; =20 for (spr =3D min_rate_spr; spr <=3D max_rate_spr; spr++) { clk_rate =3D (spr + 1) * rate_div; @@ -512,7 +511,6 @@ static void rzv2h_rspi_find_rate_variable(struct clk *c= lk, u32 hz, } =20 static void rzv2h_rspi_find_rate_fixed(struct clk *clk, u32 hz, - u8 spr_min, u8 spr_max, struct rzv2h_rspi_best_clock *best) { unsigned long clk_rate; @@ -545,7 +543,7 @@ static void rzv2h_rspi_find_rate_fixed(struct clk *clk,= u32 hz, */ if (!spr && !brdv) continue; - if (spr >=3D spr_min && spr <=3D spr_max) + if (spr >=3D RSPI_SPBR_SPR_MIN && spr <=3D RSPI_SPBR_SPR_MAX) goto clock_found; } =20 @@ -575,12 +573,10 @@ static u32 rzv2h_rspi_setup_clock(struct rzv2h_rspi_p= riv *rspi, u32 hz) }; int ret; =20 - rspi->info->find_tclk_rate(rspi->tclk, hz, RSPI_SPBR_SPR_MIN, - RSPI_SPBR_SPR_MAX, &best_clock); + rspi->info->find_tclk_rate(rspi->tclk, hz, &best_clock); =20 if (best_clock.error && rspi->info->find_pclk_rate) - rspi->info->find_pclk_rate(rspi->pclk, hz, RSPI_SPBR_SPR_MIN, - RSPI_SPBR_SPR_MAX, &best_clock); + rspi->info->find_pclk_rate(rspi->pclk, hz, &best_clock); =20 if (!best_clock.clk_rate) return -EINVAL; --=20 2.53.0