static bool calculate_input_system_channel_cfg( input_system_channel_t *channel, input_system_input_port_t *input_port, input_system_cfg_t *isys_cfg, input_system_channel_cfg_t *channel_cfg) { bool rc; rc = calculate_stream2mmio_cfg( channel, input_port, isys_cfg, &(channel_cfg->stream2mmio_cfg)); if (rc == false) return false; rc = calculate_ibuf_ctrl_cfg( channel, input_port, isys_cfg, &(channel_cfg->ibuf_ctrl_cfg)); if (rc == false) return false; rc = calculate_isys2401_dma_cfg( channel, input_port, isys_cfg, &(channel_cfg->dma_cfg)); if (rc == false) return false; rc = calculate_isys2401_dma_port_cfg( channel, input_port, isys_cfg, false, &(channel_cfg->dma_src_port_cfg)); if (rc == false) return false; rc = calculate_isys2401_dma_port_cfg( channel, input_port, isys_cfg, false, &(channel_cfg->dma_dest_port_cfg)); if (rc == false) return false; return true; }
static bool calculate_input_system_channel_cfg( input_system_channel_t *channel, input_system_input_port_t *input_port, input_system_cfg_t *isys_cfg, input_system_channel_cfg_t *channel_cfg, bool metadata) { bool rc; rc = calculate_stream2mmio_cfg(isys_cfg, metadata, &(channel_cfg->stream2mmio_cfg)); if (rc == false) return false; rc = calculate_ibuf_ctrl_cfg( channel, input_port, isys_cfg, &(channel_cfg->ibuf_ctrl_cfg)); if (rc == false) return false; if (metadata) channel_cfg->ibuf_ctrl_cfg.stores_per_frame = isys_cfg->metadata.lines_per_frame; rc = calculate_isys2401_dma_cfg( channel, isys_cfg, &(channel_cfg->dma_cfg)); if (rc == false) return false; rc = calculate_isys2401_dma_port_cfg( isys_cfg, false, metadata, &(channel_cfg->dma_src_port_cfg)); if (rc == false) return false; rc = calculate_isys2401_dma_port_cfg( isys_cfg, isys_cfg->raw_packed, metadata, &(channel_cfg->dma_dest_port_cfg)); if (rc == false) return false; return true; }