Commit 9b7e558c authored by Koji Matsuoka's avatar Koji Matsuoka Committed by Hans Verkuil
Browse files

media: vsp1: Reset FCP after VSPD



According to the R-Car Gen3 H/W manual v2.40, and R-Car Gen4 H/W manual
v1.20, the FCP must be reset after resetting the VSPD, except for the
VSPDL. Do so.

Signed-off-by: default avatarKoji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: default avatarLUU HOAI <hoai.luu.ub@renesas.com>
Signed-off-by: default avatarJacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Link: https://lore.kernel.org/r/20250616-vspx-reset-v2-2-6cc12ed7e9bb@ideasonboard.com


Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
parent 6c1dedf8
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include "vsp1_lif.h"
#include "vsp1_lut.h"
#include "vsp1_pipe.h"
#include "vsp1_regs.h"
#include "vsp1_rwpf.h"
#include "vsp1_sru.h"
#include "vsp1_uds.h"
@@ -502,7 +503,9 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)

int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index)
{
	u32 version = vsp1->version & VI6_IP_VERSION_MODEL_MASK;
	unsigned int timeout;
	int ret = 0;
	u32 status;

	status = vsp1_read(vsp1, VI6_STATUS);
@@ -523,7 +526,11 @@ int vsp1_reset_wpf(struct vsp1_device *vsp1, unsigned int index)
		return -ETIMEDOUT;
	}

	return 0;
	if (version == VI6_IP_VERSION_MODEL_VSPD_GEN3 ||
	    version == VI6_IP_VERSION_MODEL_VSPD_GEN4)
		ret = rcar_fcp_soft_reset(vsp1->fcp);

	return ret;
}

static int vsp1_device_init(struct vsp1_device *vsp1)