1. 09 2月, 2010 1 次提交
  2. 29 1月, 2010 1 次提交
  3. 12 12月, 2009 1 次提交
  4. 09 12月, 2009 1 次提交
  5. 07 12月, 2009 1 次提交
  6. 04 12月, 2009 1 次提交
  7. 24 11月, 2009 1 次提交
  8. 30 10月, 2009 1 次提交
  9. 14 10月, 2009 1 次提交
    • B
      powerpc/pmac: Fix issues with sleep on some powerbooks · 11a50873
      Benjamin Herrenschmidt 提交于
      Since the change of how interrupts are disabled during suspend,
      certain PowerBook models started exhibiting various issues during
      suspend or resume from sleep.
      
      I finally tracked it down to the code that runs various "platform"
      functions (kind of little scripts extracted from the device-tree),
      which uses our i2c and PMU drivers expecting interrutps to work,
      and at a time where with the new scheme, they have been disabled.
      
      This causes timeouts internally which for some reason results in
      the PMU being unable to see the trackpad, among other issues, really
      it depends on the machine. Most of the time, we fail to properly adjust
      some clocks for suspend/resume so the results are not always
      predictable.
      
      This patch fixes it by using IRQF_TIMER for both the PMU and the I2C
      interrupts. I prefer doing it this way than moving the call sites since
      I really want those platform functions to still be called after all
      drivers (and before sysdevs).
      
      We also do a slight cleanup to via-pmu.c driver to make sure the
      ADB autopoll mask is handled correctly when doing bus resets
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      11a50873
  10. 24 9月, 2009 1 次提交
  11. 21 9月, 2009 1 次提交
  12. 02 9月, 2009 1 次提交
    • B
      powerpc: Fix some late PowerMac G5 with PCIe ATI graphics · cede3930
      Benjamin Herrenschmidt 提交于
      A misconfiguration by the firmware of the U4 PCIe bridge on PowerMac G5
      with the U4 bridge (latest generations, may also affect the iMac G5
      "iSight") is causing us to re-assign the PCI BARs of the video card,
      which can get it out of sync with the firmware, thus breaking offb.
      
      This works around it by fixing up the bridge configuration properly
      at boot time. It also fixes a bug where the firmware provides us with
      an incorrect set of accessible regions in the device-tree.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      cede3930
  13. 27 8月, 2009 1 次提交
    • B
      powerpc: Remove SMP warning from PowerMac cpufreq · 6fdc31a2
      Bastian Blank 提交于
      On Thu, Aug 13, 2009 at 04:14:58PM +1000, Benjamin Herrenschmidt wrote:
      > On Tue, 2009-08-11 at 11:39 +0200, Bastian Blank wrote:
      > > This patch just disables this driver on SMP kernels, as it is obviously
      > > not supported.
      > Why not remove the #error instead ? :-) I don't think it's still
      > meaningful, especially since we use the timebase for delays nowadays
      > which doesn't depend on the CPU frequency...
      
      Your call. Take this one:
      
      The build of a PowerMac 32bit kernel currently fails with
      
      error: #warning "WARNING, CPUFREQ not recommended on SMP kernels"
      
      Thie patch removes the not longer applicable SMP warning from the
      PowerMac cpufreq code.
      Signed-off-by: NBastian Blank <waldi@debian.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6fdc31a2
  14. 20 8月, 2009 3 次提交
  15. 08 7月, 2009 1 次提交
  16. 26 6月, 2009 1 次提交
    • B
      powerpc/pmac: Fix issues with PowerMac "PowerSurge" SMP · 7ccbe504
      Benjamin Herrenschmidt 提交于
      The old PowerSurge SMP (ie, dual or quad 604 machines) code has
      numerous issues in modern world.
      
      One is cpu_possible_map is set too late (the device-tree is bogus)
      so we fail to allocate the interrupt stacks and crash. Another
      problem is the fact the timebase is frozen by the bringup of the
      second CPU so the delays in the generic code will hang, we need
      to move some of the calling procedure to inside the powermac code.
      
      This makes it boot again for me
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7ccbe504
  17. 21 5月, 2009 2 次提交
  18. 30 3月, 2009 1 次提交
  19. 11 3月, 2009 3 次提交
  20. 23 2月, 2009 1 次提交
  21. 13 1月, 2009 1 次提交
    • B
      powerpc/powermac: Fix occasional SMP boot failure · c478b581
      Benjamin Herrenschmidt 提交于
      The PowerMac kernel occasionally fails to bring up the secondary CPUs on
      SMP, the trigger factor seem to be fairly random and related to location
      of code and data.
      
      This appears to be due to the initial loading of the TOC value by the
      secondary processor which now happens before we clear HID4:RM_CI (Real
      Mode Cache Invalidate). This bit should really be cleared before we do
      any load or store other than fetching code.
      
      This fix works based on the assumption that all SMP 64-bit PowerMacs use
      variants of the 970, which fortunately is true, by explicitely clearing
      that bit, adding an slbia for good measure as RM_CI mode is known to
      create bogus ERAT entries.
      
      I also removed some spurrious debug output that was left enabled by
      mistake while at it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c478b581
  22. 12 1月, 2009 1 次提交
  23. 08 1月, 2009 1 次提交
  24. 23 12月, 2008 1 次提交
  25. 21 12月, 2008 2 次提交
  26. 16 12月, 2008 2 次提交
  27. 19 11月, 2008 1 次提交
  28. 21 10月, 2008 1 次提交
  29. 16 9月, 2008 2 次提交
    • P
      powerpc: Make the 64-bit kernel as a position-independent executable · 549e8152
      Paul Mackerras 提交于
      This implements CONFIG_RELOCATABLE for 64-bit by making the kernel as
      a position-independent executable (PIE) when it is set.  This involves
      processing the dynamic relocations in the image in the early stages of
      booting, even if the kernel is being run at the address it is linked at,
      since the linker does not necessarily fill in words in the image for
      which there are dynamic relocations.  (In fact the linker does fill in
      such words for 64-bit executables, though not for 32-bit executables,
      so in principle we could avoid calling relocate() entirely when we're
      running a 64-bit kernel at the linked address.)
      
      The dynamic relocations are processed by a new function relocate(addr),
      where the addr parameter is the virtual address where the image will be
      run.  In fact we call it twice; once before calling prom_init, and again
      when starting the main kernel.  This means that reloc_offset() returns
      0 in prom_init (since it has been relocated to the address it is running
      at), which necessitated a few adjustments.
      
      This also changes __va and __pa to use an equivalent definition that is
      simpler.  With the relocatable kernel, PAGE_OFFSET and MEMORY_START are
      constants (for 64-bit) whereas PHYSICAL_START is a variable (and
      KERNELBASE ideally should be too, but isn't yet).
      
      With this, relocatable kernels still copy themselves down to physical
      address 0 and run there.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      549e8152
    • R
      powerpc: Fix duplicate test of MACIO_FLAG_SCCB_ON · 1b3c83e6
      roel kluin 提交于
      Evidently MACIO_FLAG_SCCA_ON was meant.
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1b3c83e6
  30. 07 9月, 2008 1 次提交
  31. 03 9月, 2008 1 次提交
    • T
      powerpc: Work around gcc's -fno-omit-frame-pointer bug · 7563dc64
      Tony Breeds 提交于
      This bug is causing random crashes
      (http://bugzilla.kernel.org/show_bug.cgi?id=11414).
      
      -fno-omit-frame-pointer is only needed on powerpc when -pg is also
      supplied, and there is a gcc bug that causes incorrect code generation
      on 32-bit powerpc when -fno-omit-frame-pointer is used---it uses stack
      locations below the stack pointer, which is not allowed by the ABI
      because those locations can and sometimes do get corrupted by an
      interrupt.
      
      This ensures that CONFIG_FRAME_POINTER is only selected by ftrace.
      When CONFIG_FTRACE is enabled we also pass -mno-sched-epilog to work
      around the gcc codegen bug.
      
      Patch based on work by:
      	Andreas Schwab <schwab@suse.de>
      	Segher Boessenkool <segher@kernel.crashing.org>
      Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7563dc64
  32. 20 8月, 2008 1 次提交