[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20241219-v4h-fcp-soft-reset-v1-2-026e72dca514@ideasonboard.com>
Date: Thu, 19 Dec 2024 19:38:30 +0100
From: Jacopo Mondi <jacopo.mondi+renesas@...asonboard.com>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Kieran Bingham <kieran.bingham+renesas@...asonboard.com>
Cc: linux-media@...r.kernel.org, linux-renesas-soc@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jacopo Mondi <jacopo.mondi+renesas@...asonboard.com>,
Koji Matsuoka <koji.matsuoka.xm@...esas.com>,
LUU HOAI <hoai.luu.ub@...esas.com>
Subject: [PATCH 2/2] rcar-fcp: Add FCPVD reset sequence for VSPD
From: Koji Matsuoka <koji.matsuoka.xm@...esas.com>
According to H/W manual v1.00, VSPD must be excecuted
FCP_RST.SOFTRST after VI6_SRESET.SRST. So this patch adds it.
VSPDL is not applicable.
Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@...esas.com>
Signed-off-by: LUU HOAI <hoai.luu.ub@...esas.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi+renesas@...asonboard.com>
---
drivers/media/platform/renesas/vsp1/vsp1_pipe.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/media/platform/renesas/vsp1/vsp1_pipe.c b/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
index bb0739f684f39e23326a4d8fdb9f43e020bc23c8..8dbbe92b522e49c795cf0b2bbe507871899ee15e 100644
--- a/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
+++ b/drivers/media/platform/renesas/vsp1/vsp1_pipe.c
@@ -13,6 +13,7 @@
#include <linux/wait.h>
#include <media/media-entity.h>
+#include <media/rcar-fcp.h>
#include <media/v4l2-subdev.h>
#include "vsp1.h"
@@ -367,6 +368,11 @@ int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
pipe->state = VSP1_PIPELINE_STOPPED;
spin_unlock_irqrestore(&pipe->irqlock, flags);
}
+
+ if ((vsp1->version & VI6_IP_VERSION_MODEL_MASK) ==
+ VI6_IP_VERSION_MODEL_VSPD_GEN3)
+ ret = rcar_fcp_soft_reset(vsp1->fcp);
+
} else {
/* Otherwise just request a stop and wait. */
spin_lock_irqsave(&pipe->irqlock, flags);
--
2.47.1
Powered by blists - more mailing lists