22 Jun, 2005

6 commits

  • Made the number of TLB CAM entries private and converted the board
    consumers to use num_tlbcam_entries which is setup at boot time from
    configuration registers. This way the only consumers of the #define
    NUM_TLBCAMS are the arrays used to manage the TLB.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • The MPC8548 has 48 internal interrupts and 12 external interrupts. The
    previous generation PowerQUICC III devices only had 32 internal and 12
    external interrupts on the primary interrupt controller.

    Expanded the number of internal interrupts to 48 for all PowerQUICC III
    processors and moved the interrupt numbers for the external after the 48
    internal interrupt lines, rather than putting the 12 new internal
    interrupts at the end and ifdef'ng the whole mess. As parted of this
    created a macro which represents the internal interrupt senses since they
    are the same on all PQ3 processors.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Converted the MPC10x bridge support (used by MPC10x and 8240/1/5) to used
    the standard platform device model.

    Signed-off-by: Matt McClintock
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Adds support for using the MPC8548 processor on the CDS reference board.
    Currently all the major busses (PCI, PCI-X, PCI-Express, sRIO) and eTSEC3
    and eTSEC4 are not supported.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Added descriptions of the new MPC8548 family processors, e500 core and
    peripherals.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • This patch implements a number of smp_processor_id() cleanup ideas that
    Arjan van de Ven and I came up with.

    The previous __smp_processor_id/_smp_processor_id/smp_processor_id API
    spaghetti was hard to follow both on the implementational and on the
    usage side.

    Some of the complexity arose from picking wrong names, some of the
    complexity comes from the fact that not all architectures defined
    __smp_processor_id.

    In the new code, there are two externally visible symbols:

    - smp_processor_id(): debug variant.

    - raw_smp_processor_id(): nondebug variant. Replaces all existing
    uses of _smp_processor_id() and __smp_processor_id(). Defined
    by every SMP architecture in include/asm-*/smp.h.

    There is one new internal symbol, dependent on DEBUG_PREEMPT:

    - debug_smp_processor_id(): internal debug variant, mapped to
    smp_processor_id().

    Also, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new
    lib/smp_processor_id.c file. All related comments got updated and/or
    clarified.

    I have build/boot tested the following 8 .config combinations on x86:

    {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}

    I have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT. (Other
    architectures are untested, but should work just fine.)

    Signed-off-by: Ingo Molnar
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

21 Jun, 2005

1 commit


18 Jun, 2005

1 commit


08 Jun, 2005

1 commit

  • 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: Keir Fraser
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Jones

    Keir Fraser
     

07 Jun, 2005

1 commit


02 Jun, 2005

1 commit


29 May, 2005

1 commit

  • This patch adds on-chip PCI bridge support for the PQ2 family. The
    incomplete existent code is updated with interrupt handling stuff and
    board-specific bits for 8272ADS and PQ2FADS; the related files were renamed
    (from m8260_pci to m82xx_pci) to be of more generic fashion. This is
    tested with 8266ADS and 8272ADS, should work on PQ2FADS as well.

    Signed-off-by: Vitaly Bordug
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vitaly Bordug
     

11 May, 2005

1 commit


08 May, 2005

1 commit


04 May, 2005

1 commit

  • 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: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

02 May, 2005

1 commit


01 May, 2005

3 commits

  • The attached patch moves the IRQ-related SA_xxx flags (namely, SA_PROBE,
    SA_SAMPLE_RANDOM and SA_SHIRQ) from all the arch-specific headers to
    linux/signal.h. This looks like a left-over after the irq-handling code
    was consolidated. The code was moved to kernel/irq/*, but the flags are
    still left per-arch.

    Right now, adding a new IRQ flag to the arch-specific header, like this
    patch does:
    http://cvs.sourceforge.net/viewcvs.py/*checkout*/alsa/alsa-driver/utils/patches/pcsp-kernel-2.6.10-03.diff?rev=1.1
    no longer works, it breaks the compilation for all other arches, unless you
    add that flag to all the other arch-specific headers too. So I think such
    a clean-up makes sense.

    Signed-off-by: Stas Sergeev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stas Sergeev
     
  • This patch eliminates all kernel BUGs, trims about 35k off the typical
    kernel, and makes the system slightly faster.

    Signed-off-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • Moved common FPU exception handling code out of head.S so it can be used by
    several of the sub-architectures that might of a full PowerPC FPU.

    Also, uses new CONFIG_PPC_FPU define to fix alignment exception handling
    for floating point load/store instructions to only occur if we have a
    hardware FPU.

    Signed-off-by: Jason McMullan
    Signed-off-by: Kumar Gala
    Signed-off-by: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mackerras
     

25 Apr, 2005

3 commits


20 Apr, 2005

1 commit


17 Apr, 2005

10 commits

  • 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: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • 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: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • 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: Benoit Boissinot
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benoit Boissinot
     
  • 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: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    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: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    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: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    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: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • 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: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    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: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • 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!

    Linus Torvalds