From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Paul Elder <paul.elder+renesas@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney+clk@redhat.com>,
Jerome Brunet <jbrunet+clk@baylibre.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Magnus Damm <magnus.damm@gmail.com>,
Ulf Hansson <ulfh@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-pm@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [PATCH v2 10/11] media: rcar-fcp: Handle resets
Date: Sat, 19 Sep 2026 21:15:57 +0300 [thread overview]
Message-ID: <20260919181557.GK1124359@killaraus.ideasonboard.com> (raw)
In-Reply-To: <20260919-epaul-v7-3-rc1-x5h-vsp-fcp-v2-10-dbe9236bfd22@ideasonboard.com>
Hi Paul,
Thank you for the patch.
On Sat, Sep 19, 2026 at 02:07:07AM +0900, Paul Elder wrote:
> On some versions of the FCP, such as the one on the X5H, reset control
> is required to operate the FCP. Add support for handling resets
> optionally, to continue supporting versions that do not require it.
>
> Signed-off-by: Paul Elder <paul.elder+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> Changes in v2:
> - handle errors
> ---
> drivers/media/platform/renesas/rcar-fcp.c | 30 ++++++++++++++++++++++++++++--
> 1 file changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-fcp.c b/drivers/media/platform/renesas/rcar-fcp.c
> index dfb0ca93e854dd0bb8aedfb757fd786ef6e45542..76d4c250b30815d9eac58f9b54ad923748df79f6 100644
> --- a/drivers/media/platform/renesas/rcar-fcp.c
> +++ b/drivers/media/platform/renesas/rcar-fcp.c
> @@ -16,6 +16,7 @@
> #include <linux/mutex.h>
> #include <linux/platform_device.h>
> #include <linux/pm_runtime.h>
> +#include <linux/reset.h>
> #include <linux/slab.h>
>
> #include <media/rcar-fcp.h>
> @@ -29,6 +30,7 @@ struct rcar_fcp_device {
> struct list_head list;
> struct device *dev;
> void __iomem *base;
> + struct reset_control *rstc;
> };
>
> static LIST_HEAD(fcp_devices);
> @@ -162,20 +164,25 @@ static int rcar_fcp_probe(struct platform_device *pdev)
>
> fcp->dev = &pdev->dev;
>
> + platform_set_drvdata(pdev, fcp);
> +
> fcp->base = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(fcp->base))
> return PTR_ERR(fcp->base);
>
> dma_set_max_seg_size(fcp->dev, UINT_MAX);
>
> + fcp->rstc = devm_reset_control_get_optional(&pdev->dev, NULL);
> + if (IS_ERR(fcp->rstc))
> + return dev_err_probe(&pdev->dev, PTR_ERR(fcp->rstc),
> + "failed to get reset control\n");
> +
> pm_runtime_enable(&pdev->dev);
>
> mutex_lock(&fcp_lock);
> list_add_tail(&fcp->list, &fcp_devices);
> mutex_unlock(&fcp_lock);
>
> - platform_set_drvdata(pdev, fcp);
> -
> return 0;
> }
>
> @@ -190,6 +197,24 @@ static void rcar_fcp_remove(struct platform_device *pdev)
> pm_runtime_disable(&pdev->dev);
> }
>
> +static int fcp_pm_runtime_suspend(struct device *dev)
> +{
> + struct rcar_fcp_device *fcp = dev_get_drvdata(dev);
> +
> + return reset_control_assert(fcp->rstc);
> +}
> +
> +static int fcp_pm_runtime_resume(struct device *dev)
> +{
> + struct rcar_fcp_device *fcp = dev_get_drvdata(dev);
> +
> + return reset_control_deassert(fcp->rstc);
> +}
> +
> +static const struct dev_pm_ops fcp_pm_ops = {
> + RUNTIME_PM_OPS(fcp_pm_runtime_suspend, fcp_pm_runtime_resume, NULL)
> +};
> +
> static const struct of_device_id rcar_fcp_of_match[] = {
> { .compatible = "renesas,fcpf" },
> { .compatible = "renesas,fcpv" },
> @@ -202,6 +227,7 @@ static struct platform_driver rcar_fcp_platform_driver = {
> .remove = rcar_fcp_remove,
> .driver = {
> .name = "rcar-fcp",
> + .pm = pm_ptr(&fcp_pm_ops),
> .of_match_table = rcar_fcp_of_match,
> .suppress_bind_attrs = true,
> },
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2026-09-19 18:16 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 17:06 [PATCH DNI v2 00/11] media: rcar-fcp, vsp1: Enable on R-Car X5H Paul Elder
2026-09-18 17:06 ` [PATCH DNI v2 01/11] dt-bindings: clock: renesas,r8a78000-cpg: Add CPG_SGD4_VIO_DP_{TX,OTHER} Paul Elder
2026-09-18 17:06 ` [PATCH DNI v2 02/11] clk: renesas: r8a78000: Add clock for FCPV and VSP for SCP FW SDKv4.36 Paul Elder
2026-09-18 17:07 ` [PATCH v2 03/11] pmdomain: renesas: r8a78000: Add maps for VIO " Paul Elder
2026-09-18 17:18 ` sashiko-bot
2026-09-19 17:40 ` Laurent Pinchart
2026-09-18 17:07 ` [PATCH v2 04/11] arm64: renesas: r8a78000: Add FCPV[BI] nodes Paul Elder
2026-09-18 17:18 ` sashiko-bot
2026-09-18 17:07 ` [PATCH v2 05/11] arm64: renesas: r8a78000: Add VSP[BI] nodes Paul Elder
2026-09-18 17:07 ` [PATCH v2 06/11] arm64: renesas: r8a78000: Add FCPVD and VSPD nodes Paul Elder
2026-09-19 17:56 ` Laurent Pinchart
2026-09-18 17:07 ` [PATCH v2 07/11] media: vsp1: Support full VSPB on R-Car M3-W, M3-N and E3 Paul Elder
2026-09-18 17:07 ` [PATCH v2 08/11] media: vsp1: Document X5H SoC ID Paul Elder
2026-09-19 17:58 ` Laurent Pinchart
2026-09-24 9:16 ` Paul Elder
2026-09-24 14:38 ` Laurent Pinchart
2026-09-18 17:07 ` [PATCH v2 09/11] media: vsp1: Add device info entries for VSPD on X5H Paul Elder
2026-09-18 17:17 ` sashiko-bot
2026-09-19 18:11 ` Laurent Pinchart
2026-09-18 17:07 ` [PATCH v2 10/11] media: rcar-fcp: Handle resets Paul Elder
2026-09-18 17:23 ` sashiko-bot
2026-09-19 18:15 ` Laurent Pinchart [this message]
2026-09-18 17:07 ` [PATCH DNI v2 11/11] media: rcar-fcp: Check device revision at probe time Paul Elder
2026-09-18 17:15 ` sashiko-bot
2026-09-21 7:41 ` [PATCH DNI v2 00/11] media: rcar-fcp, vsp1: Enable on R-Car X5H Geert Uytterhoeven
2026-09-21 7:51 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260919181557.GK1124359@killaraus.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=bmasney+clk@redhat.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=jbrunet+clk@baylibre.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mchehab@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=paul.elder+renesas@ideasonboard.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=ulfh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.