staging: drm/imx: Add ipu_cpmem_set_yuv_interleaved()
For configuring interleaved formats. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a8e4e232ba
commit
0125f21b2b
@ -293,6 +293,7 @@ static inline void ipu_cpmem_interlaced_scan(struct ipu_ch_param *p,
|
|||||||
|
|
||||||
void ipu_cpmem_set_yuv_planar(struct ipu_ch_param __iomem *p, u32 pixel_format,
|
void ipu_cpmem_set_yuv_planar(struct ipu_ch_param __iomem *p, u32 pixel_format,
|
||||||
int stride, int height);
|
int stride, int height);
|
||||||
|
void ipu_cpmem_set_yuv_interleaved(struct ipu_ch_param *p, u32 pixel_format);
|
||||||
void ipu_cpmem_set_yuv_planar_full(struct ipu_ch_param __iomem *p,
|
void ipu_cpmem_set_yuv_planar_full(struct ipu_ch_param __iomem *p,
|
||||||
u32 pixel_format, int stride, int u_offset, int v_offset);
|
u32 pixel_format, int stride, int u_offset, int v_offset);
|
||||||
int ipu_cpmem_set_fmt(struct ipu_ch_param __iomem *cpmem, u32 pixelformat);
|
int ipu_cpmem_set_fmt(struct ipu_ch_param __iomem *cpmem, u32 pixelformat);
|
||||||
|
@ -225,6 +225,23 @@ int ipu_cpmem_set_format_passthrough(struct ipu_ch_param __iomem *p,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(ipu_cpmem_set_format_passthrough);
|
EXPORT_SYMBOL_GPL(ipu_cpmem_set_format_passthrough);
|
||||||
|
|
||||||
|
void ipu_cpmem_set_yuv_interleaved(struct ipu_ch_param *p, u32 pixel_format)
|
||||||
|
{
|
||||||
|
switch (pixel_format) {
|
||||||
|
case V4L2_PIX_FMT_UYVY:
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_BPP, 3); /* bits/pixel */
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_PFS, 0xA); /* pix format */
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_NPB, 31); /* burst size */
|
||||||
|
break;
|
||||||
|
case V4L2_PIX_FMT_YUYV:
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_BPP, 3); /* bits/pixel */
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_PFS, 0x8); /* pix format */
|
||||||
|
ipu_ch_param_write_field(p, IPU_FIELD_NPB, 31); /* burst size */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(ipu_cpmem_set_yuv_interleaved);
|
||||||
|
|
||||||
void ipu_cpmem_set_yuv_planar_full(struct ipu_ch_param __iomem *p,
|
void ipu_cpmem_set_yuv_planar_full(struct ipu_ch_param __iomem *p,
|
||||||
u32 pixel_format, int stride, int u_offset, int v_offset)
|
u32 pixel_format, int stride, int u_offset, int v_offset)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user