Example #1
0
static int hdmi_tx_init_panel_info(uint32_t resolution,
	struct mdss_panel_info *pinfo)
{
	const struct hdmi_disp_mode_timing_type *timing =
		hdmi_get_supported_mode(resolution);

	if (!timing || !pinfo) {
		DEV_ERR("%s: invalid input.\n", __func__);
		return -EINVAL;
	}

	pinfo->xres = timing->active_h;
	pinfo->yres = timing->active_v;
	pinfo->clk_rate = timing->pixel_freq*1000;

	pinfo->lcdc.h_back_porch = timing->back_porch_h;
	pinfo->lcdc.h_front_porch = timing->front_porch_h;
	pinfo->lcdc.h_pulse_width = timing->pulse_width_h;
	pinfo->lcdc.v_back_porch = timing->back_porch_v;
	pinfo->lcdc.v_front_porch = timing->front_porch_v;
	pinfo->lcdc.v_pulse_width = timing->pulse_width_v;

	pinfo->type = DTV_PANEL;
	pinfo->pdest = DISPLAY_2;
	pinfo->wait_cycle = 0;
	pinfo->bpp = 24;
	pinfo->fb_num = 1;

	pinfo->lcdc.border_clr = 0; /* blk */
	pinfo->lcdc.underflow_clr = 0xff; /* blue */
	pinfo->lcdc.hsync_skew = 0;

	return 0;
} /* hdmi_tx_init_panel_info */
Example #2
0
static void anx7808_setup_video_mode_lut(void)
{
	int i;
	struct msm_hdmi_mode_timing_info *temp_timing;

	for (i = 0; i < HDMI_VFRMT_MAX; i++) {
		temp_timing = (struct msm_hdmi_mode_timing_info *)
				hdmi_get_supported_mode(i);
		if (!temp_timing)
			continue;

		/* formats that exceed max active_h */
		if (temp_timing->active_h > ANX7808_MAX_ACTIVE_H) {
			pr_debug("disabled mode (%d)\n", temp_timing->active_h);
			hdmi_del_supported_mode(i);
		}
	}
}