1. 11 10月, 2007 1 次提交
  2. 08 10月, 2007 1 次提交
    • R
      Longhaul: add auto enabled "revid_errata" option · 52a2638b
      Rafal Bilski 提交于
      VIA C3 Ezra-T has RevisionID equal to 1, but it needs RevisionKey to be 0
      or CPU will ignore new frequency and will continue to work at old
      frequency.  New "revid_errata" option will force RevisionKey to be set to
      0, whatever RevisionID is.
      
      Additionaly "Longhaul" will not silently ignore unsuccessful transition.
      It will try to check if "revid_errata" or "disable_acpi_c3" options need to
      be enabled for this processor/system.
      
      Same for Longhaul ver.  2 support.  It will be disabled if none of above
      options will work.
      
       Best case scenario (with patch apllied and v2 enabled):
       longhaul: VIA C3 'Ezra' [C5C] CPU detected.  Longhaul v2 supported.
       longhaul: Using northbridge support.
       longhaul: VRM 8.5
       longhaul: Max VID=1.350  Min VID=1.050, 13 possible voltage scales
       longhaul: f: 300000 kHz, index: 0, vid: 1050 mV
       [...]
       longhaul: Voltage scaling enabled.
       Worst case scenario:
       longhaul: VIA C3 'Ezra-T' [C5M] CPU detected.  Powersaver supported.
       longhaul: Using northbridge support.
       longhaul: Using ACPI support.
       longhaul: VRM 8.5
       longhaul: Claims to support voltage scaling but min & max are both 1.250. Voltage scaling disabled
       longhaul: Failed to set requested frequency!
       longhaul: Enabling "Ignore Revision ID" option.
       longhaul: Failed to set requested frequency!
       longhaul: Disabling ACPI C3 support.
       longhaul: Disabling "Ignore Revision ID" option.
       longhaul: Failed to set requested frequency!
       longhaul: Enabling "Ignore Revision ID" option.
      
      [akpm@linux-foundation.org: coding-style cleanups]
      Signed-off-by: NRafal Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      52a2638b
  3. 13 7月, 2007 1 次提交
  4. 22 6月, 2007 1 次提交
  5. 07 6月, 2007 1 次提交
  6. 30 5月, 2007 5 次提交
  7. 27 4月, 2007 2 次提交
  8. 21 4月, 2007 1 次提交
  9. 27 2月, 2007 1 次提交
  10. 23 2月, 2007 2 次提交
  11. 15 2月, 2007 1 次提交
    • R
      [CPUFREQ] Longhaul - Redo Longhaul ver. 2 · 2b8c0e13
      Rafa Bilski 提交于
      Start using v2 version of Longhaul when available. It provides
      voltage scaling and can use ACPI C3 state. That's curious. CPU
      will not change frequency on ACPI C3 when v1 is in use, but it will
      when v2 is used. Driver will return max frequency all the time if
      this isn't true for all processors. There is strange thing with
      mobile voltage. Looks like only Nehemiah (C3-M) supports it.
      Earlier processors have different mobile VRM (in docs), but I can't
      find any which is using it. Looks like all are using VRM 8.5. So
      fail for non Nehemiah with mobile VRM.
      Signed-off-by: NRafal Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      2b8c0e13
  12. 11 2月, 2007 3 次提交
  13. 05 2月, 2007 2 次提交
    • R
      [CPUFREQ] Longhaul - Add VT8235 support · 786f46b2
      Rafa Bilski 提交于
      I don't know why it is working and how, but it is working. On my
      Epia transition time is by default set to 100us. I'm changing it to
      200us. After that I can change frequency from min (x4.0) to max (x7.5)
      without lockup. Many times.
      There is a paranoid check at a beginning of a patch. Probably dead
      code, but I don't have better ideas for CL10000 case at the moment.
      Only way to to detect broken chip seems to be looking in log for
      spurious interrupts.
      Signed-off-by: NRafal Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      786f46b2
    • R
      [CPUFREQ] Longhaul - Fix guess_fsb function · 46ef955f
      Rafa Bilski 提交于
      This is bug reported by John-Marc Chandonia:
      > Detected 1002.292 MHz processor.
      > longhaul: VIA C3 'Nehemiah B' [C5N] CPU detected.  Powersaver supported.
      > longhaul: Using throttling support.
      > longhaul: Invalid (reserved) FSB!
      FSB is correcly guessed for 999.554 MHz CPU.
      To fix this error:
      - ROUNDING should be range, not mask - at it's current value it is +7 -8,
      - more precise calculations inside guess_fsb - 7.5x133MHz is 1000MHz now.
      Signed-off-by: NRafal Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      46ef955f
  14. 04 2月, 2007 3 次提交
  15. 03 2月, 2007 1 次提交
  16. 03 1月, 2007 2 次提交
    • D
      [CPUFREQ] longhaul: Kill off warnings introduced by recent changes. · 43c8f12f
      Dave Jones 提交于
      Bunch of unused vars + one case where gcc isn't smart enough.
      Signed-off-by: NDave Jones <davej@redhat.com>
      43c8f12f
    • R
      [CPUFREQ] Longhaul - Always guess FSB · 24ebead8
      Rafa Bilski 提交于
      This is patch that solves Ebox mini PC issue and make
      FSB code more specification compilant. At start guess_fsb
      function is guessing 200MHz FSB too. It is better to
      make it in this way because, thanks to this function, driver
      will fail for bogus FSB values caused by bogus multiplier
      value. For PowerSaver processors we can't depend on Max /
      MinMHzFSB because these values are only used for
      PowerSaver 2.0 and 3.0. Most processors on which Longhaul
      is used are PowerSaver 1.0 only. I'm changing code for older
      CPU's too, but not so much as previously, and this code was
      already used for Ezra. Using MinMHzBR for Ezra-T is outside
      spec. It is for voltage scaling purpose and don't have to
      be equal to minmult (but it is). Same for Nehemiah (it
      isn't for sure). Added mult - current multiplier value.
      Signed-off-by: NRafa³ Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      24ebead8
  17. 30 12月, 2006 1 次提交
    • R
      [CPUFREQ] Longhaul - Fix up powersaver assumptions. · 264166e6
      Rafa Bilski 提交于
      ACPI PM2 register was fallback for "Longhaul ver. 1" CPU's.
      My assumption that this register isn't present at
      "PowerSaver" motherboards is so far true, but current code
      will not work correctly in other case. There are three possible
      supports: ACPI C3, PM2 and northbridge. That was my assumption
      that ACPI C3 and northbridge is for PS and northbridge and PM2
      is for V1. In current code we can only check if it is ACPI
      support or not by port22_en. So remove port22_en and add
      longhaul_flags. If USE_ACPI_C3 and USE_NORTHBRIDGE are both
      clear then it means ACPI PM2 support. Also change order of
      support probe from ACPI C3, PM2, northbridge to ACPI C3,
      northbridge, ACPI PM2. Paranoid protection against port 0x22
      cast as ACPI PM2 register. Bit 1 clear in such case - lockup
      on AGP DMA. And obvious (now) fixup for do_powersaver. Use
      cx->address only for ACPI C3 ("PowerSaver" processor using
      PM2 support).
      Signed-off-by: NRafa Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      264166e6
  18. 29 12月, 2006 1 次提交
  19. 18 12月, 2006 2 次提交
  20. 13 12月, 2006 2 次提交
  21. 28 9月, 2006 1 次提交
  22. 27 9月, 2006 1 次提交
  23. 06 9月, 2006 1 次提交
    • R
      [CPUFREQ] Longhaul - Add voltage scaling to driver · db44aaf3
      Rafa Bilski 提交于
      Rename option "dont_scale_voltage" to "scale_voltage" because
      don't will be default.
      Use "pos" for calculating voltage. In this way driver don't need
      to know mV value or low level value. Simply min U is one pos and
      max U is second pos. All pos between these two are used.
      Assume that min U is for min f and max U for max f. For frequency
      between min and max calculate pos based on difference between
      current frequency and min f.
      Values in mobile VRM table changed to values from
      C3-M datasheet.
      Signed-off-by: NRafa³ Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      db44aaf3
  24. 14 8月, 2006 1 次提交
  25. 12 8月, 2006 1 次提交
    • R
      [CPUFREQ] Longhaul - Disable arbiter · 179da8e6
      Rafa Bilski 提交于
      ACPI C3 works for "Powersaver" processors, so use it only for them.
      
      Older CPU will change frequency on "halt" only. But we can protect transition
      in two ways:
      - by ACPI PM2 register, there is "bus master arbiter disable" bit.
        This isn't tested because VIA mainboards don't have PM2 register,
      - by PLE133 PCI/AGP arbiter disable register.
        There are two bits in this register. First is "PCI arbiter disable",
        second "AGP arbiter disable". This is working on VIA Epia 800 mainboards.
      
      Test on bm_control is more proper because this is true
      when PM2 register exist.
      Signed-off-by: NRafa³ Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      179da8e6
  26. 01 8月, 2006 1 次提交