mdp4_dtv_encoder
clk_disable_unprepare(mdp4_dtv_encoder->hdmi_clk);
clk_disable_unprepare(mdp4_dtv_encoder->mdp_clk);
mdp4_dtv_encoder->enabled = false;
struct mdp4_dtv_encoder *mdp4_dtv_encoder = to_mdp4_dtv_encoder(encoder);
unsigned long pc = mdp4_dtv_encoder->pixclock;
if (WARN_ON(mdp4_dtv_encoder->enabled))
ret = clk_set_rate(mdp4_dtv_encoder->mdp_clk, pc);
ret = clk_prepare_enable(mdp4_dtv_encoder->mdp_clk);
ret = clk_prepare_enable(mdp4_dtv_encoder->hdmi_clk);
mdp4_dtv_encoder->enabled = true;
struct mdp4_dtv_encoder *mdp4_dtv_encoder = to_mdp4_dtv_encoder(encoder);
return clk_round_rate(mdp4_dtv_encoder->mdp_clk, rate);
struct mdp4_dtv_encoder *mdp4_dtv_encoder;
mdp4_dtv_encoder = drmm_encoder_alloc(dev, struct mdp4_dtv_encoder, base,
if (IS_ERR(mdp4_dtv_encoder))
return ERR_CAST(mdp4_dtv_encoder);
encoder = &mdp4_dtv_encoder->base;
mdp4_dtv_encoder->hdmi_clk = devm_clk_get(dev->dev, "hdmi_clk");
if (IS_ERR(mdp4_dtv_encoder->hdmi_clk)) {
return ERR_CAST(mdp4_dtv_encoder->hdmi_clk);
mdp4_dtv_encoder->mdp_clk = devm_clk_get(dev->dev, "tv_clk");
if (IS_ERR(mdp4_dtv_encoder->mdp_clk)) {
return ERR_CAST(mdp4_dtv_encoder->mdp_clk);
#define to_mdp4_dtv_encoder(x) container_of(x, struct mdp4_dtv_encoder, base)
struct mdp4_dtv_encoder *mdp4_dtv_encoder = to_mdp4_dtv_encoder(encoder);
mdp4_dtv_encoder->pixclock = mode->clock * 1000;
DBG("pixclock=%lu", mdp4_dtv_encoder->pixclock);
struct mdp4_dtv_encoder *mdp4_dtv_encoder = to_mdp4_dtv_encoder(encoder);
if (WARN_ON(!mdp4_dtv_encoder->enabled))