Message ID | 20230105134729.59542-6-m.tretter@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: imx-pxp: add support for i.MX7D | expand |
Hi Michael, Thank you for the patch. On Thu, Jan 05, 2023 at 02:47:26PM +0100, Michael Tretter wrote: > The LUT block is always configured in bypass mode. > > Take it entirely out of the pipeline by disabling it and routing the > data path around the LUT. > > Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/media/platform/nxp/imx-pxp.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c > index 6ffd07cda965..1d649b9cadad 100644 > --- a/drivers/media/platform/nxp/imx-pxp.c > +++ b/drivers/media/platform/nxp/imx-pxp.c > @@ -737,11 +737,10 @@ static u32 pxp_data_path_ctrl0(struct pxp_ctx *ctx) > ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX13_SEL(3); > /* Select Rotation */ > ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX12_SEL(0); > - /* Select LUT */ > - ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX11_SEL(0); > + /* Bypass LUT */ > + ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX11_SEL(1); > ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX10_SEL(3); > - /* Select MUX8 for LUT */ > - ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX9_SEL(1); > + ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX9_SEL(3); > /* Select CSC 2 */ > ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX8_SEL(0); > ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX7_SEL(3); > @@ -966,7 +965,7 @@ static int pxp_start(struct pxp_ctx *ctx, struct vb2_v4l2_buffer *in_vb, > /* ungate, enable PS/AS/OUT and PXP operation */ > writel(BM_PXP_CTRL_IRQ_ENABLE, dev->mmio + HW_PXP_CTRL_SET); > writel(BM_PXP_CTRL_ENABLE | BM_PXP_CTRL_ENABLE_CSC2 | > - BM_PXP_CTRL_ENABLE_LUT | BM_PXP_CTRL_ENABLE_ROTATE0 | > + BM_PXP_CTRL_ENABLE_ROTATE0 | > BM_PXP_CTRL_ENABLE_PS_AS_OUT, dev->mmio + HW_PXP_CTRL_SET); > > return 0;
diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c index 6ffd07cda965..1d649b9cadad 100644 --- a/drivers/media/platform/nxp/imx-pxp.c +++ b/drivers/media/platform/nxp/imx-pxp.c @@ -737,11 +737,10 @@ static u32 pxp_data_path_ctrl0(struct pxp_ctx *ctx) ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX13_SEL(3); /* Select Rotation */ ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX12_SEL(0); - /* Select LUT */ - ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX11_SEL(0); + /* Bypass LUT */ + ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX11_SEL(1); ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX10_SEL(3); - /* Select MUX8 for LUT */ - ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX9_SEL(1); + ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX9_SEL(3); /* Select CSC 2 */ ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX8_SEL(0); ctrl0 |= BF_PXP_DATA_PATH_CTRL0_MUX7_SEL(3); @@ -966,7 +965,7 @@ static int pxp_start(struct pxp_ctx *ctx, struct vb2_v4l2_buffer *in_vb, /* ungate, enable PS/AS/OUT and PXP operation */ writel(BM_PXP_CTRL_IRQ_ENABLE, dev->mmio + HW_PXP_CTRL_SET); writel(BM_PXP_CTRL_ENABLE | BM_PXP_CTRL_ENABLE_CSC2 | - BM_PXP_CTRL_ENABLE_LUT | BM_PXP_CTRL_ENABLE_ROTATE0 | + BM_PXP_CTRL_ENABLE_ROTATE0 | BM_PXP_CTRL_ENABLE_PS_AS_OUT, dev->mmio + HW_PXP_CTRL_SET); return 0;
The LUT block is always configured in bypass mode. Take it entirely out of the pipeline by disabling it and routing the data path around the LUT. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> --- drivers/media/platform/nxp/imx-pxp.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)