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