ipuv3_channel
struct ipuv3_channel;
struct ipuv3_channel *ipu_ch;
struct ipuv3_channel *alpha_ch;
int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel,
struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned num)
struct ipuv3_channel *channel;
void ipu_idmac_put(struct ipuv3_channel *channel)
static void __ipu_idmac_reset_current_buffer(struct ipuv3_channel *channel)
void ipu_idmac_set_double_buffer(struct ipuv3_channel *channel,
int ipu_idmac_lock_enable(struct ipuv3_channel *channel, int num_bursts)
int ipu_idmac_get_current_buffer(struct ipuv3_channel *channel)
bool ipu_idmac_buffer_is_ready(struct ipuv3_channel *channel, u32 buf_num)
void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num)
void ipu_idmac_clear_buffer(struct ipuv3_channel *channel, u32 buf_num)
int ipu_idmac_enable_channel(struct ipuv3_channel *channel)
int ipu_idmac_wait_busy(struct ipuv3_channel *channel, int ms)
int ipu_idmac_disable_channel(struct ipuv3_channel *channel)
void ipu_idmac_enable_watermark(struct ipuv3_channel *channel, bool enable)
int ipu_idmac_link(struct ipuv3_channel *src, struct ipuv3_channel *sink)
int ipu_idmac_unlink(struct ipuv3_channel *src, struct ipuv3_channel *sink)
static void ipu_ch_param_write_field(struct ipuv3_channel *ch, u32 wbs, u32 v)
static u32 ipu_ch_param_read_field(struct ipuv3_channel *ch, u32 wbs)
void ipu_cpmem_zero(struct ipuv3_channel *ch)
void ipu_cpmem_set_resolution(struct ipuv3_channel *ch, int xres, int yres)
void ipu_cpmem_skip_odd_chroma_rows(struct ipuv3_channel *ch)
void ipu_cpmem_set_stride(struct ipuv3_channel *ch, int stride)
void ipu_cpmem_set_high_priority(struct ipuv3_channel *ch)
void ipu_cpmem_set_buffer(struct ipuv3_channel *ch, int bufnum, dma_addr_t buf)
void ipu_cpmem_set_uv_offset(struct ipuv3_channel *ch, u32 u_off, u32 v_off)
void ipu_cpmem_interlaced_scan(struct ipuv3_channel *ch, int stride,
void ipu_cpmem_set_axi_id(struct ipuv3_channel *ch, u32 id)
void ipu_cpmem_set_burstsize(struct ipuv3_channel *ch, int burstsize)
void ipu_cpmem_set_block_mode(struct ipuv3_channel *ch)
void ipu_cpmem_set_rotation(struct ipuv3_channel *ch,
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
int ipu_cpmem_set_format_passthrough(struct ipuv3_channel *ch, int width)
void ipu_cpmem_set_yuv_planar_full(struct ipuv3_channel *ch,
static void ipu_cpmem_set_separate_alpha(struct ipuv3_channel *ch)
int ipu_cpmem_set_fmt(struct ipuv3_channel *ch, u32 drm_fourcc)
int ipu_cpmem_set_image(struct ipuv3_channel *ch, struct ipu_image *image)
void ipu_cpmem_dump(struct ipuv3_channel *ch)
ipu_get_cpmem(struct ipuv3_channel *ch)
int ipu_ic_task_idma_init(struct ipu_ic *ic, struct ipuv3_channel *channel,
struct ipuv3_channel *channel,
struct ipuv3_channel *outch;
struct ipuv3_channel *channel)
struct ipuv3_channel *in_chan;
struct ipuv3_channel *out_chan;
struct ipuv3_channel *rotation_in_chan;
struct ipuv3_channel *rotation_out_chan;
void ipu_prg_channel_disable(struct ipuv3_channel *ipu_chan)
int ipu_prg_channel_configure(struct ipuv3_channel *ipu_chan,
bool ipu_prg_channel_configure_pending(struct ipuv3_channel *ipu_chan)
struct ipuv3_channel *out_ch, *rot_in_ch, *rot_out_ch;
static void prp_vb2_buf_done(struct prp_priv *priv, struct ipuv3_channel *ch)
struct ipuv3_channel *channel;
struct ipuv3_channel *channel,
struct ipuv3_channel *out_ch;
struct ipuv3_channel *rot_in_ch;
struct ipuv3_channel *rot_out_ch;
struct ipuv3_channel *idmac_ch;
struct ipuv3_channel *idmac_ch;
struct ipuv3_channel *ch;
struct ipuv3_channel *channel,
struct ipuv3_channel *vdi_in_ch_p; /* F(n-1) transfer channel */
struct ipuv3_channel *vdi_in_ch; /* F(n) transfer channel */
struct ipuv3_channel *vdi_in_ch_n; /* F(n+1) transfer channel */
struct ipuv3_channel;
int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel,
struct ipuv3_channel *ipu_idmac_get(struct ipu_soc *ipu, unsigned channel);
void ipu_idmac_put(struct ipuv3_channel *);
int ipu_idmac_enable_channel(struct ipuv3_channel *channel);
int ipu_idmac_disable_channel(struct ipuv3_channel *channel);
void ipu_idmac_enable_watermark(struct ipuv3_channel *channel, bool enable);
int ipu_idmac_lock_enable(struct ipuv3_channel *channel, int num_bursts);
int ipu_idmac_wait_busy(struct ipuv3_channel *channel, int ms);
void ipu_idmac_set_double_buffer(struct ipuv3_channel *channel,
int ipu_idmac_get_current_buffer(struct ipuv3_channel *channel);
bool ipu_idmac_buffer_is_ready(struct ipuv3_channel *channel, u32 buf_num);
void ipu_idmac_select_buffer(struct ipuv3_channel *channel, u32 buf_num);
void ipu_idmac_clear_buffer(struct ipuv3_channel *channel, u32 buf_num);
int ipu_idmac_link(struct ipuv3_channel *src, struct ipuv3_channel *sink);
int ipu_idmac_unlink(struct ipuv3_channel *src, struct ipuv3_channel *sink);
void ipu_cpmem_zero(struct ipuv3_channel *ch);
void ipu_cpmem_set_resolution(struct ipuv3_channel *ch, int xres, int yres);
void ipu_cpmem_skip_odd_chroma_rows(struct ipuv3_channel *ch);
void ipu_cpmem_set_stride(struct ipuv3_channel *ch, int stride);
void ipu_cpmem_set_high_priority(struct ipuv3_channel *ch);
void ipu_cpmem_set_buffer(struct ipuv3_channel *ch, int bufnum, dma_addr_t buf);
void ipu_cpmem_set_uv_offset(struct ipuv3_channel *ch, u32 u_off, u32 v_off);
void ipu_cpmem_interlaced_scan(struct ipuv3_channel *ch, int stride,
void ipu_cpmem_set_axi_id(struct ipuv3_channel *ch, u32 id);
void ipu_cpmem_set_burstsize(struct ipuv3_channel *ch, int burstsize);
void ipu_cpmem_set_block_mode(struct ipuv3_channel *ch);
void ipu_cpmem_set_rotation(struct ipuv3_channel *ch,
int ipu_cpmem_set_format_rgb(struct ipuv3_channel *ch,
int ipu_cpmem_set_format_passthrough(struct ipuv3_channel *ch, int width);
void ipu_cpmem_set_yuv_planar_full(struct ipuv3_channel *ch,
int ipu_cpmem_set_fmt(struct ipuv3_channel *ch, u32 drm_fourcc);
int ipu_cpmem_set_image(struct ipuv3_channel *ch, struct ipu_image *image);
void ipu_cpmem_dump(struct ipuv3_channel *ch);
struct dmfc_channel *ipu_dmfc_get(struct ipu_soc *ipu, int ipuv3_channel);
void ipu_prg_channel_disable(struct ipuv3_channel *ipu_chan);
int ipu_prg_channel_configure(struct ipuv3_channel *ipu_chan,
bool ipu_prg_channel_configure_pending(struct ipuv3_channel *ipu_chan);
int ipu_ic_task_idma_init(struct ipu_ic *ic, struct ipuv3_channel *channel,