media: ti-vpe: cal: Add pixel processing context

CAL has 4 pixel processing contexts (PIX PROC) of which the driver
currently uses pix proc 0 for PHY0, and pix proc 1 for PHY1 (as the
driver supports only a single source per PHY).

Add a pix_proc field to cal_ctx to allow us to use different pix proc
contexts in the future

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.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:
Tomi Valkeinen 2021-06-14 13:23:20 +02:00 committed by Mauro Carvalho Chehab
parent 6266ddefec
commit 0de6f41a06
2 changed files with 6 additions and 4 deletions

View file

@ -355,16 +355,16 @@ static void cal_ctx_pix_proc_config(struct cal_ctx *ctx)
break;
}
val = cal_read(ctx->cal, CAL_PIX_PROC(ctx->index));
val = cal_read(ctx->cal, CAL_PIX_PROC(ctx->pix_proc));
cal_set_field(&val, extract, CAL_PIX_PROC_EXTRACT_MASK);
cal_set_field(&val, CAL_PIX_PROC_DPCMD_BYPASS, CAL_PIX_PROC_DPCMD_MASK);
cal_set_field(&val, CAL_PIX_PROC_DPCME_BYPASS, CAL_PIX_PROC_DPCME_MASK);
cal_set_field(&val, pack, CAL_PIX_PROC_PACK_MASK);
cal_set_field(&val, ctx->cport, CAL_PIX_PROC_CPORT_MASK);
cal_set_field(&val, 1, CAL_PIX_PROC_EN_MASK);
cal_write(ctx->cal, CAL_PIX_PROC(ctx->index), val);
ctx_dbg(3, ctx, "CAL_PIX_PROC(%d) = 0x%08x\n", ctx->index,
cal_read(ctx->cal, CAL_PIX_PROC(ctx->index)));
cal_write(ctx->cal, CAL_PIX_PROC(ctx->pix_proc), val);
ctx_dbg(3, ctx, "CAL_PIX_PROC(%u) = 0x%08x\n", ctx->pix_proc,
cal_read(ctx->cal, CAL_PIX_PROC(ctx->pix_proc)));
}
static void cal_ctx_wr_dma_config(struct cal_ctx *ctx)
@ -856,6 +856,7 @@ static struct cal_ctx *cal_ctx_create(struct cal_dev *cal, int inst)
ctx->index = inst;
ctx->csi2_ctx = inst;
ctx->cport = inst;
ctx->pix_proc = inst;
ret = cal_ctx_v4l2_init(ctx);
if (ret)

View file

@ -220,6 +220,7 @@ struct cal_ctx {
u8 index;
u8 cport;
u8 csi2_ctx;
u8 pix_proc;
};
extern unsigned int cal_debug;