mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 05:24:12 +08:00
media: ti-vpe: cal: fix disable_irqs to only the intended target
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: Benoit Parrot <bparrot@ti.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
e3004605a0
commit
1db56284b9
@ -722,16 +722,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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user