Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 811a3f83 authored by Benoit Parrot's avatar Benoit Parrot Committed by Greg Kroah-Hartman
Browse files

media: ti-vpe: cal: fix disable_irqs to only the intended target



commit 1db56284b9da9056093681f28db48a09a243274b upstream.

disable_irqs() was mistakenly disabling all interrupts when called.
This cause all port stream to stop even if only stopping one of them.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarBenoit Parrot <bparrot@ti.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2c3dab1b
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -541,16 +541,16 @@ static void enable_irqs(struct cal_ctx *ctx)

static void disable_irqs(struct cal_ctx *ctx)
{
	u32 val;

	/* Disable IRQ_WDMA_END 0/1 */
	reg_write_field(ctx->dev,
			CAL_HL_IRQENABLE_CLR(2),
			CAL_HL_IRQ_CLEAR,
			CAL_HL_IRQ_MASK(ctx->csi2_port));
	val = 0;
	set_field(&val, CAL_HL_IRQ_CLEAR, CAL_HL_IRQ_MASK(ctx->csi2_port));
	reg_write(ctx->dev, CAL_HL_IRQENABLE_CLR(2), val);
	/* Disable IRQ_WDMA_START 0/1 */
	reg_write_field(ctx->dev,
			CAL_HL_IRQENABLE_CLR(3),
			CAL_HL_IRQ_CLEAR,
			CAL_HL_IRQ_MASK(ctx->csi2_port));
	val = 0;
	set_field(&val, CAL_HL_IRQ_CLEAR, CAL_HL_IRQ_MASK(ctx->csi2_port));
	reg_write(ctx->dev, CAL_HL_IRQENABLE_CLR(3), val);
	/* Todo: Add VC_IRQ and CSI2_COMPLEXIO_IRQ handling */
	reg_write(ctx->dev, CAL_CSI2_VC_IRQENABLE(1), 0);
}