1. 17 Jan, 2013 3 commits
  2. 17 Dec, 2012 1 commit
  3. 13 Dec, 2012 1 commit
    • Michael Bohan's avatar
      Revert "msm: acpuclock-8974: Revert back to previous CPU voltages and max freqs" · b013851c
      Michael Bohan authored
      This reverts commit 335bc46d
      
      .
      
      The revert of the acpuclock table to lower voltages did indeed
      improve stability, but was not the underlying root cause of the
      reported failures.
      
      It turns out that a hardware bug prevented the PMIC regulator
      MODE_CTL register from being reset in WARM_RESET. Consequently,
      we often left the regulator running in PFM mode. This is bad,
      since our software assumes the default value is PWM. Thus we
      would often end up bringing up cores at higher current
      requests than that tolerated in PFM mode, and crash the system.
      
      Change-Id: Ie8b1ccef10577aceaa5201ec67dd220dcd87c210
      Signed-off-by: default avatarMichael Bohan <mbohan@codeaurora.org>
      b013851c
  4. 11 Dec, 2012 1 commit
  5. 07 Dec, 2012 1 commit
  6. 29 Nov, 2012 1 commit
    • David Collins's avatar
      arm/dt: msm8974: acpuclock: Remove acpuclock pm8941_s2 regulator usage · aba4b9bb
      David Collins authored
      
      The RPM processor manages the dependency between the PM8941
      SMPS 2 and LDO 12 regulators on MSM8974 targets.  Therefore,
      remove the usage of pm8941_s2 in both the MSM8974 device tree
      as well as the acpuclock-8974 driver.  The enable requests made
      for pm8941_l12 will be propagated to the S2 regulator by the RPM.
      Removing the usage of pm8941_s2 means that redundant S2 regulator
      requests will not be sent to the RPM.  This will reduce the
      latency of some acpuclock operations.
      
      Change-Id: Ib91a750bb3c224516d036c67c37ab586592bb3d4
      Signed-off-by: default avatarDavid Collins <collinsd@codeaurora.org>
      aba4b9bb
  7. 16 Nov, 2012 3 commits
    • Matt Wagantall's avatar
      msm: acpuclock-8974: Update lower CPU and L2 rates · cc3eb17a
      Matt Wagantall authored
      
      Most of the CPU and L2 HFPLL performance levels are spaced evenly
      by 76.8MHz, with the exception of a couple at the bottom of the
      table. Update these so the table is more linear and matches the
      levels that are used for chip characterization.
      
      Also, clear the use_for_scaling flag for a few intermediate levels
      that share the same Krait voltage. These frequency steps do not
      provide a significant power advantage over their neighboring steps
      and can therefore be omitted.
      
      Change-Id: I64ef9c31ff319c929b75a5e2c4a7a3b8334e62dd
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      cc3eb17a
    • Matt Wagantall's avatar
      msm: acpuclock-8974: Update Krait CPU voltages and max frequency · c1f139c4
      Matt Wagantall authored
      
      Preliminary hardware characterization data is available which shows
      voltages may be safely decreased to the levels applied in this patch.
      Additionally, the maximum CPU speed can be increased to 1728MHz.
      
      Future characterization may allow voltages to be decreased further;
      safe values are used for now.
      
      Change-Id: I09bed11e114406aa9e199cfbd0e52880f9ccc849
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      c1f139c4
    • Matt Wagantall's avatar
      msm: acpuclock-8974: Restrict L2 cache to two perf levels for 8974v1.x · fe31375e
      Matt Wagantall authored
      
      Frequency and voltage sensitivities in some of these early revision
      parts cause L2 parity errors to be observed at different frequency
      and voltage combinations. 300MHz and 1.5GHz with vdd_mx at 1.05V,
      however, is shown to be reliable across all parts.
      
      Restrict L2 scaling to these two performance points for now. This
      restriction will be removed for future silicon revisions.
      
      CRs-Fixed: 407593
      Change-Id: Ib3eba2f493975a84e7be2067a076f99f86f1246c
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      fe31375e
  8. 23 Oct, 2012 1 commit
  9. 03 Oct, 2012 1 commit
  10. 27 Sep, 2012 2 commits
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Keep the secondary MUX input fixed · 6cd5d75c
      Matt Wagantall authored
      
      With use of the QSB clock source recently eliminated, only one
      input of the secondary clock MUX is used on any target. Since
      there is overhead involved reprogramming this MUX when changing
      the CPU and L2 frequencies, change the code to just program the
      MUX at boot.  Most noticeably, this removes a 1us delay from
      every CPU and L2 frequency switch.
      
      Change-Id: I5cd8c981f1be49be7dbba1310d84df439e8be83b
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      6cd5d75c
    • Matt Wagantall's avatar
      msm: acpuclock-8974: Populate missing user_vco_mask in hfpll_data · 0f6e7b2c
      Matt Wagantall authored
      
      This mask is needed in order to switch VCO modes when running the
      PLL at frequencies above 1700MHz. Specify the missing data. Because
      rates about 1.7GHz are not used yet, the missing mask should not
      have been the source of any real problems.
      
      Also remove the TODO line that was inserted as a reminder to
      double-check the 'magic' PLL configuration register values after
      hardware characterization. That has since been done and the
      original values were determined to be fine.
      
      Change-Id: I548c02e44cc5fded740e513252110e7318fec6e8
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      0f6e7b2c
  11. 17 Sep, 2012 1 commit
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Fix PTE efuse address for acpuclock-8974 · ee2b4379
      Matt Wagantall authored
      
      Correct the efuse address base and offset for 8974. Since the offset
      is now different on 8974 than on other Krait-based targets, it's no
      longer possible to hard-code it in acpuclock-krait.c. Instead, move
      it into the QFPROM address passed from SoC specific files.
      
      Since the PTE EFUSE is not yet used on 8974 to select different
      frequency/voltage tables, this change should have no current
      functional effect.
      
      Change-Id: I26de7c9ce84e2873b883123f9fe420b3cb14e364
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      ee2b4379
  12. 12 Sep, 2012 1 commit
  13. 21 Aug, 2012 1 commit
  14. 01 Aug, 2012 1 commit
  15. 28 Jul, 2012 4 commits
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Remove use of QSB as a CPU or L2 clock source · b7c231b9
      Matt Wagantall authored
      
      QSB's rate is tied to the Apps fabric (or BIMC on 8974), which means
      that its rate is unpredictable. When the CPU is running at a low
      voltage, if the QSB clock source is selected, it's possible that the
      CPU clock rate could increase beyond the safe limit for that voltage.
      
      Instead of selecting QSB for power-collapse and hotplug scenarios,
      select an always-on source with a predictable rate.
      
      Change-Id: I7c39d443bf49371358d0a618693a6efe2f26fcc4
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      b7c231b9
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Update HFPLL vdd_dig requirements for all SoCs · 87465f5a
      Matt Wagantall authored
      
      Updated hardware recommendations have been released. Capture these.
      Although the voltage requirements are higher than was previously
      specified, this is not expected to affect actual voltage levels
      because the vdd_dig requirements of the of the L2 cache (as
      enforced by acpuclock) are already higher than the new HFPLL
      requirements.
      
      Change-Id: I4087b35f07276d063d09756067ce7166093f65dc
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      87465f5a
    • Matt Wagantall's avatar
      msm: acpuclock-8974: Update HFPLL configuration · a77b7f30
      Matt Wagantall authored
      
      The HFPLL configuration recommended by the hardware designers has been
      updated. Update acpuclock to match.
      
      In addition to changes to the static register configuration, runtime
      selection of the correct VCO mode is required. For frequencies above
      1248MHz, the high-frequency VCO mode is used. The low-frequency mode
      is used for frequencies below that.
      
      Change-Id: Ib0585b5262d27791128a54910b75d2dc0c581775
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      a77b7f30
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Support scaling CPU current requests · 6d9c416d
      Matt Wagantall authored
      
      The current acpuclock-krait driver asserts a constant regulator
      current request when a CPU is initialized or inserted, and
      removes it when a CPU is hotplug-removed.
      
      Improve on this by allowing the current requests to scale based
      on the speed of the CPUs. This allows acpuclock drivers to
      factor dynamic power into its current requests, which will
      change based on the frequency.
      
      Only msm8974 regulators support current requests, so the cur_ua
      column is omitted from the other frequency tables. The 8974
      table is populated with pessimistic placeholder currents for now,
      until characterization data is available.
      
      Change-Id: I1ef89406a0de0038d32039c361b755a5eedba847
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      6d9c416d
  16. 23 Jul, 2012 3 commits
  17. 12 Jul, 2012 1 commit
  18. 29 Jun, 2012 3 commits
  19. 25 Jun, 2012 1 commit
  20. 06 Apr, 2012 1 commit
    • Matt Wagantall's avatar
      msm: acpuclock-krait: Initial commit with msm-copper support · e9b715ac
      Matt Wagantall authored
      
      Add a new generic acpuclock driver for Krait CPUs, along with msm-copper
      specific configuration data. This is a generalization of the existing
      acpuclock-8960 driver, which it is intended to eventually replace. A
      library of core driver code exists in acpuclock-krait.c with target-
      specific data living in acpuclock-copper.c (and, eventually, other
      similarly-named files).
      
      Unlike existing acpuclock drivers, acpuclock-copper is a platform driver
      with a platform device defined in a device tree. The driver probes when
      the platform device has been registered and platform_driver_probe() has
      been called in acpuclock-copper's device initcall.
      
      Change-Id: I334ed0e215bb4076461f7bc39cf4ec89dbc35a8e
      Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
      e9b715ac