int omapdss_hdmi_display_check_timing(struct omap_dss_device *dssdev, struct omap_video_timings *timings) { struct hdmi_cm cm; cm = hdmi_get_code(timings); if (cm.code == -1) { return -EINVAL; } return 0; }
void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev, struct omap_video_timings *timings) { struct hdmi_cm cm; const struct hdmi_config *t; mutex_lock(&hdmi.lock); cm = hdmi_get_code(timings); hdmi.ip_data.cfg.cm = cm; t = hdmi_get_timings(); if (t != NULL) hdmi.ip_data.cfg = *t; mutex_unlock(&hdmi.lock); }
void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev) { struct hdmi_cm cm; cm = hdmi_get_code(&dssdev->panel.timings); hdmi.code = cm.code; hdmi.mode = cm.mode; if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { int r; hdmi_power_off(dssdev); r = hdmi_power_on(dssdev); if (r) DSSERR("failed to power on device\n"); } }