<p>How long does it take to ramp up the clock, are there blit operations where the clock change could take longer than the blit (such as partial updates)?</p>
<p>--<br>
Timothy Meade<br>
tmzt on freenode</p>
<div class="gmail_quote">On Mar 18, 2011 5:59 PM, &quot;Carl Vanderlip&quot; &lt;<a href="mailto:carlv@codeaurora.org">carlv@codeaurora.org</a>&gt; wrote:<br type="attribution">&gt; This makes sure that the MDP (locked to AXI) and the AXI/ABI1 run at the<br>
&gt; maximum frequency during blit operations.<br>&gt; <br>&gt; Authors:<br>&gt; Dima Zavin &lt;<a href="mailto:dima@android.com">dima@android.com</a>&gt;<br>&gt; Rebecca Schultz Zavin &lt;<a href="mailto:rebecca@android.com">rebecca@android.com</a>&gt;<br>
&gt; Colin Cross &lt;<a href="mailto:ccross@android.com">ccross@android.com</a>&gt;<br>&gt; <br>&gt; Signed-off-by: Carl Vanderlip &lt;<a href="mailto:carlv@codeaurora.org">carlv@codeaurora.org</a>&gt;<br>&gt; ---<br>&gt;  drivers/video/msm/mdp.c    |   11 +++++++++++<br>
&gt;  drivers/video/msm/mdp_hw.h |    1 +<br>&gt;  2 files changed, 12 insertions(+), 0 deletions(-)<br>&gt; <br>&gt; diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c<br>&gt; index b03204d..0bb19fa 100644<br>
&gt; --- a/drivers/video/msm/mdp.c<br>&gt; +++ b/drivers/video/msm/mdp.c<br>&gt; @@ -52,6 +52,7 @@ static int locked_enable_mdp_irq(struct mdp_info *mdp, uint32_t mask)<br>&gt;          }<br>&gt;          /* if the mdp irq is not already enabled enable it */<br>
&gt;          if (!mdp_irq_mask) {<br>&gt; +                clk_set_rate(mdp-&gt;ebi1_clk, 128000000);<br>&gt;                  clk_enable(mdp-&gt;clk);<br>&gt;                  enable_irq(mdp-&gt;irq);<br>&gt;          }<br>&gt; @@ -656,6 +657,13 @@ int mdp_probe(struct platform_device *pdev)<br>
&gt;                  goto error_get_mdp_clk;<br>&gt;          }<br>&gt;  <br>&gt; +        mdp-&gt;ebi1_clk = clk_get(NULL, &quot;ebi1_clk&quot;);<br>&gt; +        if (IS_ERR(mdp-&gt;ebi1_clk)) {<br>&gt; +                pr_err(&quot;mdp: failed to get ebi1 clk\n&quot;);<br>
&gt; +                ret = PTR_ERR(mdp-&gt;ebi1_clk);<br>&gt; +                goto error_get_ebi1_clk;<br>&gt; +        }<br>&gt; +<br>&gt;          ret = request_irq(mdp-&gt;irq, mdp_isr, IRQF_DISABLED, &quot;msm_mdp&quot;, mdp);<br>&gt;          if (ret)<br>&gt;                  goto error_request_irq;<br>
&gt; @@ -681,6 +689,9 @@ int mdp_probe(struct platform_device *pdev)<br>&gt;  error_device_register:<br>&gt;          free_irq(mdp-&gt;irq, mdp);<br>&gt;  error_request_irq:<br>&gt; +        clk_put(mdp-&gt;ebi1_clk);<br>&gt; +error_get_ebi1_clk:<br>
&gt; +        clk_put(mdp-&gt;clk);<br>&gt;  error_get_mdp_clk:<br>&gt;  error_mddi_pmdh_register:<br>&gt;          iounmap(mdp-&gt;base);<br>&gt; diff --git a/drivers/video/msm/mdp_hw.h b/drivers/video/msm/mdp_hw.h<br>&gt; index fdf9e5e..7485a9e 100644<br>
&gt; --- a/drivers/video/msm/mdp_hw.h<br>&gt; +++ b/drivers/video/msm/mdp_hw.h<br>&gt; @@ -46,6 +46,7 @@ struct mdp_info {<br>&gt;          char * __iomem base;<br>&gt;          int irq;<br>&gt;          struct clk *clk;<br>&gt; +        struct clk *ebi1_clk;<br>
&gt;          struct mdp_out_interface out_if[MSM_MDP_NUM_INTERFACES];<br>&gt;          int format;<br>&gt;          int pack_pattern;<br>&gt; -- <br>&gt; Sent by an employee of the Qualcomm Innovation Center, Inc.<br>&gt; The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.<br>
&gt; <br>&gt; --<br>&gt; To unsubscribe from this list: send the line &quot;unsubscribe linux-arm-msm&quot; in<br>&gt; the body of a message to <a href="mailto:majordomo@vger.kernel.org">majordomo@vger.kernel.org</a><br>&gt; More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html">http://vger.kernel.org/majordomo-info.html</a><br>
</div>