diff options
author | Fancy Fang <chen.fang@freescale.com> | 2015-04-15 16:55:05 +0800 |
---|---|---|
committer | guoyin.chen <guoyin.chen@freescale.com> | 2015-05-08 17:26:37 +0800 |
commit | a3659c8dd143da0741fce770d93305aaf3008328 (patch) | |
tree | 7b0ac371aae7153f7a159672a1cea4e6bc4cfb8f | |
parent | 2ca64a0d5de29b172251a1233654b39afd40ac2f (diff) |
MLK-10573-4 dma: pxp-v3: add two planes output support
The output channel support two planes YUV formats.
So the output UV buffer should also be configured
in this case.
Signed-off-by: Fancy Fang <chen.fang@freescale.com>
(cherry picked from commit 39a6cdaaccc9a0878fbce639d5f3ec2e195e48b6)
-rw-r--r-- | drivers/dma/pxp/pxp_dma_v3.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/dma/pxp/pxp_dma_v3.c b/drivers/dma/pxp/pxp_dma_v3.c index b5fa834c6ca1..d7c4e30fe68f 100644 --- a/drivers/dma/pxp/pxp_dma_v3.c +++ b/drivers/dma/pxp/pxp_dma_v3.c @@ -545,6 +545,18 @@ static void pxp_set_outbuf(struct pxps *pxp) __raw_writel(out_params->paddr, pxp->base + HW_PXP_OUT_BUF); + if ((out_params->pixel_fmt == PXP_PIX_FMT_NV12) || + (out_params->pixel_fmt == PXP_PIX_FMT_NV21) || + (out_params->pixel_fmt == PXP_PIX_FMT_NV16) || + (out_params->pixel_fmt == PXP_PIX_FMT_NV61)) { + dma_addr_t Y, U; + + Y = out_params->paddr; + U = Y + (out_params->width * out_params->height); + + __raw_writel(U, pxp->base + HW_PXP_OUT_BUF2); + } + if (proc_data->rotate == 90 || proc_data->rotate == 270) __raw_writel(BF_PXP_OUT_LRC_X(out_params->height - 1) | BF_PXP_OUT_LRC_Y(out_params->width - 1), |