Skip to content
  1. Jun 16, 2013
  2. Jun 12, 2013
  3. Jun 11, 2013
    • Shawn Guo's avatar
      clk: divider: do not propagate rate change request when unnecessary · 081c9025
      Shawn Guo authored
      
      
      If the current rate of parent clock is sufficient to provide child a
      requested rate with a proper divider setting, the rate change request
      should not be propagated.  Instead, changing the divider setting is good
      enough to get child clock run at the requested rate.
      
      On an imx6q clock configuration illustrated below,
      
        ahb --> ipg --> ipg_per
        132M    66M     66M
      
      calling clk_set_rate(ipg_per, 22M) with the current
      clk_divider_bestdiv() implementation will result in the rate change up
      to ahb level like the following, because of the unnecessary/incorrect
      rate change propagation.
      
        ahb --> ipg --> ipg_per
        66M     22M     22M
      
      Fix the problem by trying to see if the requested rate can be achieved
      by simply changing the divider value, and in that case return the
      divider immediately from function clk_divider_bestdiv() as the best
      one, so that all those unnecessary rate change propagation can be saved.
      
      Reported-by: default avatarAnson Huang <b20788@freescale.com>
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      081c9025
  4. Jun 07, 2013
  5. Jun 05, 2013
  6. Jun 01, 2013
  7. May 31, 2013
  8. May 30, 2013
  9. May 29, 2013