static int rk610_hdmi_param_chg(struct rk610_hdmi_inf *rk610_hdmi) { int resolution_real; RK610_DBG(&rk610_hdmi->client->dev,"%s \n",__FUNCTION__); resolution_real = Rk610_Get_Optimal_resolution(rk610_hdmi->hdmi->resolution); rk610_hdmi->hdmi->resolution = resolution_real; hdmi_switch_fb(rk610_hdmi->hdmi, rk610_hdmi->hdmi->display_on); Rk610_hdmi_Set_Video(rk610_hdmi->hdmi->resolution); Rk610_hdmi_Set_Audio(rk610_hdmi->hdmi->audio_fs); Rk610_hdmi_Config_Done(rk610_hdmi->client); return 0; }
static int rk610_hdmi_init(struct hdmi *hdmi) { struct rk610_hdmi_inf *rk610_hdmi = hdmi_priv(hdmi); #ifdef CONFIG_HDMI_SAVE_DATA int hdmi_data = hdmi_get_data(); if(hdmi_data<0){ hdmi_set_data((hdmi->resolution&0x7)|((hdmi->scale&0x1f)<<3)); } else{ hdmi->resolution = hdmi_data&0x7; hdmi->scale_set= ((hdmi_data>>3)&0x1f) + MIN_SCALE; hdmi->scale = hdmi->scale_set; } #endif RK610_DBG(&rk610_hdmi->client->dev,"%s \n",__FUNCTION__); rk610_hdmi->init =0; Rk610_hdmi_init(rk610_hdmi->client); hdmi_changed(hdmi,1); Rk610_hdmi_Set_Video(hdmi->resolution); Rk610_hdmi_Set_Audio(hdmi->audio_fs); Rk610_hdmi_Config_Done(rk610_hdmi->client); return 0; }
int rk610_hdmi_sys_config_video(struct hdmi *hdmi, int vic, int input_color, int output_color) { return Rk610_hdmi_Set_Video(vic); }