1
0
Fork 0

MMFMWK-7674: PxP: add YVU420P support

PxP PS engine support YUV420 format, but not YVU420. The difference
between two format is U and V, if we exchange U and V base address,
the PxP driver can also support YVU420 format.

Signed-off-by: Guoniu.Zhou <guoniu.zhou@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
steinar/wifi_calib_4_9_kernel
Guoniu.Zhou 2017-08-31 09:39:12 +08:00
parent dec937f893
commit cbc71da10a
1 changed files with 7 additions and 0 deletions

View File

@ -1852,6 +1852,7 @@ static bool fmt_ps_support(uint32_t format)
case PXP_PIX_FMT_NV21:
case PXP_PIX_FMT_YUV422P:
case PXP_PIX_FMT_YUV420P:
case PXP_PIX_FMT_YVU420P:
case PXP_PIX_FMT_RGBA32:
case PXP_PIX_FMT_RGBX32:
case PXP_PIX_FMT_RGBA555:
@ -2379,7 +2380,13 @@ static int pxp_ps_config(struct pxp_pixmap *input,
pxp_writel(U + (offset >> 2), HW_PXP_PS_UBUF);
V = U + (input->width * input->height >> 2);
pxp_writel(V + (offset >> 2), HW_PXP_PS_VBUF);
} else if (input->format == PXP_PIX_FMT_YVU420P) {
U = input->paddr + input->width * input->height;
V = U + (input->width * input->height >> 2);
pxp_writel(U + (offset >> 2), HW_PXP_PS_VBUF);
pxp_writel(V + (offset >> 2), HW_PXP_PS_UBUF);
}
break;
default:
break;