1. 16 Jun, 2013 3 commits
  2. 15 Jun, 2013 1 commit
    • Soren Brinkmann's avatar
      clk: Always notify whole subtree when reparenting · f3aab5d6
      Soren Brinkmann authored
      A clock's notifier count only reflects notifiers which are registered
      directly for that clock. A reparent operation though affects the whole
      subtree because of a potential rate change.
      When issuing the pre rate change notifications only the notifier count
      for the clock to be changed is considered and notifiers for subclocks
      may never be called. Resulting in clocks in the subtree which have
      registered notifiers, may receive a POST_- or ABORT_RATE_CHANGE
      notification, without a PRE_RATE_CHANGE_NOTIFICATION.
      Therefore always traverse the whole subtree when issueing pre rate
      change notifications during a reparent operation.
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
      f3aab5d6
  3. 12 Jun, 2013 12 commits
  4. 11 Jun, 2013 1 commit
  5. 10 Jun, 2013 1 commit
    • 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
  6. 07 Jun, 2013 4 commits
  7. 05 Jun, 2013 1 commit
  8. 31 May, 2013 5 commits
  9. 30 May, 2013 1 commit
  10. 29 May, 2013 11 commits