Lines Matching refs:hdmi_rate
816 unsigned long *hdmi_rate, unsigned long *parent_rate) in sh_hdmi_rate_error() argument
821 *hdmi_rate = clk_round_rate(hdmi->hdmi_clk, target); in sh_hdmi_rate_error()
822 if ((long)*hdmi_rate < 0) in sh_hdmi_rate_error()
823 *hdmi_rate = clk_get_rate(hdmi->hdmi_clk); in sh_hdmi_rate_error()
825 rate_error = (long)*hdmi_rate > 0 ? abs(*hdmi_rate - target) : ULONG_MAX; in sh_hdmi_rate_error()
827 rate_error = pdata->clk_optimize_parent(target, hdmi_rate, parent_rate); in sh_hdmi_rate_error()
844 static int sh_hdmi_read_edid(struct sh_hdmi *hdmi, unsigned long *hdmi_rate, in sh_hdmi_read_edid() argument
947 rate_error = sh_hdmi_rate_error(hdmi, mode, hdmi_rate, parent_rate); in sh_hdmi_read_edid()
990 found_rate_error = sh_hdmi_rate_error(hdmi, found, hdmi_rate, in sh_hdmi_read_edid()
1149 static long sh_hdmi_clk_configure(struct sh_hdmi *hdmi, unsigned long hdmi_rate, in sh_hdmi_clk_configure() argument
1158 hdmi_rate = clk_round_rate(hdmi->hdmi_clk, hdmi_rate); in sh_hdmi_clk_configure()
1164 ret = clk_set_rate(hdmi->hdmi_clk, hdmi_rate); in sh_hdmi_clk_configure()
1166 dev_warn(hdmi->dev, "Cannot set rate %ld: %d\n", hdmi_rate, ret); in sh_hdmi_clk_configure()
1167 hdmi_rate = 0; in sh_hdmi_clk_configure()
1169 dev_dbg(hdmi->dev, "HDMI set frequency %lu\n", hdmi_rate); in sh_hdmi_clk_configure()
1172 return hdmi_rate; in sh_hdmi_clk_configure()
1186 unsigned long parent_rate = 0, hdmi_rate; in sh_hdmi_edid_work_fn() local
1188 ret = sh_hdmi_read_edid(hdmi, &hdmi_rate, &parent_rate); in sh_hdmi_edid_work_fn()
1195 ret = sh_hdmi_clk_configure(hdmi, hdmi_rate, parent_rate); in sh_hdmi_edid_work_fn()