Esempio n. 1
0
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;
	}	
Esempio n. 2
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();
}
Esempio n. 3
0
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;
}