Commit 9eaca40c authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Mauro Carvalho Chehab
Browse files

media: ti-vpe: cal: add camerarx enable/disable refcounting



The following patches add multistream support and we will have multiple
video devices using the same camerarx instances. Thus we need
enable/disable refcounting for the camerarx.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 6cb0eee3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -285,6 +285,11 @@ static int cal_camerarx_start(struct cal_camerarx *phy)
	u32 val;
	int ret;

	if (phy->enable_count > 0) {
		phy->enable_count++;
		return 0;
	}

	link_freq = cal_camerarx_get_ext_link_freq(phy);
	if (link_freq < 0)
		return link_freq;
@@ -409,6 +414,8 @@ static int cal_camerarx_start(struct cal_camerarx *phy)
	/* Finally, enable the PHY Protocol Interface (PPI). */
	cal_camerarx_ppi_enable(phy);

	phy->enable_count++;

	return 0;
}

@@ -416,6 +423,9 @@ static void cal_camerarx_stop(struct cal_camerarx *phy)
{
	int ret;

	if (--phy->enable_count > 0)
		return;

	cal_camerarx_ppi_disable(phy);

	cal_camerarx_disable_irqs(phy);
+3 −0
Original line number Diff line number Diff line
@@ -167,8 +167,11 @@ struct cal_camerarx {
	/*
	 * Lock for camerarx ops. Protects:
	 * - formats
	 * - enable_count
	 */
	struct mutex		mutex;

	unsigned int		enable_count;
};

struct cal_dev {