1. 28 6月, 2005 1 次提交
    • J
      [PATCH] Update cfq io scheduler to time sliced design · 22e2c507
      Jens Axboe 提交于
      This updates the CFQ io scheduler to the new time sliced design (cfq
      v3).  It provides full process fairness, while giving excellent
      aggregate system throughput even for many competing processes.  It
      supports io priorities, either inherited from the cpu nice value or set
      directly with the ioprio_get/set syscalls.  The latter closely mimic
      set/getpriority.
      
      This import is based on my latest from -mm.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      22e2c507
  2. 26 6月, 2005 3 次提交
    • E
      [PATCH] kexec: kexec ppc support · 70765aa4
      Eric W. Biederman 提交于
      I have tweaked this patch slightly to handle an empty list
      of pages to relocate passed to relocate_new_kernel.  And
      I have added ppc_md.machine_crash_shutdown.  To keep up with
      the changes in the generic kexec infrastructure.
      
      From: Albert Herranz <albert_herranz@yahoo.es>
      
      The following patch adds support for kexec on the ppc32 platform.
      
      Non-OpenFirmware based platforms are likely to work directly without
      additional changes on the kernel side.  The kexec-tools userland package
      may need to be slightly updated, though.
      
      For OpenFirmware based machines, additional work is still needed on the
      kernel side before kexec support is ready.  Benjamin Herrenschmidt is
      kindly working on that part.
      
      In order for a ppc platform to use the kexec kernel services it must
      implement some ppc_md hooks.  Otherwise, kexec will be explicitly disabled,
      as suggested by benh.
      
      There are 3+1 new ppc_md hooks that a platform supporting kexec may
      implement.  Two of them are mandatory for kexec to work.  See
      include/asm-ppc/machdep.h for details.
      
      - machine_kexec_prepare(image)
      
        This function is called to make any arrangements to the image before it
        is loaded.
      
        This hook _MUST_ be provided by a platform in order to activate kexec
        support for that platform.  Otherwise, the platform is considered to not
        support kexec and the kexec_load system call will fail (that makes all
        existing platforms by default non-kexec'able).
      
      - machine_kexec_cleanup(image)
      
        This function is called to make any cleanups on image after the loaded
        image data it is freed.  This hook is optional.  A platform may or may
        not provide this hook.
      
      - machine_kexec(image)
      
        This function is called to perform the _actual_ kexec.  This hook
        _MUST_ be provided by a platform in order to activate kexec support for
        that platform.
      
        If a platform provides machine_kexec_prepare but forgets to provide
        machine_kexec, a kexec will fall back to a reboot.
      
        A ready-to-use machine_kexec_simple() generic function is provided to,
        hopefully, simplify kexec adoption for embedded platforms.  A platform
        may call this function from its specific machine_kexec hook, like this:
      
      void myplatform_kexec(struct kimage *image)
      {
              machine_kexec_simple(image);
      }
      
      - machine_shutdown()
      
        This function is called to perform any machine specific shutdowns, not
        already done by drivers.  This hook is optional.  A platform may or may
        not provide this hook.
      
      An example (trimmed) platform specific module for a platform supporting
      kexec through the existing machine_kexec_simple follows:
      
      /* ... */
      
      #ifdef CONFIG_KEXEC
      int myplatform_kexec_prepare(struct kimage *image)
      {
              /* here, we can place additional preparations
      */
              return 0; /* yes, we support kexec */
      }
      
      void myplatform_kexec(struct kimage *image)
      {
              machine_kexec_simple(image);
      }
      #endif /* CONFIG_KEXEC */
      
      /* ... */
      
      void __init
      platform_init(unsigned long r3, unsigned long r4,
      unsigned long r5,
                    unsigned long r6, unsigned long r7)
      {
      
      /* ... */
      
      #ifdef CONFIG_KEXEC
              ppc_md.machine_kexec_prepare =
      myplatform_kexec_prepare;
              ppc_md.machine_kexec         =
      myplatform_kexec;
      #endif /* CONFIG_KEXEC */
      
      /* ... */
      
      }
      
      The kexec ppc kernel support has been heavily tested on the GameCube Linux
      port, and, as reported in the fastboot mailing list, it has been tested too
      on a Moto 82xx ppc by Rick Richardson.
      Signed-off-by: NAlbert Herranz <albert_herranz@yahoo.es>
      Signed-off-by: NEric Biederman <ebiederm@xmission.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      70765aa4
    • K
      [PATCH] ppc32: Remove FSL OCP support · 3d9077af
      Kumar Gala 提交于
      Support for the OCP device model on Freescale (FSL) PPC's is no longer used.
      All FSL PPC's that were using OCP have be converted to using the platform
      device model.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3d9077af
    • K
      [PATCH] ppc32: Add support for Freescale e200 (Book-E) core · 33d9e9b5
      Kumar Gala 提交于
      The e200 core is a Book-E core (similar to e500) that has a unified L1 cache
      and is not cache coherent on the bus.  The e200 core also adds a separate
      exception level for debug exceptions.  Part of this patch helps to cleanup a
      few cases that are true for all Freescale Book-E parts, not just e500.
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      33d9e9b5
  3. 24 6月, 2005 1 次提交
    • J
      [PATCH] streamline preempt_count type across archs · dcd497f9
      Jesper Juhl 提交于
      The preempt_count member of struct thread_info is currently either defined
      as int, unsigned int or __s32 depending on arch.  This patch makes the type
      of preempt_count an int on all archs.
      
      Having preempt_count be an unsigned type prevents the catching of
      preempt_count < 0 bugs, and using int on some archs and __s32 on others is
      not exactely "neat" - much nicer when it's just int all over.
      
      A previous version of this patch was already ACK'ed by Robert Love, and the
      only change in this version of the patch compared to the one he ACK'ed is
      that this one also makes sure the preempt_count member is consistently
      commented.
      Signed-off-by: NJesper Juhl <juhl-lkml@dif.dk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dcd497f9
  4. 22 6月, 2005 6 次提交
  5. 21 6月, 2005 1 次提交
  6. 08 6月, 2005 1 次提交
    • K
      [PATCH] AGP fix for Xen VMM · 07eee78e
      Keir Fraser 提交于
      When Linux is running on the Xen virtual machine monitor, physical
      addresses are virtualised and cannot be directly referenced by the AGP
      GART.  This patch fixes the GART driver for Xen by adding a layer of
      abstraction between physical addresses and 'GART addresses'.
      
      Architecture-specific functions are also defined for allocating and freeing
      the GATT.  Xen requires this to ensure that table really is contiguous from
      the point of view of the GART.
      
      These extra interface functions are defined as 'no-ops' for all existing
      architectures that use the GART driver.
      Signed-off-by: NKeir Fraser <keir@xensource.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      07eee78e
  7. 07 6月, 2005 1 次提交
  8. 29 5月, 2005 1 次提交
  9. 11 5月, 2005 1 次提交
  10. 08 5月, 2005 1 次提交
  11. 04 5月, 2005 1 次提交
    • A
      [PATCH] asm/signal.h unification · b1ecb4c3
      Al Viro 提交于
      New file - asm-generic/signal.h.  Contains declarations of
      __sighandler_t, __sigrestore_t, SIG_DFL, SIG_IGN, SIG_ERR and default
      definitions of SIG_BLOCK, SIG_UNBLOCK and SIG_SETMASK.
      
      asm-*/signal.h switched to including it.  The only exception is
      asm-parisc/signal.h that wants its own declaration of __sighandler_t;
      that one is left as-is.
      
      asm-ppc64/signal.h required one more thing - unlike everybody else it
      used __sigrestorer_t instead of usual __sigrestore_t.  PPC64 switched to
      common spelling.
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b1ecb4c3
  12. 02 5月, 2005 1 次提交
  13. 01 5月, 2005 3 次提交
  14. 25 4月, 2005 3 次提交
  15. 20 4月, 2005 1 次提交
  16. 17 4月, 2005 10 次提交
    • P
      [PATCH] u32 vs. pm_message_t in ppc and radeon · b1c42851
      Pavel Machek 提交于
      This fixes pm_message_t vs.  u32 confusion in ppc and aty (I *hope* that's
      basically radeon code...).  I was not able to test most of these, but I'm
      not really changing anything, so it should be okay.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b1c42851
    • B
      [PATCH] ppc64: very basic desktop g5 sound support · 7bbd8277
      Benjamin Herrenschmidt 提交于
      This patch hacks the current PowerMac Alsa driver to add some basic support
      of analog sound output to some desktop G5s.  It has severe limitations
      though:
      
       - Only 44100Khz 16 bits
       - Only work on G5 models using a TAS3004 analog code, that is early
         single CPU desktops and all dual CPU desktops at this date, but none
         of the more recent ones like iMac G5.
       - It does analog only, no digital/SPDIF support at all, no native
         AC3 support
      
      Better support would require a complete rewrite of the driver (which I am
      working on, but don't hold your breath), to properly support the diversity
      of apple sound HW setup, including dual codecs, several i2s busses, all the
      new codecs used in the new machines, proper clock switching with digital,
      etc etc etc...
      
      This patch applies on top of the other PowerMac sound patches I posted in
      the past couple of days (new powerbook support and sleep fixes).  
      
      Note: This is a FAQ entry for PowerMac sound support with TI codecs: They
      have a feature called "DRC" which is automatically enabled for the internal
      speaker (at least when auto mute control is enabled) which will cause your
      sound to fade out to nothing after half a second of playback if you don't
      set a proper "DRC Range" in the mixer.  So if you have a problem like that,
      check alsamixer and raise your DRC Range to something reasonable.
      
      Note2: This patch will also add auto-mute of the speaker when line-out jack
      is used on some earlier desktop G4s (and on the G5) in addition to the
      headphone jack.  If that behaviour isn't what you want, just disable
      auto-muting and use the manual mute controls in alsamixer.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7bbd8277
    • B
      [PATCH] ppc32: fix compilation error in include/asm/prom.h · cd2c169e
      Benoit Boissinot 提交于
      make defconfig give the following error on ppc (gcc-4):
      
      arch/ppc/syslib/prom_init.c:120: error: static declaration of ‘prom_display_paths’ follows non-static declaration
      include/asm/prom.h:17: error: previous declaration of ‘prom_display_paths’ was here
      arch/ppc/syslib/prom_init.c:122: error: static declaration of ‘prom_num_displays’ follows non-static declaration
      include/asm/prom.h:18: error: previous declaration of ‘prom_num_displays’ was here
      Signed-Off-By: NBenoit Boissinot <benoit.boissinot@ens-lyon.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cd2c169e
    • K
      [PATCH] ppc32: Support 36-bit physical addressing on e500 · f50b153b
      Kumar Gala 提交于
      To add support for 36-bit physical addressing on e500 the following changes
      have been made.  The changes are generalized to support any physical address
      size larger than 32-bits:
      
      * Allow FSL Book-E parts to use a 64-bit PTE, it is 44-bits of pfn, 20-bits
        of flags.
      
      * Introduced new CPU feature (CPU_FTR_BIG_PHYS) to allow runtime handling of
        updating hardware register (SPRN_MAS7) which holds the upper 32-bits of
        physical address that will be written into the TLB.  This is useful since
        not all e500 cores support 36-bit physical addressing.
      
      * Currently have a pass through implementation of fixup_bigphys_addr
      
      * Moved _PAGE_DIRTY in the 64-bit PTE case to free room for three additional
        storage attributes that may exist in future FSL Book-E cores and updated
        fault handler to copy these bits into the hardware TLBs.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f50b153b
    • K
      [PATCH] ppc32: Allow adjust of pfn offset in pte · b464fce5
      Kumar Gala 提交于
      Allow the pfn to be offset by more than just PAGE_SHIFT in the pte.  Today,
      PAGE_SHIFT tends to allow us to have 12-bits of flags in the pte.  In the
      future if we have a larger pte we can allocate more bits for flags by
      offsetting the pfn even further.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b464fce5
    • K
      [PATCH] ppc32: make usage of CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT consistent · a85f6d4a
      Kumar Gala 提交于
      CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT are not currently consistently used in
      the code base.  Fixed up the usage such that CONFIG_PTE_64BIT is used when we
      have a 64-bit PTE regardless of physical address width.  CONFIG_PHYS_64BIT is
      used if the physical address width is larger than 32-bits, regardless of PTE
      size.
      
      These changes required a few sub-arch specific ifdef's to be fixed and the
      introduction of a physical address format string.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a85f6d4a
    • K
      [PATCH] ppc32: Fix pte_update for 64-bit PTEs · 7a1e3350
      Kumar Gala 提交于
      While the existing pte_update code handled atomically modifying a 64-bit PTE,
      it did not return all 64-bits of the PTE before it was modified.  This causes
      problems in some places that expect the full PTE to be returned, like
      ptep_get_and_clear().
      
      Created a new pte_update function that is conditional on CONFIG_PTE_64BIT.  It
      atomically reads the low PTE word which all PTE flags are required to be in
      and returns a premodified full 64-bit PTE.
      
      Since we now have an explicit 64-bit PTE version of pte_update we can also
      remove the hack that existed to get the low PTE word regardless of size.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7a1e3350
    • B
      [PATCH] ppc32: Fix AGP and sleep again · 0c541b44
      Benjamin Herrenschmidt 提交于
      My previous patch that added sleep support for uninorth-agp and some AGP
      "off" stuff in radeonfb and aty128fb is breaking some configs.  More
      specifically, it has problems with rage128 setups since the DRI code for
      these in X doesn't properly re-enable AGP on wakeup or console switch
      (unlike the radeon DRM).
      
      This patch fixes the problem for pmac once for all by using a different
      approach.  The AGP driver "registers" special suspend/resume callbacks with
      some arch code that the fbdev's can later on call to suspend and resume
      AGP, making sure it's resumed back in the same state it was when suspended.
       This is platform specific for now.  It would be too complicated to try to
      do a generic implementation of this at this point due to all sort of weird
      things going on with AGP on other architectures.  We'll re-work that whole
      problem cleanly once we finally merge fbdev's and DRI.
      
      In the meantime, please apply this patch which brings back some r128 based
      laptops into working condition as far as system sleep is concerned.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0c541b44
    • B
      [PATCH] ppc32: Fix cpufreq problems · 7a648b9e
      Benjamin Herrenschmidt 提交于
      This patch updates the PowerMac cpufreq driver.  It depends on the addition
      of the suspend() method (my previous patch) and on the new flag I defined
      to silence some warnings that are normal for us.
      
      It fixes various issues related to cpufreq on pmac, including some crashes
      on some models when sleeping the machine while in low speed, proper voltage
      control on some newer machines, and adds voltage control on 750FX based G3
      laptops.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7a648b9e
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4