From nobody Thu Oct 2 18:21:54 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 123662FDC47 for ; Fri, 12 Sep 2025 10:47:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674059; cv=none; b=TR8ttFSBfH6EhXLgCzgeFLQwLI+DpREoKC6JNwSovkwDnRB0SfisMIGjlOlmPYbwLhf8tjb9f6BjfemyquDTRilKxtVdJtWCi4f0eDdF3X/hKDxdhRXNxd7b3TiT2zyi1nuIyGnBiKhNopsthaQ4dUYL8/LAHzRyg0eFuSrqBRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674059; c=relaxed/simple; bh=9Mtl3DFWDH+wE6RcNo9SWO/Ky6IGgN5a8YqQgo8cwaw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=q3T1EnCVZe/odBtSL69bsZqLsWaZcKNnwJv7B00Sf/Upifa4cMbJss0HF3/ndqime9EOU2RbmRw5f8x1fugDpogLhEIwODkexNDEn2ZLYWlxcKxWqLN+zAmzPpIAfhWsbIIxL1ELX6suv+HxofH+T09s+3dN3zq4/5XcVJDKJ5w= 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=nNxzDfYo; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nNxzDfYo" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-45deccb2c1eso13312735e9.1 for ; Fri, 12 Sep 2025 03:47:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674056; x=1758278856; 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=RQUxlfAyxKIcoNzjnIkl3LJHo+al+9/aWzc3N+BZ0r8=; b=nNxzDfYoC5xJSttRKYm36QmkcJOpkRruOxu8FiJmgKLuweP7T0ASpggEAW8fBVEJsV qO3eORQvZr+k04trwLK696xc6b45pKDBmxzVDkemPSPiIBfydGFj+Y84GJueE7VgudeB HY3OqL/oEzJ6DYgwOWsAqs3sX4vkkWrScwGDt38WZeqezAC31ZjrHiQ4/p7g7nhV6KcW 2av5nOmyZrZFgKDXuypHFHbtemm3aqSn3zTFUWuwO+ImdqwFoUqAwzv4hAD45fJg/Lx/ 9X9qXzLiZ1CEchCGMDc+67e2/hr+AWthHterxRQMv2HE4A7Evf1UCCtnkGcwNEovKxcx /EJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674056; x=1758278856; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RQUxlfAyxKIcoNzjnIkl3LJHo+al+9/aWzc3N+BZ0r8=; b=owNL2yU5czmPRZvyqa89LJ+vLLMZaAkFXgeGEsBZZW3LON0ZL5FhRADs9eBRQWNKhj N0rs0G+up3n1xph6UwQLpEcdoaHpNVNqOngogkUKVEjDN4qsYvF0Ukx3o877f6abc/5G +Pbc4bSqh4mtQaKf4su8aXrgwkeK71B6sYKchkJU880jt6BBaaFymawbHpDbTfC6qvHF +8Uuzo3VdWaSo5KZSNbHSuL5SUitVsOxBVn4yW9wlwKRszdHF061WXsymhHdhIaOq8kr aQmH4lBbVpWKKfma9H5vVywRtza3PLu4H3Wew0Gsuq9yWvlu/he/bzMIWcr615i4wxCo cdAg== X-Forwarded-Encrypted: i=1; AJvYcCUC7YnRTGV3NR7pKKycoGJ3jQtc9/FSNxZRAcnIK/T0Ley3GTBmVM+DDhyQqS9AjgqT57DCmdX42RjxFPY=@vger.kernel.org X-Gm-Message-State: AOJu0YwWMUbWTbUnHoohAbeC9Eu0aKZEQFSX0oZbjFTs0y5pVvSksaQ3 YcRJJjt4630jCdDzQDPy7lP6neMNdkOWltVw1ElGEwTyWMTIODOnOkhZ X-Gm-Gg: ASbGncsrFMaQSeXsUH3cAWnmVJcv/FVXpCSCaGlatLa1z1Q5KCLvzqYN16zOKxumzA4 06LJa1DJ/g13YBAin2i2o1ho2mkRRqXBZTJ38XLDOTqUf+Rr2pyzpmMX4R4ZzFcmTEzSHyng+7+ zMoQI8MLaUz41N5KAIiHpGzhGwnA8IS5DqbJrxJ5+dnPyLr4fraqciEa2hKzI/+0W5BVd7NITGD 8XJa0LN7T2dEQdIwMyRyfvJPc8cxSXs5xc1fYBDbcKmk+4uJpChHq+q8RjdIf2WAwE9JG8NhwJ+ KCab7xr9NgYjsqMX3eCWf0pRHEkyjg0/d68r0w0pc49pnkxTjAGRvsaGOLdO1S+nLlIA3YdhWV0 nZH53CUWWGrpH2yHgA4tyEN42v50w7UNa+UeJ2qiE9Z+LXK7zbDN0dDKie+RTPfyz4jrY+7yjcN XtbY/6CfzvoxM7 X-Google-Smtp-Source: AGHT+IEYNoJ2MXACJDoPR63gdzq0LP7xuddB+Xs8lNKzKtp6XRQW/Q14Meypapw/0V0M2s8A5w2wEA== X-Received: by 2002:a05:600c:8b85:b0:45c:b5bb:7b51 with SMTP id 5b1f17b1804b1-45f211ffd2emr25647125e9.30.1757674055821; Fri, 12 Sep 2025 03:47:35 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:35 -0700 (PDT) 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 , Vincent Mailhol Subject: [PATCH v2 1/7] can: rcar_canfd: Invert reset assert order Date: Fri, 12 Sep 2025 11:47:19 +0100 Message-ID: <20250912104733.173281-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 401505264676..cf70029968ad 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2192,8 +2192,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; } @@ -2214,8 +2214,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 Thu Oct 2 18:21:54 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 82E682FE04F for ; Fri, 12 Sep 2025 10:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674061; cv=none; b=lSWZsN0yFTJOjmWuOMozABOyVrSVBorhdYi2T6+sH9Ku6CKCVlAXvKgnpPTkcWo8qjJjjDFjp8so1fzzH0jdUC/NL6w7cq4/YUYDKhYUQmE3yopQ5PLCWBIoL/XyDAZyoO1b51M0RWOPSj5RD9egv6ikIMsZj8d88Bcz0tjtXDk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674061; c=relaxed/simple; bh=jEe+LssdJuX0Sol/ICpsmWzbrOJwv26l/qHv6esdx/k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hM0tjQvxz0VmeM/xeMZpi7Du98sdG0V9jjQo3fDL6EvfaaYNeJpq+GvlHgzOdmtazk8x2zQUu0NFY3KLiunsr5CJ4///2cMJV6fQqV7Zik0ZRdV5DehAYvg1uUZTAFY7YNXNo2v8TGIhW6fZMPsLk1PiPmCa0/yElfHkxtjyWX4= 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=NWmFk/hT; arc=none smtp.client-ip=209.85.128.48 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="NWmFk/hT" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-45dec1ae562so16760675e9.1 for ; Fri, 12 Sep 2025 03:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674057; x=1758278857; 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=1S7AuUlSi67Znb0Wq+XUSupvk0GbKEmlDvc8tRj0Jnw=; b=NWmFk/hTtB4O9nB5UxL237V6ljbhej4rW+y9tBWLMRssjN77rUPuqY1RauCmtper8z w9YoEbOJqnr0l9QCm4v+S4wo375Ey7PGWtEA+Djt72YMhb/dGB/uH5xAdtzMn9k4eA/o G7NwHn2HFGGIfktOE0JQLjklzQrv6FyN2v6gA0sDxP452u9uGT9rGz3Ken6SqfEOFI6z MCsKv2aN1I4pXrHa63B1/rOHksF81RXzGLamOYrtbZfb72jgI6KJQW93vt9Ifm2ns9+L PwVzG+bsb5pqZbQqXUBWDxqniV944gzgVDJMRpPLCt+EOV6Q9NCysjvGdFNtf55QnFwX djXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674057; x=1758278857; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1S7AuUlSi67Znb0Wq+XUSupvk0GbKEmlDvc8tRj0Jnw=; b=ALgHY704+sAv/TH/GThcR2TUDQtnXJZFg8LXCjiB5A7IJug0cCAXHb8ujljV8OXLdH C+scarz2zkR2WrF8Z5aboIi+8iqC5EeDPyBDopoTF6wSF54F95ICUg6AylANyZ1kn/a6 CvQ2FLtE2aAA0Pr4QeKFb6m3ywPIIRPwnRey6w8bHPDBDn8n80Gcf2HZKa1yc/TSJDLV rdcCBsvQXKGzGSfZt+oSL+cSePpZxMyjVlCLr/Kv5sXKkcqms2YVj1Tds+4Vq7fXxUbE N9qkZV0XGLW/AwGFTWcSn0aRKbKnsjeoQamjQrcteQ0WWWg/BKypy7ElUc+cL0NCVJ8m P2oA== X-Forwarded-Encrypted: i=1; AJvYcCWvyZZ1b4Xtk+UFT9wxp90bo+5to/vzZAkdLJpujC5H1q4upjpEazzVG+84ymF3bBeB/bQ5uwzKkxCrwGU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8LUhuohes8kqck5ItcKSQDEzD1gy0e9AR6o4LDRNkEsv7VAup UkYcGtTHqX5vIHg9LyozywJwKHLS6PbJ8se+Wh7WyE27jcGQue0DwchY X-Gm-Gg: ASbGncseqOjLZhpL0NjzZYphkfs5GI+rnaXW7fv2Acp/5gl9Zm/4BQDgffWDRKWQvWd 2ffmRh2qVsHoz5gshN1zpr6Pa1NiJ4VXDGLRoAjvisEJTW+tHWYM6cV/y7GlXqb9WVXXww+AVyh feW1i14bgM+0i/4RGH4mqdouauLUq5vxqoS/bc+/L7/R/vk3aDYVUTHQXVpZXmSl9yBLsglzP7A 3oa1pLACFcRz35rAO55PCZaL1kN3ETYRHzEGse90dy1mJ/sxdBhxWxmurS6NpYVtr5xU8xKgKI4 MZfk1xXO126Pxa9sBNQbi5GXJHimg/04558SgeyvOCPlTfhl4FaMYNHjy7RAgK22oIHr1LgxBtj 3z1/nbew+l7kF47QdpHzr/TXm7fyMYOChfv5TTDOLrJ6NF3FMg4rW676jz9+fz8k9PC4ZFHyy6J lw3Q== X-Google-Smtp-Source: AGHT+IGGQn4z6FJczqoIOf8FijkX45T6VbvuIudJ+ZXc3G02iFJUUELPhSpYW2NzZxdr0hLI4woaSg== X-Received: by 2002:a7b:cc91:0:b0:45b:8039:6196 with SMTP id 5b1f17b1804b1-45f211cce4fmr18730275e9.4.1757674056487; Fri, 12 Sep 2025 03:47:36 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:36 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm Cc: Biju Das , linux-can@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das , Vincent Mailhol Subject: [PATCH v2 2/7] can: rcar_canfd: Invert global vs. channel teardown Date: Fri, 12 Sep 2025 11:47:20 +0100 Message-ID: <20250912104733.173281-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 cf70029968ad..460bb62bbd08 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2203,14 +2203,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 Thu Oct 2 18:21:54 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 09D152FDC5C for ; Fri, 12 Sep 2025 10:47:38 +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=1757674061; cv=none; b=LcK0AI1ioLm4T6jVkazOFDXkqtbyuA329cvQu2sO6q1u0syX1Fc2Qyb0NweBwXjmvXu/BmwvYPYP4OkC1iGV//WmkiOCkwdYljDPLVxtswAxkQDmfds3UYVWuwob7oVwe1FlDOWIL5xgS1AG0pDeRGHcSKasLCWsT31RVNHMG48= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674061; c=relaxed/simple; bh=KA+sI7ufjFyPZYwEYQoZfZGFYRielFswFPXUoh/FBo0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IDZ4d5prnuWqQ99Tj8sMlsejKZOZ/c3nUG6zNoQ96jSWS0xyXz2OU++KjK5onehVS1MHYYOSuij2fKYmci9q/hEkQXmCp87WbfrVNKoagNS3NM6nhPVlikfalZcMQHtf3exS/nD/72Fj1ajY/UNHn7ycYcOVDUV8Vyh3yzXSmEA= 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=KNcVc/IG; 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="KNcVc/IG" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-45b9814efbcso17637985e9.0 for ; Fri, 12 Sep 2025 03:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674057; x=1758278857; 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=x7yeEcm3Ced8ELUFuY76TaeRPtauHExqRBxvtKmA4Mc=; b=KNcVc/IGshwKGIDvMMrPcgnA/b/rIjGQ2gG77A/GvQzblWZbQHG6+ZL2delpTf2fvN TNSyTmLauk9bWoP8e7elMneJU+eaFuCWOZRNQwJq3ehYIbqvkcd7LlnxgEjqTjS2PVRJ fuYco0vYc8zbR5V/Qvpr7639vxFarPDXRMg6mrxJAnmOTA3nx23ihcOhcgJthVC9qG68 qBrmZfHY7+DRzpsLawfAgkeArXqihShoLscbza4wmzdCuYRW+QvyLFaobmbqLsfTx8Zt odhBciwyNZTuU1o7p1waaVUaxT3gtSBDXiRBbovjLfcZd9uyOJH+0vai8s1lzGWPV2pr dI/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674057; x=1758278857; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x7yeEcm3Ced8ELUFuY76TaeRPtauHExqRBxvtKmA4Mc=; b=GuS/E4trzYDaejo+2ilsD9f6cqnq8+BRd+5NyPo4AiWLCI2X6VzlBak8x5Z/dNppjg Jcolj/5o6F4EHPIzOlEL+1PUJSjFBY9ao3RZ0zLzjT1lATAyMx/yyEU179+bi1H/KLSr lqxswrVFyRqMCtBHauLvuC/tt7O9TCHqgALXCH0hcv9oz9zn4bCnSZvwakHr5ogpad0J wB/14fbR5b8mq5N3xdTyI1ydH4XG+dwhvEAfacWXOyOgAaWHSU6qlFTQGugWUW7sDTmT euhBsdoJ4g3dtLx8I2ibkRPr0PPtrnAJ2B1ovqfO892vwN8w+7A2yqLAysdGgLsZDvXZ PYRw== X-Forwarded-Encrypted: i=1; AJvYcCVh6tPn9UyHk1GfNdcXow+lEPXQwZVFSLvkorD+l7Ag5XyrqeCO+Qfo+sUG3rP7VIH7Ft7J3YShogXV0cc=@vger.kernel.org X-Gm-Message-State: AOJu0YxCVizWo5JOc5mNJXPE/WD4ZAnQirla6tzk+qPrf0mQLW1flesu PjP/+n0yCLfL7r38e+NRtFvRM98eWwlsKkrHC3wg9w4AMj5frSnKKnf3 X-Gm-Gg: ASbGncu3YzHwtiO9yr4qSL1A/k5aQAHfMH6jIHqohwssslH2dk0WE/y8zHJ5AehuJpz 3lO/aSu3200eBGAyPqGO2l2BeBNlvmXrYuQUxZ/1F9ccz+FJo6YYFIJeAKEMQiRY9KM6DS6bT6a AGh+kl4C+Op0QzO5ay2a8Cx7SnosokpxiSz85g8TuF3v2GpZWXOsNrUJhuOGcd2SahCNJXoUMm0 UbqiHSb+J2U271jD/1pBh5DKPmiN7S9CmcqB100PV9/4voF8nukKsD2kJ7iPoQuR6gj4YghYDBZ JeG3S84JnSCKFKf6xMAQXbfG1Lkz1qiw5vUbb3JQWIAJUtgE6sS21QZAMCyEQcMlJaWL9ZyQfQ/ X91Wsgv4sdOveruVa2rCIYv9x0MHVzlgSHQ6OvBztJqtCXoUTeVce0BieEpNhywiwxU/Nbi+CCR SJQg== X-Google-Smtp-Source: AGHT+IGrhgEWEAy/UQRry9eO3Ixag9/wrNC8n1JxqWbGRYDy8gImXUuDgETKAkJ8vsUGzKh4KDII4Q== X-Received: by 2002:a05:6000:22c5:b0:3df:9ba8:21a3 with SMTP id ffacd0b85a97d-3e7659f3385mr1834367f8f.18.1757674057078; Fri, 12 Sep 2025 03:47:37 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:36 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm 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 v2 3/7] can: rcar_canfd: Move enabling of RAM clk from probe() Date: Fri, 12 Sep 2025 11:47:21 +0100 Message-ID: <20250912104733.173281-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das The RAM clk needs to be enabled in resume for proper operation in STR mode for RZ/G3E SoC. This change also result in less power consumption. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- 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 460bb62bbd08..da469595be74 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 */ @@ -1975,7 +1976,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); @@ -2065,10 +2065,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)) { @@ -2134,10 +2134,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 */ @@ -2189,6 +2197,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: @@ -2213,6 +2223,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 Thu Oct 2 18:21:54 2025 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 C42972FE06C for ; Fri, 12 Sep 2025 10:47:39 +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=1757674062; cv=none; b=mdAPliFiBsbReHSJWTZxqZqr2BynvsvFokuoutOliU+nNg0cCQmGrjN5Oq1gDhFPkLXM7RnpjqbBAfR7eAghRPa60I0NpIhEf2psCfXKd8D/cd5dat8PKTB3jYgoLb2ATy+lb5yaNZgrCOb1BvHy15iDRa+m+2nI9MlVJPDzvI8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674062; c=relaxed/simple; bh=GZsNYIhNQW8nw8uQfQs29srO1uUH4jHzjoSIQlnEnCE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JFWbOKDSEoUOUYKL1aBf5I5A8eurtogU1WpDUF0DcANnMnHtiEQfvFBtg+eAf2ZH0SUvki32KwTNQ5ZduK5K02GWbmuEmxtJkWodqmVxj5pQjAjII8aPdJbdsaABrNzm+fzXS9vKhaLPNYtU6fnWdX3BhWDq/enzY7Gi8pjJP+I= 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=f52isW18; 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="f52isW18" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3e7622483beso932963f8f.3 for ; Fri, 12 Sep 2025 03:47:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674058; x=1758278858; 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=782JgLcVZE5V/iz3CxpYN6+/kxhPh4WkNQ54gM7xbls=; b=f52isW18N8CS74Bo6yey9cFjnCEhAd3g0036x/e6kOAaPv+HCOporMRcNNWRRzwHmT xGMxykRir8F7VF9Cc4KM5gTAoINPcY2VgZ3m89qJUCvZOVhCvHH8uYFEitDWNpkW0fFw cyoQshSP3SArNhW0aqVPeawWkZVoljWOwxt/lhAxTbCiSpHsxnmX3Vv+HnMYn56k/HnK 7x78qJR4TZofRBFEtoddmIO5T8jhjkQguVEc/J5iv+jVO7UYQf66mqarw3LW9zuj+Nxv mpjfyZb3EauFWD7Yq4UtA1blfU6M2U0C50K++psCejQUBulLmh821j+QC/ITsECiuM1t rJfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674058; x=1758278858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=782JgLcVZE5V/iz3CxpYN6+/kxhPh4WkNQ54gM7xbls=; b=iturJFrhGBSgM6p2SVfVgXABHls+efSO3QJS1+nnHlar+UNlMxatq0t7zqDov90rud lUTUEBXHWF0zX7QVv8fg7a1fQ3HfISYn8018EgL6XYEbiuVglndhZN9B5XC4Y4wh9nKd qWyQAw53KeepQIN5Y3kJVLTLVp7xK6/v8s5kyZ4G8U8nTbG437IaL6NryXK42E4SJLWU izVXL6tGZs+sb43y9aBI5aCNgNUSGf2GbRSRSRv4bMXK+4QQygSE+cjlon8hJkJvvSMP mhaQv0WrwpcfBpJe5bIeUaqVIaWavbywqa0agLtewF1qmQQ8luj4+tufAu3rE1a1n0BQ OO4A== X-Forwarded-Encrypted: i=1; AJvYcCXyfSck+3iR/El3Zxl23f8QlgjNEy7aLSLAUjdkOASbcj0hrvEwJ9ZwJ1Sg542EJJIbTHd+nPcO1Jg505E=@vger.kernel.org X-Gm-Message-State: AOJu0YwoZ7cddiyUzs5PcXj/l5JaRZDu6Md2esxZIt2QLCAs2FCfrihu x5pcV3QaI+9yBn6OUeR01bgn7sQWilveVTIQy2R0KXh0mVaQUga4QgPS X-Gm-Gg: ASbGncu8Ne+rV4IzTWsB0IZDPTOy5s+qgkfX64SlYvUBxl5vuOj6x2tp+rgMZdYk/50 Uz5kYsEG/hT9iYPK+Dh3XjOIDKv93DBHHTlYt7JDjIbvL+hjIBpvPqq5zBBeEicdiHkRTtNIyLH FbB/zevU/6+223QayrAwK+nfsv9k4sMu/UYV+tx8MGZi1//IYczC2QSRYmRDOucGSUeh+px6Bug Fzm0+94pFLC8HoKiJRbop9WwiG6YF00dQtIkEb2w9m6wWmv6rWtvn3f913Bgms5HcX76RFhr3c5 wpEwxMY2pcmQPA07j+cJJfMHX6mqQ3FNoAMCIZYL7F4yavznsi9xLSMzE5tWguTQs/BPy3mSp2E 6gnXgODltfKOumFxicgEYV0Jhe2sPSxxRFFpcbolxXhG0yEoBQSNlVjsRPNeNuqv4Zki7SpNy68 /Yfw== X-Google-Smtp-Source: AGHT+IFr4IwLBTu6cjtpwB2lWd5M+6tpZjnmPqolt3ll/etGNw+S2XNN5WwUzpzDYgAHZ+JIpF+qyw== X-Received: by 2002:a5d:5850:0:b0:3a3:67bb:8f3f with SMTP id ffacd0b85a97d-3e765a1b215mr2395804f8f.53.1757674057766; Fri, 12 Sep 2025 03:47:37 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:37 -0700 (PDT) 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 v2 4/7] can: rcar_canfd: Extract rcar_canfd_global_{,de}init() Date: Fri, 12 Sep 2025 11:47:22 +0100 Message-ID: <20250912104733.173281-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 da469595be74..c26a605659eb 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -1961,21 +1961,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); @@ -2117,67 +2216,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, @@ -2196,14 +2237,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; } @@ -2218,15 +2252,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 Thu Oct 2 18:21:54 2025 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 3B4602FD7CF for ; Fri, 12 Sep 2025 10:47:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674063; cv=none; b=t4HkvWBhqQWVBUjWlP60eyL866KqWM4t+IBGNJKpC+euyjkodprAia7aKoolaT0Hqg7FKLgrUKKrdiXUFbOZtSprnXUOyQDuypY97OaZYPOOYJWjgYpibOnnACuAe9P0XlS+jDVKXAMrAm4PV49v+PVTjM2zFGo5D/uNcJ2eOE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674063; c=relaxed/simple; bh=OlTOFvKJfT0A22fcOpYTqFab8+1TW6hkZGEds47Z0Qk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X0z8SV4knIflV00QNtR+j2YD+k5930lAp/Du3wfvL4kDUAHQFtoxBO72MuaJTOIqvbn/nHQi3Bt2Sm9gtxkq1m0/76DPNPPoI39eDFZjL6Zv35/3CfG1HTbsLJlEYWkM8auY7mvLmLOaHP9IIma2A5OZGUP8HpjM9um4N8jkTUk= 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=Kadm2p5q; arc=none smtp.client-ip=209.85.221.48 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="Kadm2p5q" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3e7622483beso932970f8f.3 for ; Fri, 12 Sep 2025 03:47:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674058; x=1758278858; 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=fdCzNJXdDljgG/kIDC0Ddrqtrlk8v9FUTdWx7KN6R8Q=; b=Kadm2p5qfS0acoZk72bNm8J+JOBxE0R7+Bcvs9FG+tbZ016dTIwAQbeZsQiS8xyFgV h1Q/jxI+fttRzVRwEwfKHST94fTXOVO8W98tq8ib57K4uuQ8NQLrggbskG3VtHJOON7O vK6hCJdRK686mqtvISA7x4c7lEUtYUBcThvGT/W8QZS45iTTqXjx9QHrdIMnWAuMDu/z VQgToeWaKvG7w+e6x3JzklivpTYbuXDzvfMS/uoMyskOt4FJ+PncHV3U1GTmbtGOU0s0 6pgRDh7MCDqnzUoMQU/yNrxKrplGHf0KMxAq+pEB9XvUK5y/115gNItum0561XPT1VaQ xkpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674058; x=1758278858; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fdCzNJXdDljgG/kIDC0Ddrqtrlk8v9FUTdWx7KN6R8Q=; b=TS+Z6jyGoWCjRjrG02zFRIM1nVwZB2NAfGMuMjs3H+fHTrk2LJYuggRV507vfwPz7s GU/lrMSAe+ZbusiYhc2ilUf6iXdo6vzJfHPRkwMKie2IMA6NYQsPuQKlNeUkGQH3t4I+ wwD2CEEUKKCZEFTJc5h/U5e1Rx4vpmUa7g1nYIgi8DGvIS/IXUhk0KuiSPgzwscaidZE /WVLLKjduXgKeW16zajWK97t53cBdgFVUDgpkILNKNzkWt8PLoLHi/wDSu/KvIytUE55 qZdIR8bxufWASjgA9uKMovh5r8VHQI29alTFyGfFO1K+2MbIdzqfmlYsfH3xGTGpwONY C+cQ== X-Forwarded-Encrypted: i=1; AJvYcCUeaqOHH1ZhvWoqK580MSTwNH2FlEQZuDSzNRoEHxjEi5Vt2WHNNjOXk1JhKJm5FtWhJt3xiWOaqhzGoJA=@vger.kernel.org X-Gm-Message-State: AOJu0YwxLicTG2Wvf4NSLdWZR4kYQVhLw08Fe+DjkhPefVNYjq37DQLj PGS0hsQfv3ncj+pbPf8HD7na95raSEzZt1SFynnD6mi8cea29C23Y6cCfbAriH5N X-Gm-Gg: ASbGncul9G2ImOQ53pQ9/XYFFrDUjwZEAMGIT9Uzyq75iMonQFqsl64zqawhAfgjKVX SzgWf5WsM1V98nv3iVLh8HL85PfrBg3XO39Lhx3zvAs/TJp/baGSEkKrgfp9TDqxO4Dlrw+NomE 8+vsmziAwL8JDoV4TTzlrOggZBKA5GZKIKKvZF4XPN2i47EiCDcquzWzaEMMkWPTcidLBe1mvyx OaUr212QzloiAnVVMwGtdOeHaqnXXDOSLaWcdfDq+HbyTQFWynr33wdu7zP1C8FMgLKUaUygqrG WibEaNgXaBvNfHTr0tY8EilSsDiCfFXWdWrVe1/RzKzNFLi+SWJvDa83Xeh2RJCCVeFlDWpNFkY yRDO1wYPZvd3l7I1ZvwuhO9PQC39DzoQW+fsGOhdto0UCD/PrBGKDutNmLPSvDGrxEb3T/+krm6 9eyA== X-Google-Smtp-Source: AGHT+IFX7SP3Nc3fAURuh1zzId9OJYmZNsTdzvaZuLmsYmsYDvGx6+heBUvwIB58UK6jq1AeT+W/1g== X-Received: by 2002:a05:6000:1a8c:b0:3df:4fd3:6e95 with SMTP id ffacd0b85a97d-3e765a051b7mr1893543f8f.34.1757674058280; Fri, 12 Sep 2025 03:47:38 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:38 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm 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 v2 5/7] can: rcar_canfd: Invert CAN clock and close_candev() order Date: Fri, 12 Sep 2025 11:47:23 +0100 Message-ID: <20250912104733.173281-6-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 c26a605659eb..f0dfab177b98 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -1569,8 +1569,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 Thu Oct 2 18:21:54 2025 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 0831A2FE57C for ; Fri, 12 Sep 2025 10:47:40 +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=1757674063; cv=none; b=gGBvor7BFSay360MyGihHMZsomTj2m2aSMfhu7ogEKjC1nV/1p09NXPUrH/EMuwUsZ5rgzOc6Z334E7bjDojeqDH/ei2BDJahkZgz/CtVhqIymNXBMK9t+mStUkT9Jp8JbpcOQnX1p8fveihQ3Aw8a/yQoLpEENFrGJW1//TeLY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674063; c=relaxed/simple; bh=FLVOM1yiYyuAFtJIVpam2KGFjLS7vml22aG5VkRxxpQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hodLgAeBtQCkKKHiHafK5go7cjxO1O8ZMWvvAPwGFxM47DJbWLUdSPOGmi9BePaFYGFszviDI19WxgC1QH3IQz8lsSIdz058qtUO0+5GGgPjN+VHh2EFdZKIrNdEco2ZjLyc8YHpzyDZk7WHjp40CkKeve5lYRF/fay/aMEnwHE= 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=kBgbfLUo; 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="kBgbfLUo" Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3db9641b725so1489291f8f.2 for ; Fri, 12 Sep 2025 03:47:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674059; x=1758278859; 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=XOFjcyob18/q6ECu1uYjWXtT3k120lD6uL6jj6365H0=; b=kBgbfLUonxox/sKmbToMx1NBuoJbRMJveK5mp/chObYYlOJLCHWmFEKIgVfWkUYnT8 DhQqb5Y0gonYGr4mc9uKyNhp9tuSFTABh/Trt9qNShBM1EyhbnTChdltjVNcOn+vfXaa MNE6vwEHE/1IgAnLsKdXrdT6gF8+un+aSf92MEsc81Y/shIKN8G+rS6rrAQ5CdoTiN5g nX3DNthPHtxBsMuMksjxjwTqo4hxj6R4Yz1e4eGgkTZ1mdQORqiSSD8WqBULJWDl4ZBa RgCohY7o6ucSsZ3lA3XG8TLgsBNwxKKR8HT8eOTNxp/fHkWxjRykeK+q2DsEC+PVE7mE zNpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674059; x=1758278859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XOFjcyob18/q6ECu1uYjWXtT3k120lD6uL6jj6365H0=; b=j0YF2TXR7sgcOPTRToDKQpuUt4yWAajPjl8cnjIFOROvjgxEj9qBvkCfi90A/zMVkS ucHs3nhPZYY0XnAn6NbtDwH9dQ78749hNxVC4al8PU/0nULSXbT3/xqhJ+nOu1inUNaJ sTVuCW27tYpJs7vEXRQFVED+fbZB5zp1Qo6YXVQdZgBna/3jB29rPWbqW4oahoeKf52H OTewT8PCVQgc8f+d+Ui0GZ8Yd5HJvWEDdrTzuHzAPCQyP/cMv2BnfZMAcAL2DMile5l0 Wp9UR8o4wR0dy+mZMfaB/jYtEqRfjBl6Khu1vHJ61hmcoFbt0V7Tb0IX9oyk38pDC6W4 qUYQ== X-Forwarded-Encrypted: i=1; AJvYcCUXE9otLAF0FKKMhAIklLo15ZKRXWGkoC/PSa8SjwuBSEGJXJ4+UiBn3duGNHP+lfsyWCDMsh9FuwSUkl0=@vger.kernel.org X-Gm-Message-State: AOJu0YwaV0ZqaNv1hnXheTOWsYDpvuFei2pzGMYaAt0pazfw7th75hDs 5ESwruiOatuodKouWikZn1aF6ymLEWyn3632TFRcouMbZC83CgdIrkEK X-Gm-Gg: ASbGnctCI2vYkS4hJNtAyS0SS0CqelNXSNoZeH3LROO0u58ligAeCUDWprmFxr1v32C JrtlKTKTiUGlEETpSodAsHOikKNMl7qOkGsmnbZN+ZwZSAO6JLBlzYP4qh+DWA6qd/r2R1t/cB7 vdtGn6Xup5ig6Pk9m91M2/ufmSDR69Z1SdXQsaGWRccISYiXN0Ozv2nr2+qFJd3yCD8IgrTq9Yu 6mCxDWAJvOzd9Oy4ooxkMO5ho2aKFol/Y4MtqMPgnawStQYV6NIcI/UK6FA/jTnhAtns+T0Ddai HehVhuCH6TRsFid/FDgKpQAy4ABA5gRlJ2tVZB3JHTS/jT+eV2+/54C0dxZIlw8d5Q2zWyh9oy0 qxkgVvjm7ZBQl0Aash5abrsL3/mAJO2SRqnvDTqfcValeqkocIoCB/3kpBru8uPVm+EQgG0FBk8 pKLg== X-Google-Smtp-Source: AGHT+IG+MQ3VtX94CzZfBzHv/ax7NYQ5GX85/Fpluu2HaIVgidvgyUMgFKd0uhvvk9hwI25G0f/Uvw== X-Received: by 2002:a05:6000:18a4:b0:3e4:f194:288f with SMTP id ffacd0b85a97d-3e765a56cf5mr2172263f8f.62.1757674058849; Fri, 12 Sep 2025 03:47:38 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:38 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm 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 v2 6/7] can: rcar_canfd: Convert to DEFINE_SIMPLE_DEV_PM_OPS() Date: Fri, 12 Sep 2025 11:47:24 +0100 Message-ID: <20250912104733.173281-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 f0dfab177b98..a0c16a95808c 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2255,18 +2255,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 = }, @@ -2283,7 +2283,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 Thu Oct 2 18:21:54 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.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 7D9C62FE58C for ; Fri, 12 Sep 2025 10:47:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674064; cv=none; b=oFvdAVgvSZA+vxF8tOxDnzU5Pt53E/EoRJ45r3DF85ZjEveBWtCmWSZzgC2xIiYFr+w+P9Ymx7gUj5gVo8UoRAf91K2ohcnFZqHOJRCPDOoWJOF9Q7P1KSx7YGIoWNQa+f2up5O00dm42+pYXVSE3f4PKp9Q1qHmXa7YLCzH17w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757674064; c=relaxed/simple; bh=3y5nospWONScbR7m+PVwm9tYXQQF75CUI8JLYWPI5SA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZhyYJXzAd36bwqk7ipuvH75SXvhyktmZvn1DSNikp/wFh7WC+OJm8nstFjqJ/tvUEnIL0AS+7S9BN+2JDFykqTsDw3zTHSDdwal9mM2/kIS9oOHdHodPjfeTJqNss8hsiKPguhZlmOpNC5B2zF2S8LBhGKlCvI57JasyPJTfh3s= 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=D/Veuhmm; arc=none smtp.client-ip=209.85.221.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="D/Veuhmm" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3db9641b725so1489296f8f.2 for ; Fri, 12 Sep 2025 03:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757674059; x=1758278859; 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=mgzeJKT6W/ji7pCcEejwbhNcI8dE7vQD5tyb3XmbXbI=; b=D/VeuhmmgPnGBEd/uugjhKkG/wBu/MDcXUGXpv6R7fIDDQW5xOY5u/z8N1YM0A4fkq flAzA0ej+bTdX7FVlIs2EFGJwTLZrUePBwlJcn5YxdUSbh32joMyrwn5tl0JwjflxMgb vZoi1uVfw2EopyWR5Z6J/pTKzY6oKZZbP2tneb3WpIEz04DC89tlMrZVeZHW8OrUTFhP EXbF7RwRm95dsE4S3qK+6X1effpMqOrtbqWs0lojgdr0cFItg63S/H1R+WQQcAAepuB6 1o3b68dRqBkPzs3vSjxsP+TGPlsW6xds00emoZsowmCy2hZzMCnFHfb4JdwP2n86AEy4 CXNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757674059; x=1758278859; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mgzeJKT6W/ji7pCcEejwbhNcI8dE7vQD5tyb3XmbXbI=; b=N1WSs4zxyuYvexUUXJwk68FGhxRiYDt1cA7AN1qSWRVmfHtsw9F6v0KN8vYceYd/FD WDaH4tpC9tmwZVhZUO3kAKolLfsbaKn+VUWN59rjq5mhNzkPQhn5DqWkXMKh5bQDwWq6 O00KvPrIOkCxcOTS+ryR4YM3qM5/zQoeRHFRxJbBLRyx1LFFb0LL6Pwcp3iPzBEREI9W 3uoZrKDOllOZqDEfkL4M2++hZ/N3GqTIzv+Jl4Mk8Jh8mywtUHo+l2un1XDDFqJD8ToB laiK3I/QhseZ3ukMI4M8y6XHhdMO2I5z4hQ5mdUFs56G78jJcz1IPBP18Ql19ulVIC/w RPpw== X-Forwarded-Encrypted: i=1; AJvYcCUqphVGmE/h3umqbhRO7zNvFBoSrQ4r/cCZclSKZyeHIKR8tv2Ns3UyKpZwuVE67UplKWe6C0UcOs2djgI=@vger.kernel.org X-Gm-Message-State: AOJu0YzRz5+1d0tehKYmjyYdII/woUcmGZzwSciHj4EePjng4Ca/Cx+u 9Qvimq/lE18msrD71Aiem2DfeUAK/hIW6Q+d5p8tOt7TfYv54mCA/FKu X-Gm-Gg: ASbGncu3E86+YLe0qSFrs7q+qhH8es41X592bI6SkTKCm2pglnkjUImjoAj7MOG5b9I ya2/oyfcSd6CXxjdv8fHkS5x7vtUmf6pQALIz2sK1vQboTrNmKaHtxZ4k8AbbMN8qnNwkQ5zme5 eXNxPnM1SA/YZ4pUlkrJx2ofgcR1JaH66mUnVIdAtgKU940EKI9CQy5v3T30q9PydmcGd6ZtS02 3opIyhFbYlv/Ma7HVrVW8j3AAfdnBAPhV0yDyym1llh8THqeRSudZTzKH+eYBFOZZcSYQMDPqpG xELw+M9sf4j2KBMBBb45J1ldVKMuE5/flDvifhycf8/3GYy8LO7k+AXgeUp5354qqBXEtRgF/au zP9xiE6V3ZTYTSNju3NbmB4EnWQysN17IFSt77/B8v/FSpMZkiFZMcba195akGeWQSgYq7yRyg9 ThfDOTW8+nH/zc X-Google-Smtp-Source: AGHT+IEKxNYK+gyPooOCw0AGIOWMAbKnyvpe9JAaTYZFu44awUZ8ihxoSRmKAS28dBPN94ozwkbEzw== X-Received: by 2002:a5d:5847:0:b0:3e2:4a3e:d3fc with SMTP id ffacd0b85a97d-3e765a55c3emr2283673f8f.58.1757674059454; Fri, 12 Sep 2025 03:47:39 -0700 (PDT) Received: from biju.lan (host86-139-30-37.range86-139.btcentralplus.com. [86.139.30.37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3e7607cd329sm6197316f8f.31.2025.09.12.03.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Sep 2025 03:47:39 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Marc Kleine-Budde , Vincent Mailhol , Geert Uytterhoeven , Magnus Damm 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 v2 7/7] can: rcar_canfd: Add suspend/resume support Date: Fri, 12 Sep 2025 11:47:25 +0100 Message-ID: <20250912104733.173281-8-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250912104733.173281-1-biju.das.jz@bp.renesas.com> References: <20250912104733.173281-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 --- 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 a0c16a95808c..27301224edd4 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -2257,11 +2257,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