Am Donnerstag, den 07.07.2016, 16:03 -0700 schrieb Steve Longerbeam:
> Adds functions to link and unlink IDMAC source channels to sink
> channels.
> 
> So far the following links are supported:
> 
> IPUV3_CHANNEL_IC_PRP_ENC_MEM -> IPUV3_CHANNEL_MEM_ROT_ENC
> PUV3_CHANNEL_IC_PRP_VF_MEM   -> IPUV3_CHANNEL_MEM_ROT_VF
> IPUV3_CHANNEL_IC_PP_MEM      -> IPUV3_CHANNEL_MEM_ROT_PP
> 
> More links can be added to the idmac_link_info[] array.
> 
> Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
> ---
>  drivers/gpu/ipu-v3/ipu-common.c | 112 
> ++++++++++++++++++++++++++++++++++++++++
>  include/video/imx-ipu-v3.h      |   3 ++
>  2 files changed, 115 insertions(+)
> 
> diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
> index 49af121..6d1676e 100644
> --- a/drivers/gpu/ipu-v3/ipu-common.c
> +++ b/drivers/gpu/ipu-v3/ipu-common.c
> @@ -730,6 +730,118 @@ void ipu_set_ic_src_mux(struct ipu_soc *ipu, int 
> csi_id, bool vdi)
>  }
>  EXPORT_SYMBOL_GPL(ipu_set_ic_src_mux);
>  
> +
> +/* IDMAC Channel Linking */
> +
> +struct idmac_link_reg_info {
> +     int chno;
> +     u32 reg;
> +     int shift;
> +     int bits;
> +     u32 sel;
> +};
> +
> +struct idmac_link_info {
> +     struct idmac_link_reg_info src;
> +     struct idmac_link_reg_info sink;
> +};
> +
> +static const struct idmac_link_info idmac_link_info[] = {
> +     {
> +             .src  = { 20, IPU_FS_PROC_FLOW1,  0, 4, 7 },
> +             .sink = { 45, IPU_FS_PROC_FLOW2,  0, 4, 1 },

Please use the defines here:
        IPUV3_CHANNEL_IC_PRP_ENC_MEM
        IPUV3_CHANNEL_MEM_ROT_ENC

> +     }, {
> +             .src =  { 21, IPU_FS_PROC_FLOW1,  8, 4, 8 },
> +             .sink = { 46, IPU_FS_PROC_FLOW2,  4, 4, 1 },

and so on.

> +     }, {
> +             .src =  { 22, IPU_FS_PROC_FLOW1, 16, 4, 5 },
> +             .sink = { 47, IPU_FS_PROC_FLOW2, 12, 4, 3 },
> +     },
> +};
[...]

regards
Philipp

Reply via email to