From nobody Tue Dec 2 00:48:01 2025 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 E7BBA272E42 for ; Mon, 24 Nov 2025 10:28:42 +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=1763980125; cv=none; b=VXLERt+QkybenbFKW/7rh2V6qmDtoPU4tLEQFeUQKtd/pcGfNxpmOUHFBeame+l9IPKUuXOp9yfHDkz5Ul5fe9Vu0eRYNSGqZtd96KZm+RdjTuQ3tol/Rounfl/8/TarHEwvdQFUmUgapPha2WnEo0Fz/sTtIdor1mXl9+6MEAA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980125; c=relaxed/simple; bh=Gv1p1qFtgqVq/hlWSzsyiuvBbNBS6q1HICEEW1Sy8N8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZaSlTecxhqpgyXTKGezu4QKy2FhUI7cEPSzcZ5q6drP9OZ8wQ1dx5vGFgwDSY9/iqF2KPN9td8jCiAtI0yysWj7qlqjyyE9n9L6u8Q0aUN7suUL6w7z6IOQ8F9dxOUP8RegtBGOoCZX/Dx0SvSxE3pqLHERMyoK+Elux2qxwe+k= 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=CD9x6lvU; 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="CD9x6lvU" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-47790b080e4so21463225e9.3 for ; Mon, 24 Nov 2025 02:28:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980121; x=1764584921; 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=v/lCM7b3NP2vHVQh7B6VQTEtsXsCikhEIHSatdbk53Y=; b=CD9x6lvUw8kaqIDKsdL2KzZKgmvzxjQ7UGqmqjh8/RxmR924iF+A1+bVxPd3KMsfyU 513uTCqCQuyH63UTx1rW914FRxMXmmZzL54AMFk6vy6NDk5zOvQw0DGniTn0xV+y6R4P acC+fAzv72vPEiEIXwyN/bR6ftHtShj4wiWpkSyURKuAgLw3voMbxMlHE3njlUE3FnMG dBxPBZIB+5Ax8iegaOoJXDMDNFA002deW/L8k1+Y2Xx7cPF+v+k6FVY1ERYt35oHZl3k gUj+JWxKMycGnLtxAO0ngCKK25/lvEd1qpUmFvjb68LOqHSq/wGIJA7mLqakwtd7Jlzx Upyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980121; x=1764584921; 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=v/lCM7b3NP2vHVQh7B6VQTEtsXsCikhEIHSatdbk53Y=; b=nw8zX+2cf3q5MKMGTtNFxoPS8cD9qXVr7qSzpIGSSF+l/3+EuNLY8N02pTVh0OM+B4 avVpPqWBSo+pjMd7WBtuahy4B0Gs3jvbuga9ZBuVZ+o+SjQ9VmqX3zCJn+UbHmm+fqs+ MRWIQMrGN9U7BH0UtU/8wphmeoMzce75gyE1CFKvFO9mIynNgEvXYoKBFFL5q6bXxea6 lV+1eITWMgaK3Tq2MzmWrmSuYSbuv5PWDCiXuVEK3+AtITfkaHksKj7LImtIr4RfoF9h 96gsq+K9vBf/L1xUSJ9fKAMu8oXDbiiUz0dIkhhgFfFUmxZ87wTTCE5hTKYTjyc71jFg Y3/w== X-Forwarded-Encrypted: i=1; AJvYcCU5pP4pdbljQn38udyXbMJp1mZVm1a4zwcom8/gYFC/uAlCdYumNTMh/ndgJTg/aNyBgZTvb53rCOhrH54=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/UQr1soMzAXT77wyKSAD6V2w4JSPMlDVTuBMT3bX5cbUwWGsa yJ8TRojJN0t+Z+JtzMVvXeuIQaotBQJkHb5aRlDjGwWbXO/NR9y6UBll X-Gm-Gg: ASbGncstlDv/INg2986I/0KLEbMIPiQ61NekkVzul7L7tKVFF4SAOO24yOCf4IrkcOs pa/VXdo5RoEnd9G4Z99G3UqsOooPrUwUW4H6nBLRI7GLUuWgfgxs3Cjs/wus8ui285N0VsMC/R1 KQqyLFZQ3bxAUFKUHPdh6pTnxxeTjCLQHSYw6hPlFxL0n2bPKIeHuqOYEupfXyJDH4KOMvk/1uJ Xx0LG2G97taVl5xJQRHWZjlAWMCURaX8f3R5MRcL/hBm/chdBoX+tqZ/Argx8BO87tSiKKGgujd Ol5LFMAFOs83GWiChWAJf+6x9W7PEEwD+P+oiReyTrZfd/soKG4Sl37BOghVMBRkU09AXgZrLXM Ysh41iSNrFyqNcPAh4cl3TTmtJH6Bbc3Bdl5S+gA+L8xQudMvPAgVKbwpjcmXQbOL2Q6IT0Hw+w Jz7GQe9QCwQg+xIvBTchd0YqHEenP5NLaqYvPh4YZuW9QyHEsOIrSBh/Rofkjm72evQmkFp7vPv lQe3YWJzw7+y7mw X-Google-Smtp-Source: AGHT+IE1Wu4cnnS2yubMRh/9JOsB11KmbzSedpxoYaakH7zmTVKVbY5LsdGtqPUlk4li0q4DKBmVVQ== X-Received: by 2002:a05:600c:3511:b0:476:d494:41d2 with SMTP id 5b1f17b1804b1-477c112f7b1mr104835185e9.29.1763980120947; Mon, 24 Nov 2025 02:28:40 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:40 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 1/7] can: rcar_canfd: Invert reset assert order Date: Mon, 24 Nov 2025 10:28:26 +0000 Message-ID: <20251124102837.106973-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven The two resets are asserted during cleanup in the same order as they were deasserted during probe. Invert the order to restore symmetry. Signed-off-by: Geert Uytterhoeven Reviewed-by: Vincent Mailhol Reviewed-by: Biju Das Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Collected tags. --- drivers/net/can/rcar/rcar_canfd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index 00c3462fc975..6098a3eebc43 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2213,8 +2213,8 @@ static int rcar_canfd_probe(struct platform_device *p= dev) fail_clk: clk_disable_unprepare(gpriv->clkp); fail_reset: - reset_control_assert(gpriv->rstc1); reset_control_assert(gpriv->rstc2); + reset_control_assert(gpriv->rstc1); fail_dev: return err; } @@ -2235,8 +2235,8 @@ static void rcar_canfd_remove(struct platform_device = *pdev) /* Enter global sleep mode */ rcar_canfd_set_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GSLPR); clk_disable_unprepare(gpriv->clkp); - reset_control_assert(gpriv->rstc1); reset_control_assert(gpriv->rstc2); + reset_control_assert(gpriv->rstc1); } =20 static int __maybe_unused rcar_canfd_suspend(struct device *dev) --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 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 B1C21270ED9 for ; Mon, 24 Nov 2025 10:28:43 +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=1763980126; cv=none; b=YF9o0WH5hp6Z6uQrnHMi3idRuQBf5dRk0kt64vAnPEG8al8+7hYgcfzpWvygYg6NeHrdAVkGpXMIH9m+cu28dwaqUuwK/7nO5K3shM1+25STSwJqoxu7FsyikVL/ZDXL9MnZfx3NUwoN7XWIwDAqJYVHG0FlrEq28h1e/erA7a8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980126; c=relaxed/simple; bh=3+nnF588T378GBA+9QQgUACjWK+jYS7zewBllPyBRO8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DDRvOcyvHwc9xoSLcxJw/II3OUIMpmpiCdNBClmLiMHssijPUswgP0yU9pfyZphoatjSkWiE//1eISXTWDqn+CIVXA4L/6fiqPSL/BG+OkK6BvsOds+YHW+B5WS3jxI0GgPuaNBByrHvLfyRUkQda2YI7e1X6qVSV2qlOmTHPAg= 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=EC+gxzE7; 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="EC+gxzE7" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-477ba2c1ca2so42573095e9.2 for ; Mon, 24 Nov 2025 02:28:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980122; x=1764584922; 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=E5oBZG16/wN6GG9AM2JpUrMbboYKvUgGXIP4x48mO+I=; b=EC+gxzE7haF0S9RkQtrNX6HqYjPMR1G02Ts1FT7iyQ+S/mwxsk+ZCAYouuoWDmCgzA csP2hDwyZ0G5ri1+9MRJYnNYC56SSGbZObvP6iSO2KZrY2sP+6GcyIT0uwd1omY1RvHw y2C4aHx+AK+k8hKR6oyDO4lPVmCqqfTQfreWndATg3gbzmZjOlzvf9RxyTkJ7QHVUtgS CaRjDUqesHlIKWC4EHPUlLrsDavSpw9uPUkhnC/kHO0T4sknFQR9mGRjAQGdNnnzF6VM gR53s3PWM7R4fnScWOkKDZKN+n3t2BDLMEkpdz9C5s5n8PfSA+a5C+rrjyDVWPCp70aK nOmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980122; x=1764584922; 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=E5oBZG16/wN6GG9AM2JpUrMbboYKvUgGXIP4x48mO+I=; b=pRHSbH4VBZaSb1XNYth/eussKiz/5oYvYEA1o4VJhHS0lqqjHyAHV7wJrnx5Nt9Qzm TUn5Qksk96fdzaujxuXxHQBlOEhHDyoVDqAkSZapTgrtikBNPw28TX+PQxXV1ICyhePs xTQ8cALC9O7RcCkZB+9rK1KwTPZpiwTRi51ss0V0R8aT8i6QtDAh2bcocq+nDbYHPFgu 57S0YHkGDhg5PhtuihhmRsZIeKQWn+qDcIr1Y/2zMOwjlFMENOno9nFI1EdsxTi+U+0o pc6bE9909Z1Sj49h+dtWpUgqpduMuzNweQobp7AoN0wiVJJ2r6UvpykP8bxycEVFOIki MAwA== X-Forwarded-Encrypted: i=1; AJvYcCVBCkqRaTWsV6woTiaa9GSbOK4LYBb1ba+cv5FbWVGiBlZWL5rgCowvPPTh4G7/MPPwbwpBJ2PbyyqzqyM=@vger.kernel.org X-Gm-Message-State: AOJu0YxoscN2OW3SSPPhvKA+sPrzAcG+gTKr+2O/5ErWqwgb5iZG1BiE ad8YrL0NEUs6+NgmfsKz2KUmmNCQirbx9ly6CejQ+KfuBnO0vH29ux64 X-Gm-Gg: ASbGncsOEVcT8/Ty6T166FUNADen2ZfZwqZEQokD09kpBa1avFaYZkP7ykqJMq8Mh5P kWAfIlTKfDv4ZmuVS3PwJIt1zZeE6W80yzCVTSIlkGDJjv5MEan+cFAuFNqGumWho+hFlyPF7Wd +gQHI1396OO60EIBwlS2l4U293Y9iMboFZxJUWzQ6AIKgFY4nHdxqiwjrfPMcH2He/vaMI/e0vn G3dmGgCAaNbW4HBz/P7LYclJIdyJtLAcjLKIlwF8OQVsbcMcGhok2yA+GGGyZaaewx3wmRxRoqq bM9Kkn5xEczVPpsZ+yKIN9Q7K3I7nSiJSZDNDY04p+/E9y4KZn+/uA3qYdIU5XuZ13Mo9Egkhna Dj082zEozGNzZVVX3koIgppctq1JmFfGDu7bzEzyNnZbJYX3qWg8PWn5jd7oE04aPOPxudryO2Q wWcd8iimj6XmtBtr+AE5s9533LHNkL5+LBEb0WYwV1UJfjJfGFWu25ttLCLjCq9oeH9xgl2nRID IZH7Yjb0RGUZn/t X-Google-Smtp-Source: AGHT+IGo1CVZwZ/FAWJme7Zy+9NRmnO4ycz8303KaODH2VEd772twsOxKeh/e9ysRmPRF1JNLoWrmg== X-Received: by 2002:a05:600c:1381:b0:477:7a95:b971 with SMTP id 5b1f17b1804b1-477c01f55damr116622105e9.31.1763980121578; Mon, 24 Nov 2025 02:28:41 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:41 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 2/7] can: rcar_canfd: Invert global vs. channel teardown Date: Mon, 24 Nov 2025 10:28:27 +0000 Message-ID: <20251124102837.106973-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven Global state is initialized and torn down before per-channel state. Invert the order to restore symmetry. Signed-off-by: Geert Uytterhoeven Reviewed-by: Vincent Mailhol Reviewed-by: Biju Das Signed-off-by: Biju Das --- v2->v3: * No Change. v1->v2: * Collected tags. --- drivers/net/can/rcar/rcar_canfd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index 6098a3eebc43..c03e8dff6a20 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2224,14 +2224,14 @@ static void rcar_canfd_remove(struct platform_devic= e *pdev) struct rcar_canfd_global *gpriv =3D platform_get_drvdata(pdev); u32 ch; =20 - rcar_canfd_reset_controller(gpriv); - rcar_canfd_disable_global_interrupts(gpriv); - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { rcar_canfd_disable_channel_interrupts(gpriv->ch[ch]); rcar_canfd_channel_remove(gpriv, ch); } =20 + rcar_canfd_disable_global_interrupts(gpriv); + rcar_canfd_reset_controller(gpriv); + /* Enter global sleep mode */ rcar_canfd_set_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GSLPR); clk_disable_unprepare(gpriv->clkp); --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.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 3EB482F3609 for ; Mon, 24 Nov 2025 10:28:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980126; cv=none; b=dRho/9g3lfoWhtzVtxgiQ/hE62mBiLwSSpN5pSAt10AnhxThzKrNiyOFPX3A+ZdrGI//IeiHIgx5U5XNU7B9xPKAxZYmefF0EoR47n3G/64AMIoDUnGyx3ETXRLtlCFuh4GQXRc2nBrcoOmMBPEjmgApGINuCXk8/D9tdlSDPMs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980126; c=relaxed/simple; bh=E/A8VrtH51z0lvb8lkMZcyZT4EdZZmFfF1gv521yMRM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e5TFFb3IBcNQ6dKTuKJefSn+C9S1NXd6CsU64WK7MAs6wtqF4LYc9OThVhA0guhj4VCns7IjNv6Z4dpsW7yg4VQDK9K7eRcNfpccZLsWLVaRz5qn0tINIucMvXzpFnxgiPUzPHeKZmUPIBrz85vDH/pYHllrGHNJ8/vrlIYZj0g= 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=YvXfwvqj; arc=none smtp.client-ip=209.85.128.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="YvXfwvqj" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-477a219db05so24460835e9.2 for ; Mon, 24 Nov 2025 02:28:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980122; x=1764584922; 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=P3EGBpm7Z4624Ma2B0L7glleYByz0KLJbb7xFZAvoyY=; b=YvXfwvqjP/+/OCgDTLh4SvzDBHzl0JW86ZFdJ14cOcLyYl+EBZmzJSh1mr3GnLWkDK T0DSRIMESVYClMy+On5LN+3ifBuyGQQN9dIFBtaHhuU5WBoPThxQrSIAzBwJ7cBIM44G f7fJSTpoGAqlDXhYy0PxYY/XHScpatkOC4iSS2InGi4XOFQFuyPatABWMIrwV9pHTF0d dmFQhN45+tHFX/4pn5v2CxC1RY60ai2E2nOwJ96eUpCUmPKanlMMc3SY43zb5FTdDHQm z1IHjUQMIKikgMFR0JtU+r+qrWYPVfycNDYB2LUArzXg2EI4VaQrG33YZZhxkGFpDtYr 35dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980122; x=1764584922; 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=P3EGBpm7Z4624Ma2B0L7glleYByz0KLJbb7xFZAvoyY=; b=NYLgpnqMUIobVrnuk9caCTwF1hvbhow+Pqvef+mlwqPjMCowXmJ5H7JpMe5wvxEwLi KGWOe8Yc17lECdvhAXMdfV4HYbtrKJR+kw3UJfzBcx3s/KRMS8u3okaElOqQUGAs++Qd vw01Aov1BxMHrbarOe3swOX5vMrN8Se1zqxUDwr+v6NRfOsN0H6LvDzfbGMCIwojBjtS 2nl2oPmNg7/jGXvILdYUov4ez6R2ovqk1IlY3G7DiuvJnLuBQ4GxWLGPFwcwtvqD6OdZ ABNNMnjav0CMJviwZrWcGsTfgKzpO4zTU3PnTseMapcuaDXIFeQQjhTp+9cD9Gs8lDoD yXAw== X-Forwarded-Encrypted: i=1; AJvYcCXhZmWRMIejomwhgUoxa7w+v7SACdkjCPtz5WQxngxuOxozSDxWHwR4Q2VyeMLR6kE1pMtk0oMgK4Hf7pM=@vger.kernel.org X-Gm-Message-State: AOJu0YxYPeUV44a+88H4EbXnYJx1SRjY/m11ztlZPOFeiN2R4GtqTMqm zZ1NjKuiwcvZVvie5MZp51G6E42ZI8jcqVLBKzmn2wye5b9iFtXr3z6p X-Gm-Gg: ASbGncuocWFrI5sgY2WJ9+Bl/0pNFrqTK3Er52/VCQEKOoa9AEIgHZJD+FuqfYQ/UDD kIQTGQZLZoK4dPoxAqg8wp2fhmKc0FodidmtcZC1TmmfYd9NC2RIZLgXNM6+wid54vL0NvG2+dF 5AheU9Li7PBofduuBBKGQdqRTKAetN75dE1mA6WoR12bn93Mz3uNPzAbkP832FjMFf7QGBFeQ7D JN9IrmNRL4Mqrag4vfajHizYyN0eGGI2f/Fm+0+pxBVNYL4Cvr06FJY8ojNbbgi0dUZWptnpy7V sCgvl5py7ESKIs3DlO+REQ6/kaUDMOf3b0a5Iu0E5HHWE1IcBvQmgYkoR2AAH1iTNn0pGSwLqL5 T/D95F3ZomFZdYdhKlxsgBoEdVhRzWx7Rlf8/+frCbNQQUzJRxXQv1XS2UGm/m1vjG6cqlvICVM CxED0aZN9hL0mSZ5c1KAR5eyLHKEwA/YCr0OS1Q+3JTzmJmOzV8R+QkDCOEfub91uN7iBTfYnre HNtNlRQuwWo6R1ASrSrHCzFKTA= X-Google-Smtp-Source: AGHT+IFpGKBj0WQRrF358OhLtccWrXcXV0btkWFGpcKOuCTzthrxs/C2CByHNJsGuuLvUcAyiaXsyQ== X-Received: by 2002:a05:600c:310f:b0:475:de14:db1e with SMTP id 5b1f17b1804b1-477c1125568mr131901425e9.24.1763980122229; Mon, 24 Nov 2025 02:28:42 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:41 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 3/7] can: rcar_canfd: Use devm_clk_get_optional() for RAM clk Date: Mon, 24 Nov 2025 10:28:28 +0000 Message-ID: <20251124102837.106973-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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 devm_clk_get_optional_enabled()->devm_clk_get_optional() as the RAM clk needs to be enabled in resume for proper operation in STR mode for RZ/G3E SoC. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v2->v3: * Collected tag * Updated commit header and description. v2: * New patch. --- drivers/net/can/rcar/rcar_canfd.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index c03e8dff6a20..a127c0845a3b 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -468,6 +468,7 @@ struct rcar_canfd_global { struct platform_device *pdev; /* Respective platform device */ struct clk *clkp; /* Peripheral clock */ struct clk *can_clk; /* fCAN clock */ + struct clk *clk_ram; /* Clock RAM */ unsigned long channels_mask; /* Enabled channels mask */ bool extclk; /* CANFD or Ext clock */ bool fdmode; /* CAN FD or Classical CAN only mode */ @@ -1993,7 +1994,6 @@ static int rcar_canfd_probe(struct platform_device *p= dev) u32 rule_entry =3D 0; bool fdmode =3D true; /* CAN FD only mode - default */ char name[9] =3D "channelX"; - struct clk *clk_ram; int i; =20 info =3D of_device_get_match_data(dev); @@ -2086,10 +2086,10 @@ static int rcar_canfd_probe(struct platform_device = *pdev) gpriv->extclk =3D gpriv->info->external_clk; } =20 - clk_ram =3D devm_clk_get_optional_enabled(dev, "ram_clk"); - if (IS_ERR(clk_ram)) - return dev_err_probe(dev, PTR_ERR(clk_ram), - "cannot get enabled ram clock\n"); + gpriv->clk_ram =3D devm_clk_get_optional(dev, "ram_clk"); + if (IS_ERR(gpriv->clk_ram)) + return dev_err_probe(dev, PTR_ERR(gpriv->clk_ram), + "cannot get ram clock\n"); =20 addr =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(addr)) { @@ -2155,10 +2155,18 @@ static int rcar_canfd_probe(struct platform_device = *pdev) goto fail_reset; } =20 + /* Enable RAM clock */ + err =3D clk_prepare_enable(gpriv->clk_ram); + if (err) { + dev_err(dev, "failed to enable RAM clock: %pe\n", + ERR_PTR(err)); + goto fail_clk; + } + err =3D rcar_canfd_reset_controller(gpriv); if (err) { dev_err(dev, "reset controller failed: %pe\n", ERR_PTR(err)); - goto fail_clk; + goto fail_ram_clk; } =20 /* Controller in Global reset & Channel reset mode */ @@ -2210,6 +2218,8 @@ static int rcar_canfd_probe(struct platform_device *p= dev) rcar_canfd_channel_remove(gpriv, ch); fail_mode: rcar_canfd_disable_global_interrupts(gpriv); +fail_ram_clk: + clk_disable_unprepare(gpriv->clk_ram); fail_clk: clk_disable_unprepare(gpriv->clkp); fail_reset: @@ -2234,6 +2244,7 @@ static void rcar_canfd_remove(struct platform_device = *pdev) =20 /* Enter global sleep mode */ rcar_canfd_set_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GSLPR); + clk_disable_unprepare(gpriv->clk_ram); clk_disable_unprepare(gpriv->clkp); reset_control_assert(gpriv->rstc2); reset_control_assert(gpriv->rstc1); --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.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 B8682271A71 for ; Mon, 24 Nov 2025 10:28:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980127; cv=none; b=LH/qjLv5O6E+WLXggQYCjJCO8VodpJCfETqiQ24xcvxKHvaqLQX0Au9bVPy79jNheimzOw7lvPDcpltaU+ZOeyM8++Klyq91Qhm9Ma4XiLoye5kySVv7KMNID/BifUTdctIZMC6z0SN1A14/0iGI7mm29AOO5lCSOrRRgfDk9ic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980127; c=relaxed/simple; bh=3FFcIwwYriug7ZUsRvZtpA4ornGPAgBeIh1+Dyy5yUw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sk/+j0RgkqnUVq5DYcbu5XKpenSOzB92A4kjztc/XXpUDxr+YGBYCTLBqf1VHoXznxYU0ape4F++o7zkU9M6z2L5ybXbAn9tB/a7P5flsOPlksnru4xeY8Z9m2koS7jIt/k0JX9UUmrGCkvbgDQqAKFnay1uIwAdTmpKM5mZjIc= 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=FdR8QoPj; arc=none smtp.client-ip=209.85.128.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="FdR8QoPj" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-477a219dbcaso37521745e9.3 for ; Mon, 24 Nov 2025 02:28:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980123; x=1764584923; 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=EUOYA1b8SBq1b21L2dmKM9K+y2a8C28CD3QZDMvwcSM=; b=FdR8QoPjnWsBziYInWu8ee7D0IWxicMySjRMXx1fqEe41/gLbzqWB3Qa7vhrK4TFm4 ubA4JTwi0vu+9iV8veUmoJrb+/xUviNkdwYSC8wDmCCDLjIXq5rKT+PK63pRoHH1I3H1 8jp9b3dkUxUV5jYiJPH72RCQYYGMai0V9ttyFySFanIdGmdpvmOmSVaGN6kpiweVFlWq RWQEGrjwxld0gUByduOuQ/b5oWxfwUyPbuDhyuPe+iBvoSc38B4pSlze5ao8UAT/TM1x YQh7kPsO16fPr7psINbQZYFNZauTya0OPr+uP6m1ND6Ao2kpmCX6jBFuE5uS51n5ApCK qSDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980123; x=1764584923; 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=EUOYA1b8SBq1b21L2dmKM9K+y2a8C28CD3QZDMvwcSM=; b=wRQ7eeHILGyTwXPVKY/fLRTOmZXVEpbbcRcc2H9YGp9ATwulg9V6M6aD2zYuah0Lnm qVdRph4IlFNLcz5uebtKLsQIpfaQqiV+FRywAX3+LHbZ+PpLa4KP0AruusueUiaXuFEi yaOotqXpiN0YVk+m2VdFtXdAQEKo024vudHThraq8W6xi9TNGqs1Hwx//zh+ae3eUgnp MTfsv5orhAclSz05QsMYk3axfK5vb+9k6oji+jyf5Pk9ROZz/aHwneJ30jBJABD9n4iX DT/JBtf47MevqPhxcw5OtnOnS/8z6odebb7MwSaZdbOHuNzxVCvHh716wR/5+2Lii1Ec 7C+Q== X-Forwarded-Encrypted: i=1; AJvYcCUZB9959OEI4QYGA6qAHzpvIpJt1+ZI3C51DysP7rUg3LnZ1DJ7oLagV6uuEqGf8MWkpR7UqLqPtEPBTJ8=@vger.kernel.org X-Gm-Message-State: AOJu0YxPK88HGokjFifQ8gSWAPTKFi/ez285LnbTR486egw/MrOhgnod kY1k8rMIyBn8kuF1U/i7xujyGZhC0OxIdioXNeXtY/wTPvsuurL2R8A1 X-Gm-Gg: ASbGncv64jEd5B6By4SGfBDQ+fciowZtotfqN6kRQP2zjhJZn0o/AMkS9kiZA7Iinr0 D00GhkVkYbE1xP5N5NHFG6PIO6sZ1D7BJdlfOg80BYDEFjh/Ul418/BgxDaNVjYHM7DxjEMfHG3 ChgvLwK5bu7/5o9U0gRXZsKNLBjwPn0KBglbRiz7fYgZTaikqf0NsTsW1Mwbc6Fa7sUaw3rVK/l NCX2VQrpPX8GwyOF1eVcV1RPY/5USqanprhBwxU1tA63RTd/0ojZezL5Ew/gSTlXuLXjR7ue9af s2FB0bJy295+PtkI649yjfRLg3+gyzTJQGhd41SA5DEEYa9Gq147prxjbOly3zPA5sYPeTyJQ2H ZsFAPTF7n8P2MZTDUZ35PQ7zoiAZKsBCkObwVXlacq5fMUDyH69BHJzTWeO/YRpfjdrddfvK9/N HNMKq3jZbLyreMUWmqLW69tzTlbQB166Cu1YQ6ZYSrnwePF25LTiJ3TOI7yLOMktoX+vKGCS152 5A9Clu/e1AjZt73 X-Google-Smtp-Source: AGHT+IF49raXKkvoRvdoYDn+lqsPH/MJp/pljnNNLgOj0o6RHZ+kJVvyExqQjzPP8kcLilcNbvI/6A== X-Received: by 2002:a05:600c:470d:b0:471:1717:411 with SMTP id 5b1f17b1804b1-477c01edab1mr145394135e9.24.1763980122842; Mon, 24 Nov 2025 02:28:42 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:42 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 4/7] can: rcar_canfd: Extract rcar_canfd_global_{,de}init() Date: Mon, 24 Nov 2025 10:28:29 +0000 Message-ID: <20251124102837.106973-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven Extract the code to (de)initialize global state into separate functions, for future reuse. Signed-off-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Added RAM clk handling in rcar_canfd_global_{,de}init(). --- drivers/net/can/rcar/rcar_canfd.c | 182 +++++++++++++++++------------- 1 file changed, 104 insertions(+), 78 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index a127c0845a3b..d77d28d0ca6b 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -1979,21 +1979,120 @@ static void rcar_canfd_channel_remove(struct rcar_= canfd_global *gpriv, u32 ch) } } =20 +static int rcar_canfd_global_init(struct rcar_canfd_global *gpriv) +{ + struct device *dev =3D &gpriv->pdev->dev; + u32 rule_entry =3D 0; + u32 ch, sts; + int err; + + err =3D reset_control_reset(gpriv->rstc1); + if (err) + return err; + + err =3D reset_control_reset(gpriv->rstc2); + if (err) + goto fail_reset1; + + /* Enable peripheral clock for register access */ + err =3D clk_prepare_enable(gpriv->clkp); + if (err) { + dev_err(dev, "failed to enable peripheral clock: %pe\n", + ERR_PTR(err)); + goto fail_reset2; + } + + /* Enable RAM clock */ + err =3D clk_prepare_enable(gpriv->clk_ram); + if (err) { + dev_err(dev, + "failed to enable RAM clock, error %d\n", err); + goto fail_clk; + } + + err =3D rcar_canfd_reset_controller(gpriv); + if (err) { + dev_err(dev, "reset controller failed: %pe\n", ERR_PTR(err)); + goto fail_ram_clk; + } + + /* Controller in Global reset & Channel reset mode */ + rcar_canfd_configure_controller(gpriv); + + /* Configure per channel attributes */ + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + /* Configure Channel's Rx fifo */ + rcar_canfd_configure_rx(gpriv, ch); + + /* Configure Channel's Tx (Common) fifo */ + rcar_canfd_configure_tx(gpriv, ch); + + /* Configure receive rules */ + rcar_canfd_configure_afl_rules(gpriv, ch, rule_entry); + rule_entry +=3D RCANFD_CHANNEL_NUMRULES; + } + + /* Configure common interrupts */ + rcar_canfd_enable_global_interrupts(gpriv); + + /* Start Global operation mode */ + rcar_canfd_update_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GMDC_MASK, + RCANFD_GCTR_GMDC_GOPM); + + /* Verify mode change */ + err =3D readl_poll_timeout((gpriv->base + RCANFD_GSTS), sts, + !(sts & RCANFD_GSTS_GNOPM), 2, 500000); + if (err) { + dev_err(dev, "global operational mode failed\n"); + goto fail_mode; + } + + return 0; + +fail_mode: + rcar_canfd_disable_global_interrupts(gpriv); +fail_ram_clk: + clk_disable_unprepare(gpriv->clk_ram); +fail_clk: + clk_disable_unprepare(gpriv->clkp); +fail_reset2: + reset_control_assert(gpriv->rstc2); +fail_reset1: + reset_control_assert(gpriv->rstc1); + return err; +} + +static void rcar_canfd_global_deinit(struct rcar_canfd_global *gpriv, bool= full) +{ + rcar_canfd_disable_global_interrupts(gpriv); + + if (full) { + rcar_canfd_reset_controller(gpriv); + + /* Enter global sleep mode */ + rcar_canfd_set_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GSLPR); + } + + clk_disable_unprepare(gpriv->clk_ram); + clk_disable_unprepare(gpriv->clkp); + reset_control_assert(gpriv->rstc2); + reset_control_assert(gpriv->rstc1); +} + static int rcar_canfd_probe(struct platform_device *pdev) { struct phy *transceivers[RCANFD_NUM_CHANNELS] =3D { NULL, }; const struct rcar_canfd_hw_info *info; struct device *dev =3D &pdev->dev; void __iomem *addr; - u32 sts, ch, fcan_freq; struct rcar_canfd_global *gpriv; struct device_node *of_child; unsigned long channels_mask =3D 0; int err, ch_irq, g_irq; int g_err_irq, g_recc_irq; - u32 rule_entry =3D 0; bool fdmode =3D true; /* CAN FD only mode - default */ char name[9] =3D "channelX"; + u32 ch, fcan_freq; int i; =20 info =3D of_device_get_match_data(dev); @@ -2138,67 +2237,9 @@ static int rcar_canfd_probe(struct platform_device *= pdev) } } =20 - err =3D reset_control_reset(gpriv->rstc1); + err =3D rcar_canfd_global_init(gpriv); if (err) - goto fail_dev; - err =3D reset_control_reset(gpriv->rstc2); - if (err) { - reset_control_assert(gpriv->rstc1); - goto fail_dev; - } - - /* Enable peripheral clock for register access */ - err =3D clk_prepare_enable(gpriv->clkp); - if (err) { - dev_err(dev, "failed to enable peripheral clock: %pe\n", - ERR_PTR(err)); - goto fail_reset; - } - - /* Enable RAM clock */ - err =3D clk_prepare_enable(gpriv->clk_ram); - if (err) { - dev_err(dev, "failed to enable RAM clock: %pe\n", - ERR_PTR(err)); - goto fail_clk; - } - - err =3D rcar_canfd_reset_controller(gpriv); - if (err) { - dev_err(dev, "reset controller failed: %pe\n", ERR_PTR(err)); - goto fail_ram_clk; - } - - /* Controller in Global reset & Channel reset mode */ - rcar_canfd_configure_controller(gpriv); - - /* Configure per channel attributes */ - for_each_set_bit(ch, &gpriv->channels_mask, info->max_channels) { - /* Configure Channel's Rx fifo */ - rcar_canfd_configure_rx(gpriv, ch); - - /* Configure Channel's Tx (Common) fifo */ - rcar_canfd_configure_tx(gpriv, ch); - - /* Configure receive rules */ - rcar_canfd_configure_afl_rules(gpriv, ch, rule_entry); - rule_entry +=3D RCANFD_CHANNEL_NUMRULES; - } - - /* Configure common interrupts */ - rcar_canfd_enable_global_interrupts(gpriv); - - /* Start Global operation mode */ - rcar_canfd_update_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GMDC_MASK, - RCANFD_GCTR_GMDC_GOPM); - - /* Verify mode change */ - err =3D readl_poll_timeout((gpriv->base + RCANFD_GSTS), sts, - !(sts & RCANFD_GSTS_GNOPM), 2, 500000); - if (err) { - dev_err(dev, "global operational mode failed\n"); goto fail_mode; - } =20 for_each_set_bit(ch, &gpriv->channels_mask, info->max_channels) { err =3D rcar_canfd_channel_probe(gpriv, ch, fcan_freq, @@ -2217,14 +2258,7 @@ static int rcar_canfd_probe(struct platform_device *= pdev) for_each_set_bit(ch, &gpriv->channels_mask, info->max_channels) rcar_canfd_channel_remove(gpriv, ch); fail_mode: - rcar_canfd_disable_global_interrupts(gpriv); -fail_ram_clk: - clk_disable_unprepare(gpriv->clk_ram); -fail_clk: - clk_disable_unprepare(gpriv->clkp); -fail_reset: - reset_control_assert(gpriv->rstc2); - reset_control_assert(gpriv->rstc1); + rcar_canfd_global_deinit(gpriv, false); fail_dev: return err; } @@ -2239,15 +2273,7 @@ static void rcar_canfd_remove(struct platform_device= *pdev) rcar_canfd_channel_remove(gpriv, ch); } =20 - rcar_canfd_disable_global_interrupts(gpriv); - rcar_canfd_reset_controller(gpriv); - - /* Enter global sleep mode */ - rcar_canfd_set_bit(gpriv->base, RCANFD_GCTR, RCANFD_GCTR_GSLPR); - clk_disable_unprepare(gpriv->clk_ram); - clk_disable_unprepare(gpriv->clkp); - reset_control_assert(gpriv->rstc2); - reset_control_assert(gpriv->rstc1); + rcar_canfd_global_deinit(gpriv, true); } =20 static int __maybe_unused rcar_canfd_suspend(struct device *dev) --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.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 9F1F62F9C3D for ; Mon, 24 Nov 2025 10:28:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980129; cv=none; b=D46F6sIKvq4ccvHjdcoz2rULZ/jD6SUbYGy7IdS3Yr/r+42NY+65VSl4TqFXez7Nksqu/IKzSYbvoBTH+AZckK+92A9G2bNK5rQIAjnuWf6+2kUfCooDJDBdX0yjIDqqUPKaMQMo/KMHt2mmfKsP3advBN80v/zJdBW0oenMr4g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980129; c=relaxed/simple; bh=25AN4XiGc6CZ1SMIZ0IBj9ec9hPtrhDC/hZ+f8Nm1lw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LX7oAHfhrqU2FeRcv95RiOwxVmot7+9jr/jLxzsik92D82exSX8hthSizkI8njVLMFvQB6ZCO9cxZGpAn/Z4YBcgeQ3K1LK8SRtXN5vBTYxLC9bpZjH4imZ0qOtEil7DNnm19uL72hXlPrEi5P5y1ZNEJFoYGqqlMsyDnaeUKnQ= 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=nYAPVDiS; arc=none smtp.client-ip=209.85.128.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="nYAPVDiS" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-47755de027eso21513305e9.0 for ; Mon, 24 Nov 2025 02:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980123; x=1764584923; 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=5VPGo5U/iXGFhSlRJsPXDRX32fruUCYMsM5nvll/4Kw=; b=nYAPVDiSTAIK+quKuIvU/mHI4U3/TKAogrZ3Upc+SzJSgIrHZNg5s1Q42FA/tovaDQ bQvpzZeszYW/Qrky3+43PaMtBaW/TfTAezz5DtsuYTTP/s4ajrnhbVr4EAFcgCc4OTFN lanpazHKpRh+8+5zj1Vl4it2GnsAj0OARnyFBdDpteWMLkXIKkWvegZTpd68wbg/A6vI DAg8DDjzJXaoafwxPbRBxUD5ttBNN0s9xIcl+V+dzQjX4LiEcE6RTyOGmIduytqXF1/S zhNaNrGSYifFAyGKDceCR1HvtVRNDc94g9KCelyeAvNcd0MybM8UhTl86ylYHbvPOZrB Aoyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980123; x=1764584923; 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=5VPGo5U/iXGFhSlRJsPXDRX32fruUCYMsM5nvll/4Kw=; b=PZ8A96620I8SnrMeduTyTI4FGmXg43Ev7cK4rTAVFnIcEWzTSerXgNVtF91ondQG/j QRAlGIQWFaHAKqc5+1l3euw0jlRPaOlFRzBhRS6wxQJuStoQ4x1RlQAt7JzOlUq5jMgX QUQ4wav/IOuT965c56zWjz6FnnZiXmwhtER/NPJPmcNJh8r4foKQ7zjH5XhsWtoMo4Tc xlNxtsjqRXykvru73KeLrmiG37XvryPP+NQ4VdgxHqIjAqR75A/1ym7yOrf+Ne61J1/I o3pDd1ozoNmzMcSf9QyHTsRfuqWCxRcJbiRUro3mm8NO/0ZeTolCT0UghzGT8AdhToFl l+Tg== X-Forwarded-Encrypted: i=1; AJvYcCW48N2hLXOtJ9kVciozGdNyKDejl0C4I03TImHXdFLjZbUdTe32DUPjX5zHnI7fj60IB+TQQ//SLywz8Dc=@vger.kernel.org X-Gm-Message-State: AOJu0YyZsidIF2AWQ0VHnyOBgklR87ndTbYaSN7erWBK0m1Oq9QAGyjX vAlPa7PjhVX+x6dArOTQUvJgRx+7z7IDclMFZtgRyACpP7tryFXHxlBI X-Gm-Gg: ASbGncuT9FgfK6HsLjyxEc8IYulGPtop4T7tD8+A7MJcX/r3Fm+JjRtWd6Y20e7PDaP 3ZzWXPI3fGxzZEgRZP2agFBNHn+Bgv7SyGkXQENaJvlTyykNl0oCEBt8n8WTt+orv+hIIMuxS4j Y5465b4yTdP+w/OJWZximfGfksarNd1PWl99H7NgYMB1HCYV520h1SnQxLg3Ux0+LYr/V3tS6T/ qPUaee6QRfnyJLUCObkradBLz56KJOLbY9UFbQlEmlI/2x7OOAF+27vi2u/NNZ2lDHF4y3yM25w UjofDk/0QcNZ8I1qR8yS5SymNbNvqw6SiJ9Ym5PpIL12mTnraq1oQPVBMRnAk2MlO+UphzwtJNc p/rH/unmrFcjQnntk6DgIxYt7+lK3gfnZKzJOnc1LUm4eQ7Qbff2OD1Ciej+mBhHNCQHcfUJNd6 O8GmUgV0AOX5ANul1jNQsN8b/EJlyRkLCfVUPDHw1NjwPWlDFf+vZp4z/zWGb9mPwHD6nqUAx5M mwemI1OPJwc/Cuq X-Google-Smtp-Source: AGHT+IGPyNSAkUnNNLh90REio7RQidDo1QlxOrR1JlpAc2ox428h/ljqAzuZmEq2S0sQiaTFD1UHMA== X-Received: by 2002:a05:600c:1c24:b0:477:76bf:e1fb with SMTP id 5b1f17b1804b1-477c01be2b2mr148615015e9.16.1763980123429; Mon, 24 Nov 2025 02:28:43 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:43 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 5/7] can: rcar_canfd: Invert CAN clock and close_candev() order Date: Mon, 24 Nov 2025 10:28:30 +0000 Message-ID: <20251124102837.106973-6-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven The CAN clock is enabled before calling open_candev(), and disabled before calling close_candev(). Invert the order of the latter, to restore symmetry. Signed-off-by: Geert Uytterhoeven Reviewed-by: Biju Das Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Collected tag --- drivers/net/can/rcar/rcar_canfd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index d77d28d0ca6b..2f9fc0da2d1b 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -1588,8 +1588,8 @@ static int rcar_canfd_close(struct net_device *ndev) netif_stop_queue(ndev); rcar_canfd_stop(ndev); napi_disable(&priv->napi); - clk_disable_unprepare(gpriv->can_clk); close_candev(ndev); + clk_disable_unprepare(gpriv->can_clk); phy_power_off(priv->transceiver); return 0; } --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.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 800C92F9DAB for ; Mon, 24 Nov 2025 10:28:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980129; cv=none; b=rSRAdOY+1+9SdYxMpSw+192bBaIc4Lxt8TM3VU9AUkJbP6a/lLE0TCTAV7GTWHZHXgV5ZGeu2Z2TnxKQvHp17+NnRRIe5r/q2WY2TZ3oXuJ/ExkuGBNvN9aNmWJ5lHYRZVaRGqIOk9Hln4GT0yXsb17YxJ23+RrJo3VCjKVUNo8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980129; c=relaxed/simple; bh=MJ5gYOX4/WcZI3eabrqFVQV/8C6AUWEV0t0d36GwW5c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ecuiqblKsoC9wn2l1uv/AJhYuCU/i8MI760g5ypqcnwuU8y+NHTKZC8N1jk5vK+cNHOlJfwxMxA62qIJvmu0MCfGGV4TFOx+pdaCIlO0sr5M88ARJYFrpVCRJoFOegLjfLRRDqhP/6Z65JTNjqKKapL0AOEQUCeatsuxb+iYLtQ= 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=UwwBmrvi; arc=none smtp.client-ip=209.85.128.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="UwwBmrvi" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-477a219db05so24460985e9.2 for ; Mon, 24 Nov 2025 02:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980124; x=1764584924; 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=KaxoPDHavjWhtTvtGHvHHl1fcP0q24V4vL23BhFFsug=; b=UwwBmrviub7Pwx5Mkb7gT07KdZu0676JdODSK3bl6g0L8xq99VJ6hoj7iJCYFQYGA/ c9cHeXIkIkf5XhFHCifw+4ec+mbH74DSE6Bfk4fSlYaSBSn611aXPBb11QozM8qkrCqY CzIOUk1MaRzex2yM5bAaVXWXYeAfMg5friS+mqOfV2VquWCUmpu94CsSQn2mxhkQNaw+ kXBjlzfDEwscyoaMsTeGSoKLVQNfFdEg6RopX2aWNR6V0zyhi2AgA91AKtNMgYEESzmy Y8gD2b448q6eCW6o40iWnUhwBaFwrlJ0ixv8/WPusQmNWHsdJzaRMQ5wA6YXrPI0cSg5 KRmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980124; x=1764584924; 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=KaxoPDHavjWhtTvtGHvHHl1fcP0q24V4vL23BhFFsug=; b=G5r/YktjmKpkWdn1IWK50buDNi4hTFLW9w6t/GL1Vhyp1EL+SA4yzgrk6H3SvaYJ0m cT0p0+fLAFrtZIDEb4sOv7jSLyYyGyvI4X58ViG02shS/z5/1ex/kulqMSaVt7r5NyJt z3QvQCDn39V/P67V6bMLaPRFEKciS+aia3e6gnupeb4ClM1l4FWgukFObkgUv9D2i3gx 3gD5dEdbJVuTxZoisgE0IfXM5LwpSEMB+ylthV91eE11pNlEC2jKWBVlMyH1/mVHnH1o oDFO02GqvE2F+h46SF7vfBRvJyK9QkXV+TvANxsXcfhwJ84baxiApCh7FJGHedQymLRw PSlA== X-Forwarded-Encrypted: i=1; AJvYcCVo6ejeHo96DmHMCViutSTFdV0+6VXj/HOtpqS39KJU61qdx0nJ30inqUsN00pd8s69Pw4aEe0Wgt1vzJE=@vger.kernel.org X-Gm-Message-State: AOJu0YztSDYcvnabvZ18KTkvyoLewuPIBDTdV2Z1Grw55ox8XhAXnEfU wPHecbns56y5R7T4fzMe0mFkZmdKsuHGJ3rS4EzshSPCuS0YnxCSCwmt X-Gm-Gg: ASbGncuX3dS+QTjm+fFc693DgnYE10vpQ+CPZsekBL3NUjADSWEq4GeDxU6yFsXyOMu At+vTOPmbXUDRWyT5KWbRG/uNvPYU9A3cV39mvWI6l3M8eOSzZF1Z000mZHTCPeaGClpkbi5Ihd R3F1oAp6eqHBB4uDvTWdpSl8SogSoPta90d8U9l3mUuZBRJuC4c+mn8fGyxuePZQN5kixYjsrNs ZwHljx6saK6dly6AVplVMBlSCFNRdYYxjcQObt4VLuQl7AIJQblebJqgQWfXmEKC0LWi0eIyIrD SvFSs4j90WhhhGvF16bQkIsxJBWEtCUWHzxa3MLBYS26BoQQ0hiDbI2/lWTbknMdxJL9VJgxmwl yIdmdvbRKQotvlKQX7nQiOjigoATw14MZa+6WUDi2kYasXswWUcKoU+q1+1RDrqOWkn4Hi8B14V DU0TXQ+95gYZNgFccrsmCwXFs82KON+hhUlonjvZa/HqiZzFaTL1DF99Mxi/GiyTpOIMgWQyK5n ODeewEkOdZsBI7T X-Google-Smtp-Source: AGHT+IFGYmmA5I+q48xhFRnBZgtFL8YUq7RRbEwg6+SSHoGjRa2xnWW7REXItQXxBXjBwZlC1Valyg== X-Received: by 2002:a05:600c:354d:b0:46e:49fb:4776 with SMTP id 5b1f17b1804b1-477c10d7003mr105934785e9.11.1763980123997; Mon, 24 Nov 2025 02:28:43 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:43 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 6/7] can: rcar_canfd: Convert to DEFINE_SIMPLE_DEV_PM_OPS() Date: Mon, 24 Nov 2025 10:28:31 +0000 Message-ID: <20251124102837.106973-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven Convert the Renesas R-Car CAN-FD driver from SIMPLE_DEV_PM_OPS() to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr(). This lets us drop the __maybe_unused annotations from its suspend and resume callbacks, and reduces kernel size in case CONFIG_PM or CONFIG_PM_SLEEP is disabled. Signed-off-by: Geert Uytterhoeven Reviewed-by: Biju Das Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Collected tag. --- drivers/net/can/rcar/rcar_canfd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index 2f9fc0da2d1b..5a555b01ffbb 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2276,18 +2276,18 @@ static void rcar_canfd_remove(struct platform_devic= e *pdev) rcar_canfd_global_deinit(gpriv, true); } =20 -static int __maybe_unused rcar_canfd_suspend(struct device *dev) +static int rcar_canfd_suspend(struct device *dev) { return 0; } =20 -static int __maybe_unused rcar_canfd_resume(struct device *dev) +static int rcar_canfd_resume(struct device *dev) { return 0; } =20 -static SIMPLE_DEV_PM_OPS(rcar_canfd_pm_ops, rcar_canfd_suspend, - rcar_canfd_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(rcar_canfd_pm_ops, rcar_canfd_suspend, + rcar_canfd_resume); =20 static const __maybe_unused struct of_device_id rcar_canfd_of_table[] =3D { { .compatible =3D "renesas,r8a779a0-canfd", .data =3D &rcar_gen4_hw_info = }, @@ -2304,7 +2304,7 @@ static struct platform_driver rcar_canfd_driver =3D { .driver =3D { .name =3D RCANFD_DRV_NAME, .of_match_table =3D of_match_ptr(rcar_canfd_of_table), - .pm =3D &rcar_canfd_pm_ops, + .pm =3D pm_sleep_ptr(&rcar_canfd_pm_ops), }, .probe =3D rcar_canfd_probe, .remove =3D rcar_canfd_remove, --=20 2.43.0 From nobody Tue Dec 2 00:48:01 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 688452FAC14 for ; Mon, 24 Nov 2025 10:28:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980130; cv=none; b=GwU7mlqSfkGjbrttdTPrHNK9WXStrN2zieGOaOxDaogCAX5uJ6ZhFu97Mx9cZzRB5i2jXUzxmZfAf5/ImDxQet17G35PxaX0O5xHrTJnbMEkrh0Be3Lyk1a5hnogbm6g6EaJOrEUM+0Xagg5jpB6X0ib/SGYfDPSW24kYD9AJU4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763980130; c=relaxed/simple; bh=rPyNl3IXKetzOLBOyKPO8g0EGzeg1E0yIt+StmCCebY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bgR14SA57hoc5JTwNEMBurwaC/ku8jeunVGr39Y+P92TVH1uVzk2gDZO37aZYbby/d5HAPfJWfqC/b7MFaqkq3YZhiS5XmHHBOn3e4cTrDz9Cr94mfc6bnu8MgECQOZK3UhP6g+GsBA2GKCuI0EZheoXBtkdpG2egvkC/5ztQ4s= 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=cVh2Exk0; arc=none smtp.client-ip=209.85.128.47 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="cVh2Exk0" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-477a1c28778so45525565e9.3 for ; Mon, 24 Nov 2025 02:28:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763980125; x=1764584925; 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=WgtID0nFX3nGFRlE1VlQTXM54bzqiyChn12CU60+xHU=; b=cVh2Exk0kdpfHBpQzoRTAAoqyObCeHVYdZEaR0HVcowQPhVc97J5zLWVx5EYn8sVwS JBs9LVSyd2bDukM5lIKj+ciA/Dw6TBlmD0u+AEPWT1YmDlRguKHrg7G0sNj5nZ6+R6UZ k7ToFbUaZQD5BHbyOXjMRAmI+rL6Y8AWVfsC1l1/+6WlqXc/lfxHfrcDxb8WgHgQnoDC XJSk6aKTYNnpS2FSHGaGvgzMSe8hWYH2NV5atjHbfp/iGLWrbxAqMCC3BwLKaCivxsQ6 7VBjWB5v22GMT9gzYYJJ8TZCPqPB/eNWNH2YM9TEa+MQkggrvdbnxLoFyShKXCVRl5XU YMug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763980125; x=1764584925; 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=WgtID0nFX3nGFRlE1VlQTXM54bzqiyChn12CU60+xHU=; b=UNUXKQumxxKWB9FKV17Htg/cJjrNKT1ZnF2NUp+RnC7jyvxzqIPth4vcbWgaCKB6/A W1PfLJA4qLY+AyHlerqpJecKcQYmA0ierc4DWX96k7T2fPnnamh5w65J5P2z9KIObCIG R7eN+a5EjW9SKKwhLlXNJ3OwjIZUNVo+QNofStYA7M/wjRk3laQcq1l2fgZpR2QAbDxU fX4V62SBUs45UAGFRNWbcHgffseeCIFGHXbVpBQIj39AsZlyFWABhtogSxKdhxtw5Rtb GOiF5HjSXewONQiB0txfQbIzeor6phexzqFU/uqhkxVJwXTFDrcGqcFLfBKArixsUCUT 1O0w== X-Forwarded-Encrypted: i=1; AJvYcCUxwQ9uiKzgxpXiUfoTJ3oXxUUu6ws9aax/xpecpmQrsn/2AETue8EGp4X5lC/9zLsEF+jyCDiTVcm0Mrs=@vger.kernel.org X-Gm-Message-State: AOJu0Ywf5NGY+n9bTHJNJn1K75/HgjohCMUtEF00HXuksIPv2y2Nf0BX h3BeXnWY7YDLdeT0cK4Wk0Tl5kkHBxNM7s+y/+8t+Q3nHDP932MP9rHq X-Gm-Gg: ASbGnctNE1x720jTo9tHwKFGYLQhDGk7YP3eIs+dvI/FjZcGex9KpY3rLG8MFFje8cU LGmAvwV0j1M9V0dm396KIuGp7fm+nBYiq8a3rLllECL1D4k0gB7WD4zJyJmiPVu+gB05l72fdgM M8IorUlQ9p1CPXdyWD1TCKDbc/DERlGpkUQUV2uOVB8rEJ+W3CdBj4lL7/dO03nsuvjRAa13dQ9 VZqRCwTAgFIjcKVp2wFuEk7EY2esN2a8sG/R3st6DTU8zIAK59iaEt+N6tz/aGooFJj+DZz81WR spZGyAaTBYPSQkQetMIiMZSUSEtNUA8Xv/9WMi5LaPW+XWjHiv8PshNoCsRAZWNqXWsGOC1NlTs nE99YmltMfr0rQH7UPDLVXhy8ZsG1SUlYVVthZGfa51hvfp63JDPtUnX19qH5oFdiOWy4TBTZqH Hyeq+M+d8YY5MGqb62ALkGqpfgDym8JwGKJa+8M7JTcTeXOZnYrPIixwo8uMeiz9lFeDcfMUKyE m7dtjTr+yMsnjB6 X-Google-Smtp-Source: AGHT+IGyTyi4ltNsVDvmhl+/roG3AiodjJTRXbT98h+eS1FAwZ4STCcD5g+TawJPyCHRDRFgKtjvvg== X-Received: by 2002:a05:600c:1c0c:b0:46e:7e22:ff6a with SMTP id 5b1f17b1804b1-477c018a099mr148973035e9.15.1763980124606; Mon, 24 Nov 2025 02:28:44 -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 5b1f17b1804b1-477bf1df334sm186753945e9.3.2025.11.24.02.28.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Nov 2025 02:28:44 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm , Philipp Zabel Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v3 7/7] can: rcar_canfd: Add suspend/resume support Date: Mon, 24 Nov 2025 10:28:32 +0000 Message-ID: <20251124102837.106973-8-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251124102837.106973-1-biju.das.jz@bp.renesas.com> References: <20251124102837.106973-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: Geert Uytterhoeven On R-Car Gen3 using PSCI, s2ram powers down the SoC. After resume, the CAN-FD interface no longer works. Trying to bring it up again fails: # ip link set can0 up RTNETLINK answers: Connection timed out # dmesg ... channel 0 communication state failed Fix this by populating the (currently empty) suspend and resume callbacks, to stop/start the individual CAN-FD channels, and (de)initialize the CAN-FD controller. Signed-off-by: Geert Uytterhoeven Tested-by: Biju Das Signed-off-by: Biju Das --- v2->v3: * No change. v1->v2: * Collected tag * Fixed the typo in error path of rcar_canfd_resume(). --- drivers/net/can/rcar/rcar_canfd.c | 53 +++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_= canfd.c index 5a555b01ffbb..4a653d8978ba 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2278,11 +2278,64 @@ static void rcar_canfd_remove(struct platform_devic= e *pdev) =20 static int rcar_canfd_suspend(struct device *dev) { + struct rcar_canfd_global *gpriv =3D dev_get_drvdata(dev); + int err; + u32 ch; + + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + struct rcar_canfd_channel *priv =3D gpriv->ch[ch]; + struct net_device *ndev =3D priv->ndev; + + if (!netif_running(ndev)) + continue; + + netif_device_detach(ndev); + + err =3D rcar_canfd_close(ndev); + if (err) { + netdev_err(ndev, "rcar_canfd_close() failed %pe\n", + ERR_PTR(err)); + return err; + } + + priv->can.state =3D CAN_STATE_SLEEPING; + } + + /* TODO Skip if wake-up (which is not yet supported) is enabled */ + rcar_canfd_global_deinit(gpriv, false); + return 0; } =20 static int rcar_canfd_resume(struct device *dev) { + struct rcar_canfd_global *gpriv =3D dev_get_drvdata(dev); + int err; + u32 ch; + + err =3D rcar_canfd_global_init(gpriv); + if (err) { + dev_err(dev, "rcar_canfd_global_init() failed %pe\n", ERR_PTR(err)); + return err; + } + + for_each_set_bit(ch, &gpriv->channels_mask, gpriv->info->max_channels) { + struct rcar_canfd_channel *priv =3D gpriv->ch[ch]; + struct net_device *ndev =3D priv->ndev; + + if (!netif_running(ndev)) + continue; + + err =3D rcar_canfd_open(ndev); + if (err) { + netdev_err(ndev, "rcar_canfd_open() failed %pe\n", + ERR_PTR(err)); + return err; + } + + netif_device_attach(ndev); + } + return 0; } =20 --=20 2.43.0