static void mdfld_init_panel(struct drm_device *dev, int mipi_pipe,
								int p_type)
{
	switch (p_type) {
	case TPO_VID:
		mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tpo_vid_funcs);
		break;
	case TC35876X:
		tc35876x_init(dev);
		mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tc35876x_funcs);
		break;
	case TMD_VID:
		mdfld_dsi_output_init(dev, mipi_pipe, &mdfld_tmd_vid_funcs);
		break;
	case HDMI:
/*		if (dev_priv->mdfld_hdmi_present)
			mdfld_hdmi_init(dev, &dev_priv->mode_dev); */
		break;
	}
}
예제 #2
0
static void init_panel(struct drm_device *dev, int mipi_pipe, int p_type)
{
	struct panel_funcs *p_cmd_funcs;
	struct panel_funcs *p_vid_funcs;

	/* Oh boy ... FIXME */
	p_cmd_funcs = kzalloc(sizeof(struct panel_funcs), GFP_KERNEL);
	p_vid_funcs = kzalloc(sizeof(struct panel_funcs), GFP_KERNEL);

	switch (p_type) {
	case TPO_CMD:
		tpo_cmd_init(dev, p_cmd_funcs);
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL);
		break;
	case TPO_VID:
		tpo_vid_init(dev, p_vid_funcs);
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs);
		break;
	case TMD_CMD:
		/*tmd_cmd_init(dev, p_cmd_funcs); */
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL);
		break;
	case TMD_VID:
		tmd_vid_init(dev, p_vid_funcs);
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs);
		break;
	case PYR_CMD:
		pyr_cmd_init(dev, p_cmd_funcs);
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs, NULL);
		break;
	case PYR_VID:
		/*pyr_vid_init(dev, p_vid_funcs); */
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, NULL, p_vid_funcs);
		break;
	case TPO:	/* TPO panel supports both cmd & vid interfaces */
		tpo_cmd_init(dev, p_cmd_funcs);
		tpo_vid_init(dev, p_vid_funcs);
		mdfld_dsi_output_init(dev, mipi_pipe, NULL, p_cmd_funcs,
				      p_vid_funcs);
		break;
	case TMD:
		break;
	case PYR:
		break;
#if 0
	case HDMI:
		dev_dbg(dev->dev, "Initializing HDMI");
		mdfld_hdmi_init(dev, &dev_priv->mode_dev);
		break;
#endif
	default:
		dev_err(dev->dev, "Unsupported interface %d", p_type);
		break;
	}
}