[PATCH] clk: ti: omap5+: dpll: implement errata i810
Tony Lindgren
tony at atomide.com
Fri Dec 11 08:55:49 PST 2015
* Tero Kristo <t-kristo at ti.com> [151211 00:42]:
> On 12/03/2015 06:48 PM, Tony Lindgren wrote:
> >* Tero Kristo <t-kristo at ti.com> [151130 06:44]:
> >>+ /*
> >>+ * Errata i810 - DPLL controller can get stuck while transitioning
> >>+ * to a power saving state. Software must ensure the DPLL can not
> >>+ * transition to a low power state while changing M/N values.
> >>+ * Easiest way to accomplish this is to prevent DPLL autoidle
> >>+ * before doing the M/N re-program.
> >>+ */
> >>+ errata_i810 = ti_clk_get_features()->flags & TI_CLK_ERRATA_I810;
> >>+
> >>+ if (errata_i810) {
> >>+ ai = omap3_dpll_autoidle_read(clk);
> >>+ if (ai) {
> >>+ omap3_dpll_deny_idle(clk);
> >>+
> >>+ /* OCP barrier */
> >>+ omap3_dpll_autoidle_read(clk);
> >>+ }
> >>+ }
> >
> >Should we just do this unconditionally? It seems like disabling the
> >autoidle always before reprogramming is a good idea.
>
> Well, that is a few extra register accesses, but given the DPLL
> re-programming is a slow operation it probably does not matter. Let me spin
> a new version of this patch, it will avoid the need for the errata flag
> also.
OK thanks,
Tony
More information about the linux-arm-kernel
mailing list