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

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

commit 1db56284 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
...@@ -541,16 +541,16 @@ static void enable_irqs(struct cal_ctx *ctx) ...@@ -541,16 +541,16 @@ static void enable_irqs(struct cal_ctx *ctx)
static void disable_irqs(struct cal_ctx *ctx) static void disable_irqs(struct cal_ctx *ctx)
{ {
u32 val;
/* Disable IRQ_WDMA_END 0/1 */ /* Disable IRQ_WDMA_END 0/1 */
reg_write_field(ctx->dev, val = 0;
CAL_HL_IRQENABLE_CLR(2), set_field(&val, CAL_HL_IRQ_CLEAR, CAL_HL_IRQ_MASK(ctx->csi2_port));
CAL_HL_IRQ_CLEAR, reg_write(ctx->dev, CAL_HL_IRQENABLE_CLR(2), val);
CAL_HL_IRQ_MASK(ctx->csi2_port));
/* Disable IRQ_WDMA_START 0/1 */ /* Disable IRQ_WDMA_START 0/1 */
reg_write_field(ctx->dev, val = 0;
CAL_HL_IRQENABLE_CLR(3), set_field(&val, CAL_HL_IRQ_CLEAR, CAL_HL_IRQ_MASK(ctx->csi2_port));
CAL_HL_IRQ_CLEAR, reg_write(ctx->dev, CAL_HL_IRQENABLE_CLR(3), val);
CAL_HL_IRQ_MASK(ctx->csi2_port));
/* Todo: Add VC_IRQ and CSI2_COMPLEXIO_IRQ handling */ /* Todo: Add VC_IRQ and CSI2_COMPLEXIO_IRQ handling */
reg_write(ctx->dev, CAL_CSI2_VC_IRQENABLE(1), 0); reg_write(ctx->dev, CAL_CSI2_VC_IRQENABLE(1), 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment