From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.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 8CB243CF054 for ; Wed, 15 Jul 2026 22:24:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154266; cv=none; b=M4AAyLtyAMD9RMUFJzdRTWSfG0Ov86jRXcIjdU4dGOrqHwAdAeIJOSil6EofDOUx0wEVs7WLdShfkhQVVMEJ1dCY5ARjph754B/HF8u08BQlyr/xxhhkHzoW69mBQv/UNOMwVFwITu57HV+smVWsHaE0EW/hq5J4QsJS/EnK4qE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154266; c=relaxed/simple; bh=d+ktqVndZJhCJrT8O2h4M5jsdq4wiPW+WKcCbzjTV00=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pcQ/dTxA98vBkfA8HFHATYRtkFqQakXqcmyTu8VhSVyQC2fszRFLA1cpv0m+W73edLIN5FMaXNJvsr2z6JVvdmFsZLZ5PmVPIRpvvqluj2NuWZFtTwTbVzAaQ4n7N2+P6OZ+H7C9zrl2Ge+l/XZpIsdqXDJVZ7Tgoz5hqCkYvPo= 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=o0Wc1nws; arc=none smtp.client-ip=209.85.221.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="o0Wc1nws" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-471eeac43bfso5815577f8f.3 for ; Wed, 15 Jul 2026 15:24:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154263; x=1784759063; 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:content-type; bh=+WEq6Gzmt1f2hEZj2wO18jW2AXF+11Es6P4mjwJfz0Q=; b=o0Wc1nwsyCrvK2SlkyiiD2Kzdg0ZHfdeFVVn6Sjwr5mcMxh2/wjrn/GLYcpU5qvt86 GbepI8Dm1KMelKdQ8RQRE/FZJ9VM8xTgIFuf549AyDjSI9nvaVbwAuTVRUuUn0MZtpMK elZo2He8ex0QKDqxaDyPMWgF8bjhIzTSWspwofDMw1GGLOEpGlHUx4jBLB58UX6oN3LT RZakbWtXwGl4QhzBpJbKaavbNAt3xY0HA8k7pNu90VFDVNIWrPMeD16Scw9Bhawiiqvi pERr4AHkigkD3aO2VEcX6H1dJtEEimkkTu9v1ho2qu1B282pxrLO1hVlb2zdz+FyqgBY FdnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154263; x=1784759063; 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:content-type; bh=+WEq6Gzmt1f2hEZj2wO18jW2AXF+11Es6P4mjwJfz0Q=; b=DlTPxMXaNe7wvTxQET8/5xPjF4OVOfNADfHtT98MMCurj2r2nlsJMkbtYyp5jATZCJ bRBEB0tLl80tzIl7zfCL26+/ozzPz/ssophvhAaByjuEZVA3WfHQ0s2xSUK2k6sxCtLo mSlog1CL0JlF5Lf9qoAnzZk/ZoYFNSfuFS+A9S3HFP/mPQA7gotksu891k99XPn/rrTJ XXABX1jOAxgDMKQivk9hV3HySXeuJZd49jCJD59fqaIX1kGQGE5YdAoe/QyBQATda4B/ Yzj2bgTc7dKiECiH7vS29cNNuNonBpbt09leL/iuRkBrSGPmy+A3luBxJUcMW5pd8Zq2 /BYw== X-Forwarded-Encrypted: i=1; AHgh+Ro8TbEV3/pVh9RchCCo9sCc4/5IPEkTiaPfhO7XJieeWui6XdhtIJXlHt5ZfZVSAD9Af2D5ivSt/R4TZoE=@vger.kernel.org X-Gm-Message-State: AOJu0YxiEmQSye50QSkim6XxvdSbwU626Ei8zbj54IvoEBX1zxBGX2mf pNif+QeJKi25HXmJ00zL7lKwNpYUPzX5EvDsU7ItraUW2oQCC015m0Rt X-Gm-Gg: AfdE7cltOnfh5cdj9IJGyyV8P+SxKW7RqRRs729Ur6nSsocREDub/zTGjwrn4xVtdnP AYLjYODS6pga4FSFqAQbF7EXIzKBEwGSIPw4JPzaUt3EPtorZLA2jgCWEpws3p51vKzj6nGWK/9 0HEbH/HPULoJQH5q00q9lYlvGWNy0uiweizeHOu3HDGwjAFBoVSScUEathtx6f3BwvDRiGGxceb dbtKe/7l5vNqiB0aiels8SLQirvPy68qO8o241/6+sd+OMh9Sr5zZTamoBYMTXl17oipnV8CpwP afeHExJXtM74Ls59U8SirfW0292viLTF6JYAbYgVL7ag1gc36LEz2nCx+3vtMXbfYPGwxlDfvwV +bjH9IU0HEeLZajgqdyK30fDFz2y6Oz66X7s36PR1FSdNtqtQxTW76BhPcBWIwCkT/0wqO+BNFO UQhNOEQ+sZl1vAs42U+kPh0myZ9rqc267K/LWjeGb22sYVDisuYt+fSwbAZQShxnbAJy6pZMNDD yPWT06EL8wPzsvol8vYv5kKhdo= X-Received: by 2002:a05:6000:1acb:b0:47f:4893:d17f with SMTP id ffacd0b85a97d-47f4fcd5c16mr5321708f8f.22.1784154262632; Wed, 15 Jul 2026 15:24:22 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:22 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar , stable@vger.kernel.org Subject: [PATCH 1/7] memory: renesas-rpc-if: Mark XSPI_CDD1BUF0 as volatile Date: Wed, 15 Jul 2026 23:24:11 +0100 Message-ID: <20260715222417.2997712-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Add XSPI_CDD1BUF0 to the xSPI regmap volatile register table. XSPI_CDD1BUF0 is a data buffer register used during manual transfers and, like XSPI_CDD0BUF0, its contents are transient and should not be cached by regmap. Mark it as volatile so reads always access the hardware register. Fixes: 687cac9559d8 ("memory: renesas-rpc-if: Add RZ/G3E xSPI support") Cc: stable@vger.kernel.org Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index 3755956ae906..104c28532c20 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -34,6 +34,7 @@ static const struct regmap_access_table rpcif_volatile_ta= ble =3D { =20 static const struct regmap_range xspi_volatile_ranges[] =3D { regmap_reg_range(XSPI_CDD0BUF0, XSPI_CDD0BUF0), + regmap_reg_range(XSPI_CDD1BUF0, XSPI_CDD1BUF0), }; =20 static const struct regmap_access_table xspi_volatile_table =3D { --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 122DD3D4112 for ; Wed, 15 Jul 2026 22:24:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154266; cv=none; b=I4vrgmnWEKtiYHD69B03XtFmUQpRUXXMsnWMdSuysQhgN+LUxGcfbTLeleifreJzv01CzcVQ9bZ870VrPTEV6U5BH5FzBPzYx0UxiKakPNr2zj5jlscmozYLLvxgPAHT2CsTneyrPls+vDt6que1TyZeB3FZAAWp2HXHIN3zgtY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154266; c=relaxed/simple; bh=xf98bmANgzyLY7d0vN8PC/XFmQgSnyrCVMnzTAoeOLc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=plLDCUSkOvH2OW5h9wPDtw7kKgGSGx3b34ixaIVQYB5cpKswjBCGqRNVoH0jx4wjEzGcl4BoXXug2Xk20oS62RzdxllGrKRP+YtLBxpIFOI5c/IV1SWBvRSZUFVkqoqfmgNjc2nRa1OaK9H2VRhKdvIBTtyXnbokeRooNcAbb+Q= 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=XJt6Gx3d; arc=none smtp.client-ip=209.85.221.53 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="XJt6Gx3d" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-4758bd3731bso2040538f8f.0 for ; Wed, 15 Jul 2026 15:24:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154263; x=1784759063; 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:content-type; bh=x19+TAQDChfRjtz7x9GYQXd2WO2WRgrIM4Fdlb0t5zQ=; b=XJt6Gx3dxKdpiGFr9YB3gZFf17X/CDRrZU9of3eq/4EwHXaLjXQBpVMpzXw6uSztmf Wn3uxx5O+YxUlFr8+xZJR5ip+p89WtalvryJ1YTGIE4rBJAsWi4HzvJl8js8Ca2rTqud pvzFTSg4k1qLHPqVFYjGqPagTQfq4Tks80uSw6XGSSSw2ERQulxHSCfcrAI/8hPhjdOs 1DmNxsOAIB3WoQWI2fHsb7iaCTDrkHYZrnN/p9XX20hEStgt2C1lo233nG+A8ogNJmha NqKuuj6mwiJWqQoL/h3pjjh7vbD8pfw1rNlzChP96l8PpwV0lN77al7vRhyE/SUjEq9r SnAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154263; x=1784759063; 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:content-type; bh=x19+TAQDChfRjtz7x9GYQXd2WO2WRgrIM4Fdlb0t5zQ=; b=N6c6AOAkkWyCUadB0AGcGB41LkqW+zB2lhNbj50e4bLYfbiugGMmTr1YwF/WaOD/Vl Xj9VkP1BQ3g6djz4vYWhms9kcC5Bzk9+x5EVqBbOs037Mx2L0Xq3p1uUwluMe0Ozbs3a U7pIwSvKTNRAdjp23btDFvKqWaGFaVt+2NIoiqt/fV8Ty+SGyy61+iLFiQvBPerkOdz2 mCBP0Fs8qLv5bZ6UXAncMpC+YF+R5AbWHrj9fBv9XWM/uxwHwf9NihraAXg1GUmA5Avk jqRz1UbwcSSSD9qPAyONVmQ0SU40W+he9jSL3dLb2ExBzAmlxLSNOF6GYp6bgNM2qnyB 2Idw== X-Forwarded-Encrypted: i=1; AHgh+Rp3Xqj6glDYFICFnUeTEPu8Vh19b6pLDawXx+Q5Qni+Lq5bvTwmhsw2OVZMEc6JnUfpZI1hVDhhOohDrhE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw76KT8DklXUuNbgmXAMUeNWHOg52TxoZVt37IFVNDVWk1icbPs FFobDiPGDXD8WYJlfy+pm+c1rczpY2Znj/GClkGvH+sw93p6D3pDh1o5zL1F+75Ik5k= X-Gm-Gg: AfdE7ckJqZcN72Gh7TvamVVHaIqy40WIAMg+PabBI/GwIW0ZGLmuTDkWb3JTc1YLVDc QaU2Vv0Oi+5xlxxJRF5sDMk1Td06dafv4O3LkX0CrPOc8rDKpgVYJXVLuHA+73vCudTLImMZ0Gc 9hLcglqmCltQYwI2aQMuj0cIYvhH+KC4J0N7IfhtC+eD+pbOBlyUF7A9OJ7SjOuX5Afxi9KoTYa pgPGvlRChZ0/D536rhzSiSuN3kLmDqvRJ84dA2OCAg69sJWQz5d/KoduPwbWs9E4MZzNlquiFlF c3BQykkCJzgCxGGKl0qjx80UoNTvyMe97e8F+M5BaPmeFHHs+lsgDGs9TfVOe9nrsAFyRa7NDhJ f7OgaM+cXSIAA9UPTTZCXQK/YyqWwkiyKaGH3BB4N0t3mSLPrvFha4R8R1FSKKGSFCOToBCUu1d 7iBEd7CA+kTuLHOxdJtC7FZGOiAWcSEzW5fpcnrmYbyXr5FBkdqtBIeHeZ5eYlHO/pditzTuEjN azWg2HrpWGxihQd X-Received: by 2002:a05:6000:2407:b0:475:f0c2:75b2 with SMTP id ffacd0b85a97d-47f5a53f2afmr5353f8f.29.1784154263155; Wed, 15 Jul 2026 15:24:23 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:22 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 2/7] memory: renesas-rpc-if: Move static bridge configurations out of dirmap hot paths Date: Wed, 15 Jul 2026 23:24:12 +0100 Message-ID: <20260715222417.2997712-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Move the initialization of the xSPI Bridge Control Register 0 (XSPI_BMCTL0) and Bridge Configuration Register (XSPI_BMCFG) from the dirmap read and write implementations into the hardware initialization function. The bridge configuration values remain unchanged across sequential dirmap transfers. Keeping these regmap_update_bits() calls inside the hot paths (xspi_dirmap_read_impl and xspi_dirmap_write) introduces significant software overhead and redundant register locking cycles. Statically setting CS0ACC to 0x3 during xspi_hw_init_impl() permanently enables the memory area for both read and write operations. Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index 104c28532c20..50294e5d2bf5 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -312,6 +312,14 @@ static int xspi_hw_init_impl(struct rpcif_priv *xspi, = bool hyperflash) regmap_update_bits(xspi->regmap, XSPI_INTE, XSPI_INTE_CMDCMPE, XSPI_INTE_CMDCMPE); =20 + regmap_update_bits(xspi->regmap, XSPI_BMCTL0, + XSPI_BMCTL0_CS0ACC(0xff), XSPI_BMCTL0_CS0ACC(0x03)); + + regmap_update_bits(xspi->regmap, XSPI_BMCFG, + XSPI_BMCFG_WRMD | XSPI_BMCFG_MWRCOMB | + XSPI_BMCFG_MWRSIZE(0xff) | XSPI_BMCFG_PREEN, + 0 | XSPI_BMCFG_MWRCOMB | XSPI_BMCFG_MWRSIZE(0x0f) | + XSPI_BMCFG_PREEN); return 0; } =20 @@ -869,15 +877,6 @@ static size_t xspi_dirmap_read_impl(struct rpcif_priv = *xspi, u64 offs, XSPI_CMCFG1_RDCMD_UPPER_BYTE(xspi->command) | XSPI_CMCFG1_RDLATE(xspi->dummy)); =20 - regmap_update_bits(xspi->regmap, XSPI_BMCTL0, XSPI_BMCTL0_CS0ACC(0xff), - XSPI_BMCTL0_CS0ACC(0x01)); - - regmap_update_bits(xspi->regmap, XSPI_BMCFG, - XSPI_BMCFG_WRMD | XSPI_BMCFG_MWRCOMB | - XSPI_BMCFG_MWRSIZE(0xff) | XSPI_BMCFG_PREEN, - 0 | XSPI_BMCFG_MWRCOMB | XSPI_BMCFG_MWRSIZE(0x0f) | - XSPI_BMCFG_PREEN); - regmap_update_bits(xspi->regmap, XSPI_LIOCFGCS0, XSPI_LIOCFG_PRTMD(0x3ff), XSPI_LIOCFG_PRTMD(xspi->proto)); =20 @@ -945,15 +944,6 @@ ssize_t xspi_dirmap_write(struct device *dev, u64 offs= , size_t len, const void * XSPI_CMCFG2_WRCMD_UPPER(xspi->command) | XSPI_CMCFG2_WRLATE(xspi->dummy)); =20 - regmap_update_bits(xspi->regmap, XSPI_BMCTL0, - XSPI_BMCTL0_CS0ACC(0xff), XSPI_BMCTL0_CS0ACC(0x03)); - - regmap_update_bits(xspi->regmap, XSPI_BMCFG, - XSPI_BMCFG_WRMD | XSPI_BMCFG_MWRCOMB | - XSPI_BMCFG_MWRSIZE(0xff) | XSPI_BMCFG_PREEN, - 0 | XSPI_BMCFG_MWRCOMB | XSPI_BMCFG_MWRSIZE(0x0f) | - XSPI_BMCFG_PREEN); - regmap_update_bits(xspi->regmap, XSPI_LIOCFGCS0, XSPI_LIOCFG_PRTMD(0x3ff), XSPI_LIOCFG_PRTMD(xspi->proto)); =20 --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.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 84D433D4125 for ; Wed, 15 Jul 2026 22:24:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154267; cv=none; b=QM9Fr621ttHsgKMFYyk5M45D2xD4cPYIsqqALr3er3Rvwa/+WLd4teJEalse+nyrYupoVI1ptO9kOlIiCMs8kj+bZqSkVeVAGNuWgR8YpQonTPKTZnLtBmCh0kgFktzStZubIk0n+z0iA8FhKeuoC7iFeTOjqSciHguujbC5yhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154267; c=relaxed/simple; bh=uwqN8ydh2yWuiSaCkv//cC0Jf+pSP4PQ94Q3elX3Tjs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p4BWxbR3aeEIFS6zD2ZnbF+JUVv9C8sKpYmXQVgcBscILJtDETRbhv8flkR8Ntpht2C6NSMw6v+cblqpYvQrwA3TF11YnAcY4gEWeI+VST49O75z8syvUXxtQr6NF5fowjNdKncxePPRDaWqLafKcsrTR7pM3Y0ovxJl/eLNNec= 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=CzLAb8nC; arc=none smtp.client-ip=209.85.128.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="CzLAb8nC" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-493e8d4f4dcso43575465e9.0 for ; Wed, 15 Jul 2026 15:24:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154264; x=1784759064; 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:content-type; bh=Rx6OgR/abZgnW2Cg5Szzka1rX315tDSAtj7sx/+ljSs=; b=CzLAb8nC9/pJJZLt9pRVHDhYDCqfff+rAB66/hoKfd3MlyDLuTuX4CbWHNTOnQD000 hfRswV278jk+SHRnfpZWBdGdiouhILr1/TSqza0Lye6vy546rS6j7TQbq+FADfg6Kjmj JTrx65mVVfVFd1SYky1AinOUxHgtXYoLKVirfkM0NM/5sUN+l+aIV07kpP5pd8irOqvM +AqTtc5sfD8HYTw0ZC1yTugf/VDlps39+M4pmMYDgP8hhhMiBqHDXlcGfiBacJuW6zVN IJX+wXDNt1EnMH2S68kEH7Xuq67Srp8H2gvIF6qeAJMRgTbxBOebj4sOgQ7Cfmwb46QQ +shA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154264; x=1784759064; 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:content-type; bh=Rx6OgR/abZgnW2Cg5Szzka1rX315tDSAtj7sx/+ljSs=; b=QG5KFyXsKGHDdvMw72yKwaJl+14R/2cojz5/y4p0FIAQa2MK2/RjkEp4VBBvrmpbY/ Di7CdM0T4Yj+DBftIqdJMtnTpzRlBeKHBOfuk4jH7ijMzFN0CLUeaXtuvXtHSpgE7mbk uhm7uaubPv6D2Kz/Kpf356DTAkNV698SHjw53aRmKp8HoHciHRQqVy1jUfVHL3be2Fnm O4PnJL9bMM7KXqQaYEMXhviSTlJI1AtaJNQVSusDHRrFfkc9cPaPSUQ7J8zLxQ4Pl6uI KGiILVtqjBu2qnq0vvZqRbimMwfKD+aLgdSP4s9WyprrzJY0mAcKCXRyR8AJEQxEfOz6 zegg== X-Forwarded-Encrypted: i=1; AHgh+RpTygkv6uza968fxHmyMK7J6JZV8dkhC6KS9QnHJOr0FVkq4YkqcSZc3u0YP/QcgEwGCfsXMp6RGmD2tgw=@vger.kernel.org X-Gm-Message-State: AOJu0YyDFzDxZI+mKbr+IoCzBgiXyD2xhhOW/MQ42ECLZPwYky1Sg/d2 WI++GNZXZGTKzIYhd1tsoreO+EF7bWoetr+KAb+MYq5V8ywL4UJYd4fe5OVHmRJx56M= X-Gm-Gg: AfdE7cmsj2AMA8lTgv5RSM1yTAy2YGIsEN9XI2uYChWZakLJZlZlqTaD6Wu7soYiuKu suG7VQUq/5HXx7aowDVDX2VQ5edAk+XBYBadE/cvv7/I42bMihVvbcFVYK4UroJXhFciOqbRmpW GEWapJ7lV26HfLiyRsSj/rHQ0pXVomntnnP9P29BDMRiPuUvtq2gK4XajQMswxgvAzLvni7pmk0 z49x+WQCgiya95mkj6z9DLvbQ6XMXGx9JpVnq3HrFRyzHr2Mbc1sn7j9lWIaAEzp7lARiOMvf4W MyVlz03lgHx7Mhj42UvmVDavfbZmOKyDUUBYnDo6F/7Ful50J24V2W7jQYiUo4Z4PGR4qfQGnFd KDGjO25lUWGyLTkhBVH9oq5WBKWv2dWhUVfHb/OxOVmR/RF+kq5U/3UThuJORjsskCvl8rq5Onn 2AfkVQg/YDZ9X1if3l8CFF5WlRK2sH3dzi6wcTtN76o/d3Qwav/qrA5wbu9SDQpPCBYsRD6cMyR dwa/SX1UjzKRH+2 X-Received: by 2002:a05:600c:8b6b:b0:493:f6f7:299e with SMTP id 5b1f17b1804b1-4953c273d48mr49140665e9.20.1784154263651; Wed, 15 Jul 2026 15:24:23 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:23 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 3/7] memory: renesas-rpc-if: Consolidate XSPI_CDTBUF0 updates in write path Date: Wed, 15 Jul 2026 23:24:13 +0100 Message-ID: <20260715222417.2997712-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Program the XSPI_CDTBUF0 TRTYPE, DATASIZE and ADDSIZE fields with a single regmap_update_bits() call in the RPCIF_DATA_OUT transfer path. The existing code updates these fields through three separate read-modify-write operations even though all values are known before the transfer request is issued. Combine the updates into a single register access to reduce overhead and simplify the configuration sequence. Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index 50294e5d2bf5..e406afc42616 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -660,17 +660,12 @@ static int xspi_manual_xfer_impl(struct rpcif_priv *x= spi) u32 bytes_left =3D xspi->xferlen - pos; u32 nbytes, data[2], *p =3D data; =20 - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_TRTYPE, XSPI_CDTBUF_TRTYPE); - nbytes =3D bytes_left >=3D max ? max : bytes_left; =20 regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_DATASIZE(0xf), - XSPI_CDTBUF_DATASIZE(nbytes)); - - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, + XSPI_CDTBUF_TRTYPE | XSPI_CDTBUF_DATASIZE(0xf) | XSPI_CDTBUF_ADDSIZE(0x7), + XSPI_CDTBUF_TRTYPE | XSPI_CDTBUF_DATASIZE(nbytes) | XSPI_CDTBUF_ADDSIZE(xspi->addr_nbytes)); =20 memcpy(data, xspi->buffer + pos, nbytes); --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.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 0D1BC3043C8 for ; Wed, 15 Jul 2026 22:24:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154267; cv=none; b=EdDFyhNjfy4CnRYtxgoCPhPPD/dUeiygiEmoorGw3mSHD9cXz5OiZnSVM1ooAj8NPeAGm6jbjccYREDnCgT0BlfgNoEom7vxqunXiND2fSRpOEfliLvVWpVRKnwy5kG/0reL3EvIMgVw0PM3zs26/GxGqY2GN2UivLSg0Lu2Cug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154267; c=relaxed/simple; bh=nu/mr1w3NatjahLjEdAIObZx3UpsrcSmvOjxdVnI/Fw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Mvfl2WM5tsYffDowprTPD6UN96NLfCUIEQJfCi4ZAlKNYRWrc2c+CyFJ0I6nWCEa+1oFbUUgUiRBdHckf4SknZGwy7Lff6iYKtTaJR+ITTYR2ptJDEpWqOfjgyONmHLHfmR/avCReat9bQ1wdmDSV9xnpUqAvBfqJOjBxPoDEdw= 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=iY0QXd53; arc=none smtp.client-ip=209.85.221.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="iY0QXd53" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-474560436c3so1952113f8f.0 for ; Wed, 15 Jul 2026 15:24:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154264; x=1784759064; 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:content-type; bh=n7wn2+V5yX90KO7wkjapPWJb+BCChpkYDpDV4HrAyTc=; b=iY0QXd53VTRhLW9GNlduk25UMkZUEl+uNE/gP4hheTnmwzIfyPjaGuwO4BX1M2zxoc 5hYiVm+zzlo+uccpXP9wFMGS1Aw3A/58G4XEyDbvJ3piPRa2wJdbX94q01adFnbtk1mW 1icWbY2GkO+ybnEY8vY472nbTkgEZX2KeNAwu+qIbItv9+VyiU3yRsKjnCT7fKKB09t4 pboZCOCJ3JCA4jAOjW8BB8V3jhsiIwMTJR/MGErEIiOS2ieCmo1xu4qGxnPmNy/Rmlzx +aCLwrIzxjDfe6Ejh/i0onoX1Ezt2Q/XDY6CZ7MlOLn5CStPQQOfbuUM8+MPHvJZeF5i fq3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154264; x=1784759064; 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:content-type; bh=n7wn2+V5yX90KO7wkjapPWJb+BCChpkYDpDV4HrAyTc=; b=RBovsZoFlxFWhXvKOWoxjd3sdR0yhtblHY4zqIMCtB2EA+RrqVFLs1VEZnqLkLYTp9 VZmu1x181njPkC1TtemyB9/s7ezDPrFKO6fECEaWCAftnvlc1ItAd++s+lHASbZlOfbR mqaI3YyBepuGxYYpnpSVi15uaU/Qu0om4xt4yQnMHOzRMtzq9n4qeg7u5kgsVCf118Ab 6Vx0N+Hd1kLcpJjEL9uMifWbRvU6+9HMkgVd+gyaS1htrIplMF4+gxxJYJTwQdRnNWRT ojFlXIlL5++oqY5QDdpXqhMc6V3ubyW7CHrB8rYB67ePcYyhBWXN1DYiW2BeHL0Gfg7r Q6hw== X-Forwarded-Encrypted: i=1; AHgh+RrpHeT2vAgpAsbQUrsES/fPvHk5IowR9cBH99KJUnV70bWw17b3R+gj2j75QRyk5C5MOl349DeBJjBOqsU=@vger.kernel.org X-Gm-Message-State: AOJu0YxEM6y2yPd0EV/HC4kjJ3/bqSpDe/dRGVvyFlB4hPA85fyL4xjT zmJ/6hXUUCqMNJmZRSaLZ8uM0Z21yWjZXqDPs5Gscidz6/FjJhK5Lh+N X-Gm-Gg: AfdE7clqsppyMh1psFDWumEonqaXMm1qOIsLUzud/Lre/5ECRv5pa3QRQdda12TeujT jZte/o3HKCd7Lw0PJLiJpgi+sCAwSjhabtDCaQ3YBUT6Om0Ebu74WJAkhRrEs3X62UGmP4ie6QT ZRbHhOb9lmtX5yUzNVpvdlkOtHjAYFSXCah1boN2hFfJCWmpvDGX7Gq0l0rawWw/2RS6gE2rqET hanxTpKJHHOlruh3HdmWlIMGIHKY48H/8HWVceY/zu0EG8aFmDaamOHigodkxGsNImXkfO5u8aD hpTCqs3KT43G9liZ1kYwmOsPQF3H5sdxn86/JpGxLB3vEjejxh0EcpTn4lH6Z0tVONouvJWetxP CaO7Sknkhiifef9+e9k1idGm1+NPAsN78UpuFXp7dGJQ5q/SvvTSwIlQmi9B+NZXjgaP0ukIlbr mngOUz18qvPETWGeJBt0XzKrAYSrj6NAqflD5PYdAwdUuaL6YJBBeNZLjjpoaoZaB2YIe9v8gaq BNOvnJSqrPd5ntpN4/Edc2qN4k= X-Received: by 2002:a5d:588d:0:b0:47d:f508:42a4 with SMTP id ffacd0b85a97d-47f2dcb5c6fmr22018675f8f.1.1784154264234; Wed, 15 Jul 2026 15:24:24 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:23 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 4/7] memory: renesas-rpc-if: Consolidate XSPI_CDTBUF0 updates in read path Date: Wed, 15 Jul 2026 23:24:14 +0100 Message-ID: <20260715222417.2997712-5-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Program the XSPI_CDTBUF0 fields used by the RPCIF_DATA_IN transfer path through a single regmap_update_bits() call. The existing code updates TRTYPE, DATASIZE, ADDSIZE and LATE using multiple read-modify-write operations on the same register, even though all field values are known before the transfer starts. Build the register mask and value first, then perform a single register update. This reduces register accesses and simplifies the transfer setup without changing functionality. Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index e406afc42616..c768e9c18556 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -697,30 +697,33 @@ static int xspi_manual_xfer_impl(struct rpcif_priv *x= spi) while (pos < xspi->xferlen) { u32 bytes_left =3D xspi->xferlen - pos; u32 nbytes, data[2], *p =3D data; - - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_TRTYPE, - ~(u32)XSPI_CDTBUF_TRTYPE); + u32 cdtbuf0_mask, cdtbuf0_val; =20 /* nbytes can be up to 8 bytes */ nbytes =3D bytes_left >=3D max ? max : bytes_left; =20 - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_DATASIZE(0xf), - XSPI_CDTBUF_DATASIZE(nbytes)); + /* clear TRTYPE */ + cdtbuf0_mask =3D XSPI_CDTBUF_TRTYPE; + cdtbuf0_val =3D 0; =20 - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_ADDSIZE(0x7), - XSPI_CDTBUF_ADDSIZE(xspi->addr_nbytes)); + /* program DATASIZE */ + cdtbuf0_mask |=3D XSPI_CDTBUF_DATASIZE(0xf); + cdtbuf0_val |=3D XSPI_CDTBUF_DATASIZE(nbytes); + + /* program ADDSIZE */ + cdtbuf0_mask |=3D XSPI_CDTBUF_ADDSIZE(0x7); + cdtbuf0_val |=3D XSPI_CDTBUF_ADDSIZE(xspi->addr_nbytes); + + /* program LATE */ + cdtbuf0_mask |=3D XSPI_CDTBUF_LATE(0x1f); + cdtbuf0_val |=3D XSPI_CDTBUF_LATE(xspi->dummy); + + regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, cdtbuf0_mask, cdtbuf0_va= l); =20 if (xspi->addr_nbytes) regmap_write(xspi->regmap, XSPI_CDABUF0, xspi->smadr + pos); =20 - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_LATE(0x1f), - XSPI_CDTBUF_LATE(xspi->dummy)); - regmap_update_bits(xspi->regmap, XSPI_CDCTL0, XSPI_CDCTL0_TRREQ, XSPI_CDCTL0_TRREQ); =20 --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 A459D3D5236 for ; Wed, 15 Jul 2026 22:24:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154270; cv=none; b=QpIiHR4Ioo/p83ON2yycFccvA/430EyyLG8yKE+aHBm/kFx5l5iOYMrwHn+HxI/jTwI4T0bBp2HD7C47P0qioxx9lr/g+zgpbt5T/Rn0H/4DplPbNWkIGO832e8YPR5X6DkwVB7uOe7dJtd5d4z/RzSCHqsL5GU7aZUu6Yz/738= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154270; c=relaxed/simple; bh=boNJ69izu4Po85DlR23ZFlw+FQnVPLgobCBMIw4FxB8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aqqsKyn4sLo6DisK7ctfbIdo6938ZI/YYUSAL8H/VLym3D28haDCHTr/iWSJPRjnuBByMMIfrkxxrQYM+uDdQFk7zYUHpMfPDTTYmFMxYBo31w8zQWxsHm1KsCnHBh7Orm2cWI+Ge1uIcSpDj3JZhjzlWtqfQRekLgRNLcsnvdU= 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=mQYpkkWq; arc=none smtp.client-ip=209.85.221.52 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="mQYpkkWq" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-472326ca506so4866322f8f.2 for ; Wed, 15 Jul 2026 15:24:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154265; x=1784759065; 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:content-type; bh=ayVRODy6318qyfpX2UfGYb1K/edgs5jcIKghZ58HX3c=; b=mQYpkkWq+AKlfhwMACdvwCwmpaQODcb3ZZ610rNTEs5ThGWeJlFnDHcXQHaKiKs9gG exqPAfVqNGnSJFZEVkbXJ6V70YtQitrqBC0oDxoorLLrVy9rI9bF9+CezqLzpA3lIJI3 DEB1c8jhIPR+UGWFd/0DrM+HcwTRn3iB1kx1JdYe1VLLs+mQt+QV6lSq9pTqBddhYiil R6fMz2ujbSSQHTU/vNZfcMpe9bUx3sqZTOIZAF3ebigc/KbnIbirL2WIuMWGQvxSYZUr D5/uAWL4vEi2jHUFBZRlLyGYBHNREDM7mvluTuuG85VoHLkbTlQEB8z4ZYnfxKw0VA0A XcoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154265; x=1784759065; 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:content-type; bh=ayVRODy6318qyfpX2UfGYb1K/edgs5jcIKghZ58HX3c=; b=dXfqM1utOsk6HNMn3DmQXI77KDbQJGVZkEqbLU+7G0V8WL/pmXIVg/acE8dxqFCM0M l+JsBAJteV7kkIM3P1wHmN/SbPGr+YoKN45YrMvUSWi/G7FnES5p4AnYUxNiBElq6Rxx abHJd6niTWyYJnpSwXpdRklLh3UcsVzo57GbmTQdkYqhmfuUVBqTfHUpfngGizzhN7j9 2feRT6M1WkCBpUx28/aSA3Dq/a/SD/Ih80toGmBBLp8bOtflc9YViD2bDKyFMxCO0IfI l/ec9d7DeMgnCkM+NFSGc/1A0MaHmlWDUplNkRGZZl4URwcffQED4yUF1pmtqpGi/cI2 zgzw== X-Forwarded-Encrypted: i=1; AHgh+Ro0orm81AqKaLb6JfboYBp6H0OujLTR6jTLy8357z5l00kW133n/k/r+bgRSJHKWQ/ZbpZMhXGOWEhR/KE=@vger.kernel.org X-Gm-Message-State: AOJu0YwFUe19FwboaX5wTxaIIR7IlfdqJpmFgTfeAZPpNMg32+dAL23n cmbeWVKiZ0naQYnUvLaWL99XAcDLbNKbug6gfJ/l/yJ2ZuQ8e6MKO43h X-Gm-Gg: AfdE7cnVbW3UwyECB5Q4zeSTsFymlbzL8evsp90rKw2MVurJD6OvAAtUDQAVKbu3lZa jnRtTIGxS7arWUB1nFp7kSzmqnrhMTtyNF4n8KfsWQr7l46ZWItJsfapF/QfcXajpTQfck485yF mA46JjJ9qcTrMWKFco2lF7I0VmnYny+ycUTPERb6lYrIhjH7M+MWC2wg2iJAzE3KaFOFF0DYjI6 a+bK1gX7gxCouBgcRr/00j6Sf4IQ9eU6oOe2IiaFk0FbdKmKfYlaTDesE5KuKdU5UREEU3BTn6j CuR4sPSI5Tq52d0uXYGfpqj5XtmeboQX7P0F0bR4pvjQheoJ5cP1laMj8o+26v58O3QKyi2XRHj qaDKAFSVjSMzvq1b1pZA9Xx4qoAWxKtdU/Nf5i1AddbBgUjZE4MhlplE31jCw97b/MZ0p5Xn+AW C/rFWM6SwDSiPKx7k3FELKwR8ed0NVfaeHD4KsdGgv1u684L9qRTKLQ+exYxsvSsAI5ETgGCt4z km5Y7HZZ06ZXGL5IJcdjw6Wj/c= X-Received: by 2002:a05:6000:d4b:b0:47f:45b1:128c with SMTP id ffacd0b85a97d-47f463b03c9mr9604047f8f.58.1784154264805; Wed, 15 Jul 2026 15:24:24 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:24 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 5/7] memory: renesas-rpc-if: Consolidate command setup register programming Date: Wed, 15 Jul 2026 23:24:15 +0100 Message-ID: <20260715222417.2997712-6-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Simplify the command setup sequence in xspi_manual_xfer_impl() by combining updates to XSPI_CDCTL0 and XSPI_CDTBUF0. Clear the TRNUM and TRREQ fields in XSPI_CDCTL0 with a single regmap_update_bits() call. Likewise, program the command, command size and address size fields in XSPI_CDTBUF0 with a single regmap_write(), eliminating the subsequent ADDSIZE update. The intermediate write of zero to XSPI_CDABUF0 is also redundant, as the register is immediately programmed with the transfer address. Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index c768e9c18556..d98991266887 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -636,18 +636,14 @@ static int xspi_manual_xfer_impl(struct rpcif_priv *x= spi) u32 pos =3D 0, max =3D 8; int ret =3D 0; =20 - regmap_update_bits(xspi->regmap, XSPI_CDCTL0, XSPI_CDCTL0_TRNUM(0x3), + /* Clear transaction number and request */ + regmap_update_bits(xspi->regmap, XSPI_CDCTL0, + XSPI_CDCTL0_TRNUM(0x3) | XSPI_CDCTL0_TRREQ, XSPI_CDCTL0_TRNUM(0)); =20 - regmap_update_bits(xspi->regmap, XSPI_CDCTL0, XSPI_CDCTL0_TRREQ, 0); - regmap_write(xspi->regmap, XSPI_CDTBUF0, - XSPI_CDTBUF_CMDSIZE(0x1) | XSPI_CDTBUF_CMD_FIELD(xspi->command)); - - regmap_write(xspi->regmap, XSPI_CDABUF0, 0); - - regmap_update_bits(xspi->regmap, XSPI_CDTBUF0, XSPI_CDTBUF_ADDSIZE(0x7), - XSPI_CDTBUF_ADDSIZE(xspi->addr_nbytes)); + XSPI_CDTBUF_CMDSIZE(0x1) | XSPI_CDTBUF_CMD_FIELD(xspi->command) | + XSPI_CDTBUF_ADDSIZE(xspi->addr_nbytes)); =20 regmap_write(xspi->regmap, XSPI_CDABUF0, xspi->smadr); =20 --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.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 E87A03D5222 for ; Wed, 15 Jul 2026 22:24:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154270; cv=none; b=VGpZCP+PgUSanhnYikICAUH7TF+BfNKTfH93bVJHf8lSZfI8cZ9T95pVzh93vsq+dfJd6B0bLJtIX/PT4rRabo6Rcxr9N2Q8gt1Ep25tOgZayVmT6lcSWgDCnuN7PGcuZ3GpvCzGvuzstZ/E5RECY1bTqt/luw9q7DBFmEEI9M4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154270; c=relaxed/simple; bh=jog5MXQybWdXqzVnDLuVVb/skFCi0MzNrRevHYB5vSY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uBFA6Gt6oosUdA6ZBNqduXUmlWKVpPXsz+eYHoef3nMfhiB6OnR9Cnfwdm8853m1NHNZ/gKhFsYvFO1FgkewpgwTR/TIVZd1uohBCb7HXBYwvb2A7f2znGy9LabMbx7ZZSl1cSV4YAmP3Gl41SSzxm7XEKo0beLtlqSUgsRybyE= 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=eo1AA0R4; arc=none smtp.client-ip=209.85.128.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="eo1AA0R4" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-493ba701891so21143435e9.3 for ; Wed, 15 Jul 2026 15:24:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154266; x=1784759066; 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:content-type; bh=Ta8FA5VKvlFsiauvuV52bLsb+4AF4pGxGi5+gcMb8JI=; b=eo1AA0R4DvmdisXvNnUT8KvodHyCO444NY1ufRbDbemKFdDc+XmTqCKCMEbmc1rHuQ zJ/xhi2x3nIF2ixAIpvY30Lemc3bu96E94aXu4GnhMHr3RH9R0k8vFvr3XcGlOq62wsW fWUBiB6ItSYrDG+prveLJdn1CysRobSLnrmWpZ8eiy80Dlfjn+ZxUrmpp0eZZUbzXYlo bWiuA2+VFBw/fVolXJiAUYyeyqviVs0QSWXfBIHhUs+9dyOayCyuoSMq/qDjynMzY6Da U5jMT7IwhJr6ci0ef6U1jNw/hp9L+zDcRWSa1CdWIupcR4IZI1KTBbh2art31dZzF+ll uIMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154266; x=1784759066; 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:content-type; bh=Ta8FA5VKvlFsiauvuV52bLsb+4AF4pGxGi5+gcMb8JI=; b=HTTEsNFcAdxlZF9X+Qrq9mZxDISRiqut+S2+s0/9TgtLVOByZ9ScbY7wgYYR8hRZ0I 6r/tOReLI9ouqYxfpFJO1r1iJNHnm3vLyAYQheAHrYsXHF8tVGtsVUEbWOVQYZH/0EzX 4zE/V3D+hvwpjlhO/l4e018X2Q20nT+hokjBk/5u50Nn38z9ur94GVjZ+Hg1SN7yxxu6 7ke/qKNf1RgCvR9bX/p5cU9FYssIziWdYtf/buUddS4fj4fOxcrt6AYS1CByhDPGUDAu QPQImbkJY4s78cB8ZHH7IwQPjCI1/iJXri1uzYSgW8vE3x5Q+JGKcMFtMxH6otrJ1BBl ShNA== X-Forwarded-Encrypted: i=1; AHgh+Rr2Ej0AOsRXTJH60d4pPdnf1Sxv99wvhGGeFX1M39nwE7swZyBu5sigplFVvMZrnCuTe9NieLzo+NNOHn4=@vger.kernel.org X-Gm-Message-State: AOJu0YzV8toQZvQu/NiBSUKNFdLt2JM7MLQQ1pXk741uNhbdCoXxbzcF SbcBbnhDQql8E0L/R98rX2WsjKVQIT/zb8M/rgmHRhaeNZpYwQU42BAp X-Gm-Gg: AfdE7cnXx8CoUCNWvsmMFv4Sl2RUxpFFLp29aTnsBLR20SyF7ldXxOeySgdEPAiMW1V SoiPchvw5sHTZuLA4jO0c95rNKr6bMj1zxEZRNGLz01fru+Mle9n33uDOEq78HMdHor3IVTpp9b EESp33R3i9KO2LAm1trurEv2aYBlYTpxuv7x7Q84T6+oQFzHLjZDBzkscLwpJ01or6trZCVxTex cKUye5KSRYZ9wwZxM9XwUoZXUPbKWtRLPcFGmMTaHA+hYCyMLDbh4wDfPm4Nov//+fUgXtQNSu9 ceGgGYwgFRHODb5AlnkCdiuBoqXk2HaOMzQpOhUxsYarEkE7143bIgMxlDPv/y2l4+OQmtVCoQc HZ938f9cX3VFivQ0D3bSgJ7a2+ZF6fN8hx5BBYhqQdp6zrEBTK2spztPdjppfL3M+0arI7l7jrX 9QqOOh/ML2MafIZwZLhjaQWNr+DR9Fhp7Vm2VHuGyLU4lgMdAuSUibWJGZInH3CGDUE/Tx7O3fj b+W7ro2jUxgG9z6 X-Received: by 2002:a05:600c:674a:b0:490:c6c2:52 with SMTP id 5b1f17b1804b1-493f87d8bf5mr199394305e9.3.1784154266138; Wed, 15 Jul 2026 15:24:26 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:25 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 6/7] spi: spi-rpc-if: Implement 200ms runtime PM autosuspend delay Date: Wed, 15 Jul 2026 23:24:16 +0100 Message-ID: <20260715222417.2997712-7-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Enable and configure the runtime PM autosuspend infrastructure during the controller probe sequence to safeguard chunked flash operations. The underlying hardware controller handles memory-mapped page programming by dividing data transfers into an automated sequence of consecutive 64-byte chunks. To prevent the power management framework from aggressively gating the interface between these individual chunk frames or during immediate out-of-band status checks, an explicit 200ms delay window is required. Configure this temporal cushion using pm_runtime_set_autosuspend_delay() and pm_runtime_use_autosuspend() at probe time, ensuring proper cleanup via pm_runtime_dont_use_autosuspend() in error and driver removal pathways. This guarantees interface continuity across the full lifecycle of a multi-chunk write operation. Signed-off-by: Lad Prabhakar Acked-by: Mark Brown --- drivers/spi/spi-rpc-if.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/spi/spi-rpc-if.c b/drivers/spi/spi-rpc-if.c index b63c7856e758..9a740342d0f7 100644 --- a/drivers/spi/spi-rpc-if.c +++ b/drivers/spi/spi-rpc-if.c @@ -161,6 +161,8 @@ static int rpcif_spi_probe(struct platform_device *pdev) =20 ctlr->dev.of_node =3D parent->of_node; =20 + pm_runtime_set_autosuspend_delay(rpc->dev, 200); + pm_runtime_use_autosuspend(rpc->dev); pm_runtime_enable(rpc->dev); =20 ctlr->num_chipselect =3D 1; @@ -183,6 +185,7 @@ static int rpcif_spi_probe(struct platform_device *pdev) return 0; =20 out_disable_rpm: + pm_runtime_dont_use_autosuspend(rpc->dev); pm_runtime_disable(rpc->dev); return error; } @@ -193,6 +196,7 @@ static void rpcif_spi_remove(struct platform_device *pd= ev) struct rpcif *rpc =3D spi_controller_get_devdata(ctlr); =20 spi_unregister_controller(ctlr); + pm_runtime_dont_use_autosuspend(rpc->dev); pm_runtime_disable(rpc->dev); } =20 --=20 2.54.0 From nobody Sat Jul 25 16:51:29 2026 Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (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 BFF413D5674 for ; Wed, 15 Jul 2026 22:24:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154272; cv=none; b=uvL4W8+cWDSjFkON9aZoZxOwDS8GwYjvEtbj8rDhesdktHr6giIKjW/6eoOkXxo3gpb66NCb4NXsafoRXTb7IBjVqFJPzSRnRWLZCsnL9vPspEMYpsZh4e8TI56tqvkEmD9k+HgbNH62HTqqKQnfXIWxcfCiC9+O9uFl910WEKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784154272; c=relaxed/simple; bh=GwvIfQQOrtYqb2e9SFlGdBcFEhVLyfBCXNbe2vV18SA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ml6FyJSns+vs8J+7sJLHaQmQ3u+rH2wRFlWVNjfEcykapitya2qLzoO0aYRScSrKFzBXG5lu4VOWEPwjDbRHLZS9t+bCNAARupBF1uz4E1Kyy1gsSmJQ00XiCXHe67O0CHDokSyt6ln2Nk38XOWLaWqx3FP+3eNbQXL0wZmmCx0= 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=Y2y4n89I; arc=none smtp.client-ip=209.85.221.42 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="Y2y4n89I" Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-476a130c138so2529394f8f.0 for ; Wed, 15 Jul 2026 15:24:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784154267; x=1784759067; 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:content-type; bh=UIFF0wVe3GbIM2L28J8/WMckrWts7TIeIoXTCBUHvQY=; b=Y2y4n89IKfNyrV8HuwlMG2VYaFma5biAdvdKkjY7GG6Do17u4oaPquxCwGdnoUbImf 8zmWXMHAwH34wq/4sNJ+pZ1zhLScp8/AiMB+p45jUZ7vWjqXM1+q1oQXzIvKnT15cRfh u+h8ECA6X4Ha4SkEAgYoTdYXmuEPIJNdEwmmDibTxuLwtWiMjfFl6sZYgBwDjP17rm/l sQiWhTwJ3YiR7lMl0fNzxxQM3tvhoxz/jP3s8DGTUMygzf86tpRj7erVB19ldXM4y2Ij WIz7gOPeoVCMRPuyjo0e/+xYfScR7JOEPDC8JR8haF2U1x5Z3FJQ7jHvZG3hhT9ZDYNw w4TA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784154267; x=1784759067; 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:content-type; bh=UIFF0wVe3GbIM2L28J8/WMckrWts7TIeIoXTCBUHvQY=; b=cFtD1/CupboP4EqbIZT0Lg01Af/tnrucayV5lLkYW3kQRL0VWtPWr4cWpLtDJ17x3g Vy+WiJ3enzrxpE3BMUxeajia3Tb4s4/w9KiuP8ei7fdblQsqMjaF46ZyCPJWXNHU+aSn 7BcAOx1MljOfa3GuonWLFxbucz/exH2JsYuX1gKmX9KEzYygJJtoJjQI0NI5FKcy+Epu vuMBhIMvgOqBrxJ/RGZpP62H0sC3fiz1ZPRF0WxOjdEgTxJojzQ68B5NRJQ5yuVK1z7l FGW9NSgxvVrQCubg8OZlKjTdDuImK2H+mEpJBo2A4nnJSsDdpKDAUl5Ei2QDu5fGcEhy RrBQ== X-Forwarded-Encrypted: i=1; AHgh+RpcEzHtoWKeWZlaoMtlfDAHNUV2kIy8/xWRDKsrvmsf/LasU8AQHV2uCevdqmulBnRv9T7P6jeaW6n4OJk=@vger.kernel.org X-Gm-Message-State: AOJu0Yx77GZm/reWi7ENlhcQ7JIS7axNuUcLp0UmyHrkG6O4ftwOvppm +eAl2kMhQRKAoDVwINjCmmGcK1prBmtRxDqqB8bJWBozu/cOKilIPhZO X-Gm-Gg: AfdE7clC5YFS32rpr+2aodYAwmOm12pDzmAnHrd9TcsYUUaPDSUV5xifdH7xeP2iFMg Y+tbDHp4E32Hsrz9IpulY6SOagio+QH01WRy+7rYZKDlkK6461PL5ifHlb5PloUV0iAZyvkmj0m nq/esGegTcVBKPjfNaZgWW/oo59KEpgrIR5gCJqhGUi6j4RvFCWM+vUr2TeyEcpkwUkWjRTm9+O BMrbpWMl8X31I88Bp088gPBkEtIIeHJ84IaPj5uvGscVgy5A1yLkqtpuSkyciRdv/ymXcCmLKpc x1zSDjYlQfnkxEmCEMWmcnTmEpDdYJar55VkzJz0ChHqqunWy8pntHc0DpLQpX5ODhx/yHqis9f P/jFOnNRtPQ/v1MFw3Ui21ks57nRQIE3v6Qf+PCdbpCzDp/MKoPgKkm0q0DQlTJ7vMhvJ1RCCq+ wWncITMH+K3UjjYeBPfXYnZ109T7pqPH3gtewnaUASHlTNvG6+TNs2cIrzaGiu4fCXJ7c3LpMeL bZH+ouwMWxnfYFZ X-Received: by 2002:a05:6000:4b01:b0:475:f100:35fa with SMTP id ffacd0b85a97d-47f2dd439ebmr22245618f8f.55.1784154266978; Wed, 15 Jul 2026 15:24:26 -0700 (PDT) Received: from iku.Home ([2a06:5906:61b:2d00:6d4f:b160:7aea:9d1b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4634e036sm22337783f8f.5.2026.07.15.15.24.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 15:24:26 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Krzysztof Kozlowski , Mark Brown , Geert Uytterhoeven Cc: linux-renesas-soc@vger.kernel.org, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH 7/7] memory: renesas-rpc-if: Use runtime PM autosuspend after transfers Date: Wed, 15 Jul 2026 23:24:17 +0100 Message-ID: <20260715222417.2997712-8-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260715222417.2997712-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20260715222417.2997712-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 Replace pm_runtime_put() with pm_runtime_put_autosuspend() after manual transfers and direct memory-mapped read/write operations. Flash page programming may be performed as a sequence of closely spaced transfer operations. Calling pm_runtime_put() after each operation allows the runtime PM core to suspend the controller between successive transfers, introducing unnecessary suspend/resume cycles and potentially interrupting multi-step transfer sequences. Use pm_runtime_put_autosuspend() instead so the controller remains active while transfers continue, allowing it to suspend only after an idle period. Signed-off-by: Lad Prabhakar --- drivers/memory/renesas-rpc-if.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/memory/renesas-rpc-if.c b/drivers/memory/renesas-rpc-i= f.c index d98991266887..ec901a5a99aa 100644 --- a/drivers/memory/renesas-rpc-if.c +++ b/drivers/memory/renesas-rpc-if.c @@ -776,7 +776,7 @@ int rpcif_manual_xfer(struct device *dev) =20 ret =3D rpc->info->impl->manual_xfer(rpc); =20 - pm_runtime_put(dev); + pm_runtime_put_autosuspend(dev); =20 return ret; } @@ -891,7 +891,7 @@ ssize_t rpcif_dirmap_read(struct device *dev, u64 offs,= size_t len, void *buf) =20 read =3D rpc->info->impl->dirmap_read(rpc, offs, len, buf); =20 - pm_runtime_put(dev); + pm_runtime_put_autosuspend(dev); =20 return read; } @@ -948,7 +948,7 @@ ssize_t xspi_dirmap_write(struct device *dev, u64 offs,= size_t len, const void * regmap_update_bits(xspi->regmap, XSPI_BMCTL1, XSPI_BMCTL1_MWRPUSH, XSPI_BMCTL1_MWRPUSH); =20 - pm_runtime_put(dev); + pm_runtime_put_autosuspend(dev); =20 return writebytes; } --=20 2.54.0