static int do_rdma_config_l(DISP_MODULE_ENUM module, disp_ddp_path_config* pConfig, void* handle) { RDMA_CONFIG_STRUCT * r_config = & pConfig->rdma_config; enum RDMA_MODE mode = rdma_config_mode(r_config->address); LCM_PARAMS *lcm_param = &(pConfig->dispif_config); unsigned int width = pConfig->dst_dirty ? pConfig->dst_w : r_config->width; unsigned int height = pConfig->dst_dirty ? pConfig->dst_h : r_config->height; if(pConfig->fps) { rdma_fps[rdma_index(module)] = pConfig->fps/100; } if(mode == RDMA_MODE_DIRECT_LINK && r_config->security != DISP_NORMAL_BUFFER) { DDPERR("%s: rdma directlink BUT is sec ??!!\n", __FUNCTION__); } rdma_config(module, mode, (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->address, // address (mode == RDMA_MODE_DIRECT_LINK) ? eRGB888 : r_config->inputFormat, // inputFormat (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->pitch, // pitch width, height, lcm_param->dsi.ufoe_enable, r_config->security, handle); return 0; }
static void main_disp_path_setup(u32 width, u32 height, u32 pixel_clk, bool dual_dsi_mode) { /* Setup OVL */ ovl_set_roi(width, height, 0); /* Setup RDMA0 */ rdma_config(width, height, pixel_clk); /* Setup OD */ od_start(width, height); /* Setup UFOE */ ufoe_start(width, height, dual_dsi_mode); if (dual_dsi_mode) split_start(); /* Setup Color */ color_start(width, height); /* Setup main path connection */ disp_config_main_path_connection(dual_dsi_mode); /* Setup main path mutex */ disp_config_main_path_mutex(); }
static int rdma_config_l(DISP_MODULE_ENUM module, disp_ddp_path_config* pConfig, void* handle) { RDMA_CONFIG_STRUCT * r_config = & pConfig->rdma_config; enum RDMA_MODE mode = r_config->address ? RDMA_MODE_MEMORY : RDMA_MODE_DIRECT_LINK; LCM_PARAMS *lcm_param = &(pConfig->dispif_config); if(pConfig->dst_dirty) { if(pConfig->fps) { rdma_fps[rdma_index(module)] = pConfig->fps/100; } //config to direct link mode rdma_config(module, mode, //RDMA_MODE_DIRECT_LINK, // link mode (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->address, // address (mode == RDMA_MODE_DIRECT_LINK) ? eRGB888 : r_config->inputFormat, // inputFormat (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->pitch, // pitch pConfig->dst_w, // width pConfig->dst_h, // height lcm_param->dsi.ufoe_enable, handle); } else if(pConfig->rdma_dirty) { if(pConfig->fps) { rdma_fps[rdma_index(module)] = pConfig->fps/100; } // decouple mode may use rdma_config(module, mode, // link mode (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->address, // address (mode == RDMA_MODE_DIRECT_LINK) ? eRGB888 : r_config->inputFormat, // inputFormat (mode == RDMA_MODE_DIRECT_LINK) ? 0 : r_config->pitch, // pitch r_config->width, // width r_config->height, // height lcm_param->dsi.ufoe_enable, handle); } return 0; }