• Steve Longerbeam's avatar
    gpu: ipu-v3: Add FSU channel linking support · ac4708fa
    Steve Longerbeam authored
    Adds functions to link and unlink source channels to sink
    channels in the FSU:
    
    int ipu_fsu_link(struct ipu_soc *ipu, int src_ch, int sink_ch);
    int ipu_fsu_unlink(struct ipu_soc *ipu, int src_ch, int sink_ch);
    
    The channels numbers are usually IDMAC channels, but they can also be
    channels that do not transfer data to or from memory. The following
    convenience functions can be used in place of ipu_fsu_link/unlink()
    when both source and sink channels are IDMAC channels:
    
    int ipu_idmac_link(struct ipuv3_channel *src, struct ipuv3_channel *sink);
    int ipu_idmac_unlink(struct ipuv3_channel *src, struct ipuv3_channel *sink);
    
    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
    IPUV3_CHANNEL_CSI_DIRECT     -> IPUV3_CHANNEL_CSI_VDI_PREV
    
    More links can be added to the fsu_link_info[] array.
    Signed-off-by: default avatarSteve Longerbeam <steve_longerbeam@mentor.com>
    Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    ac4708fa
ipu-prv.h 8.13 KB