22 Oct, 2005

40 commits

  • * arch/parisc/kernel/process.c (sys_clone): Use 5 args, and process
    CLONE_PARENT_SETTID, CLONE_CHILD_SETTID, CLONE_CHILD_CLEARTID.
    (copy_thread): First cut at CLONE_SETTLS.

    Signed-off-by: Carlos O'Donell

    Signed-off-by: Kyle McMartin

    Carlos O'Donell
     
  • 2.6.14-rc2-pa1: enable 100/250/1000HZ itimer selection

    Signed-off-by: Grant Grundler

    Mark floppy as broken. Thanks Joel

    Signed-off-by: Matthew Wilcox

    make DISCONTIGMEM depend on 64BIT

    Signed-off-by: Thibaut VARENE

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Prefix changed in debian, include "gnu" in the commandline.

    Signed-off-by: Carlos O'Donell

    Ensure the compiler version is new enough (>= 3.3)

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • Document history of PDC_NARROW a bit as it will still show
    up in an older kernel's .config file.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc2-pa2 kfree cleanups from Jesper Juhl

    Signed-off-by: Jesper Juhl
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Jesper Juhl
     
  • 1) cleanup whitespace and handle proc_mkdir() failures.
    From: Christophe Lucas

    2) rename "dino" entry to "pcxl_dma"...also seems like it's in
    the wrong location.

    3) don't dump resource bitmap in /proc/pcxl_dma output

    4) fixup compiler warning

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Generate a more informative message when a resource does not have
    a parent.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Get rid of some unnecessary includes
    Remove a layer of macro indirection around pdc_console_device
    Delete pdc_console_die() as it is unused
    Avoid double-printing on panic by clearing CON_PRINTBUFFER rather than
    setting con_start to be log_end
    Make con_start and log_end static again

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • 2.6.13-rc6-pa2
    use force_sigsegv() if we have a problem setting up a frame. This is
    required to prevent SIGSEGV loops.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • We're using fp regs now in the kernel, so we want to print them
    on stack dump

    Signed-off-by: Thibaut VARENE

    Signed-off-by: Kyle McMartin

    Thibaut Varene
     
  • Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Disable use of fpregs in pa_memcpy, and turn on the
    -mdisable-fpregs flag.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • git commit 976ecd12b8144d066a23fe97c6fbfc1ac8470af7 changed our locking
    characteristics, and put the onus of spin_lock_init on superio.c.

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • PA20 arch book (page 7-52 and 7-55) indicate a "sync" is required after
    the FDC "to enforce instruction ordering". And we want to make
    sure FIC is executed after FDC has retired.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • minor cleanup: qualify constant with "UL"

    Acked-by: "Hmamouche, Youssef"
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc4-pa3 s/__LP64__/CONFIG_64BIT/ and fixup config.h usage

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc1-pa6 use work queue in LED/LCD driver instead of tasklet.

    Main advantage is it allows use of msleep() in the led_LCD_driver to
    "atomically" perform two MMIO writes (CMD, then DATA).
    Lead to nice cleanup of the main led_work_func() and led_LCD_driver().
    Kudos to David for being persistent.

    From: David Pye
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • add syscall entries for ioprio_set/get as per Jens Axboe.

    Signed-off-by: Jens Axboe
    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Jens Axboe
     
  • Optimize ext2_find_next_zero_bit. Gives about 25% perf improvement with a
    rsync test with ext3.

    Signed-off-by: Randolph Chung

    fix ext3 performance - ext2_find_next_zero() was culprit.
    Kudos to jejb for pointing out the the possibility that ext2_test_bit
    and ext2_find_next_zero() may in fact not be enumerating bits in
    the bitmap because of endianess. Took sparc64 implementation and
    adapted it to our tree. I suspect the real problem is ffz() wants
    an unsigned long and was getting garbage in the top half of the
    unsigned int. Not confirmed but that's what I suspect.

    Signed-off-by: Grant Grundler

    Fix find_next_bit for 32-bit
    Make masking consistent for bitops

    From: Joel Soete
    Signed-off-by: Randolph Chung

    Add back incorrectly removed ext2_find_first_zero_bit definition

    Signed-off-by: James Bottomley

    Fixup bitops.h to use volatile for *_bit() ops

    Based on this email thread:
    http://marc.theaimsgroup.com/?t=108826637900003

    In a nutshell:
    *_bit() want use of volatile.
    __*_bit() are "relaxed" and don't use spinlock or volatile.

    other minor changes:
    o replaces hweight64() macro with alias to generic_hweight64() (Joel Soete)
    o cleanup ext2* macros so (a) it's obvious what the XOR magic is about
    and (b) one version that works for both 32/64-bit.
    o replace 2 uses of CONFIG_64BIT with __LP64__. bitops.h used both.
    I think header files that might go to user space should use
    something userspace will know about (__LP64__).

    Signed-off-by: Grant Grundler

    Move SHIFT_PER_LONG to standard location for BITS_PER_LONG (asm/types.h)
    and ditch the second definition of BITS_PER_LONG in bitops.h

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • update comment about CAFL_STRIDE

    Signed-off-by: Kyle McMartin

    Fixed a bug in parisc_setup_cache_timing() which caused it to calculate
    a poor value for parisc_cache_flush_threshold.

    Thanks to Joel Soete for spotting the bug.
    Thanks to James Bottomley for pointing out the clean way to fix this.

    Signed-off-by: Stuart Brady

    Signed-off-by: Kyle McMartin

    Stuart Brady
     
  • Add support for changing unaligned trap behaviour on a
    per-thread basis.

    Signed-off-by: Kyle McMartin

    Kyle McMartin
     
  • convert some bl calls to b,l or bv to use longer offsets

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • o Added a control for the input source (which can be either
    "line" or "mic")

    o Mute the speaker/line-out/headphone outputs by default.

    o Increased the buffer size from 10 pages to 16.

    Signed-off-by: Stuart Brady

    ALSA Harmony was resetting the capture position when
    preparing the capture substream, which it shouldn't do.
    This should fix the problem.

    Signed-off-by: Stuart Brady

    ALSA Harmony should no longer play junk (left in the buffers
    from a previous stream) at the start of a new stream.

    Implement the monitor mixer channel for ALSA Harmony.

    Also prevent snd_harmony_volume_get from returning negative values.

    Signed-off-by: Stuart Brady

    Use the graveyard/silence buffers in ALSA Harmony.

    Signed-off-by: Stuart Brady

    Signed-off-by: Kyle McMartin

    Stuart Brady
     
  • export profile_pc() symbol - oprofile needs it when built as a module.

    Signed-off-by: Grant Grundler

    Take into account nullified insn and lock functions for profiling

    This is needed at the end of functions; it is typical that the return
    branch nullifies the next insn, which is in the next function. This
    causes profiling data to show up against the "wrong" function.

    We also count lock times against the locker. This is consistent with
    other architectures.

    Signed-off-by: Randolph Chung

    Signed-off-by: Kyle McMartin

    Randolph Chung
     
  • Fix some whitespace issues
    Reorganise parisc_device probe routine to be a little less convoluted
    Use ->hpa.start instead of ->hpa

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Neaten up the CONFIG_PA20 ifdefs

    More merge fixes, this time for SMP

    Signed-off-by: Matthew Wilcox

    Prettify the CONFIG_DEBUG_SPINLOCK __SPIN_LOCK_UNLOCKED initializers.

    Clean up some warnings with CONFIG_DEBUG_SPINLOCK enabled.

    Fix build with spinlock debugging turned on. Patch is cleaner like this,
    too.

    Remove mandatory 16-byte alignment requirement on PA2.0 processors by
    using the ldcw,CO completer. Provides a nice insn savings.

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • move pa_tlb_lock and it's primary consumers to tlb_flush.h
    Future step will be to move spinlock_t definition out of system.h.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • 2.6.12-rc4-pa3 : first pass at making sure use of RFI conforms to
    PA 2.0 arch pages F-4 and F-5, PA 1.1 Arch page 3-19 and 3-20.

    The discussion revolves around all the rules for clearing PSW Q-bit.
    The hard part is meeting all the rules for "relied upon translation".

    .align directive is used to guarantee the critical sequence ends more than
    8 instructions (32 bytes) from the end of page.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • add || STI_CONSOLE to some of the basic FONTs. May need to get at
    least one of them to default to "Y" for parisc.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Fix card-mode Dino crashes on 725 (and probably other Snake) systems.
    Dino was coming up in fatal mode after a warm reboot. Resetting Dino
    brings it out of fatal mode, so do that if the status register indicates
    we're in fatal mode. Since this was never observed on any later systems,
    I presume firmware does this for us on those.

    Signed-off-by: Matthew Wilcox

    Add debug statements in the cfg_read and cfg_write functions
    Fix debug statements from the IRQ overhaul last winter
    Rename dino_driver_callback() to dino_probe()

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • revert use of %%sr0 in fdc asm.

    Thanks to Joel Soete for pointing out this oversight.

    Signed-off-by: Grant Grundler

    2.6.14-rc2-pa3 fdc/lci should be %r0 instead 0 for index (PA 1.1 compliance)
    From: Joel Soete
    Signed-off-by: Grant Grundler

    Explain why we need insert_resource() instead of request_resource().

    Fundementally, this is more convoluted for ccio driver because of
    o legacy (HP-PB) transperant bridges.
    o support for MMIO behind card-mode Dino (PCI)
    o support for above bridges without ccio in the box

    SBA driver doesn't have to worry about those issues.

    Signed-off-by: Grant Grundler

    Use insert_resource instead of request_resource now that the subdevices
    will already have their resources claimed

    Signed-off-by: Matthew Wilcox

    re-enable use of "inline" for perf critical functions.

    Signed-off-by: Grant Grundler

    2.6.12-rc4-pa5 fix sign extension of MMIO range

    Fixes the problem of claiming a range that is disabled on 64-bit kernel:
    ccio_init_resource() claimed CCIO bus address space (ffffffff00000000,
    ffffffffffffffff)
    also removes use of __FILE__.
    Tested on both 32 and 64-bit systems by Joel.

    From: Joel Soete
    Signed-off-by: Grant Grundler

    2.6.12-rc1-pa7 incorrect BUG_ON in ccio

    ccio-dma.c line 1317 was preventing K-class with 4GB RAM from booting.
    Any ccio machine with >=2GB of RAM would have (incorrectly) triggered this.

    Signed-off-by: Grant Grundler

    Convert to ioremap and __raw_read/write

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • revert use of %%sr0 in fdc asm.
    Thanks to Joel Soete for pointing out this oversight.

    Signed-off-by: Grant Grundler

    2.6.14-rc2-pa3 move "sync" outside the main loop that fills IO Pdir.

    Signed-off-by: Grant Grundler

    remove explicit use of sr0 in fdc ops.
    Thanks to Joel Soete for reminding me were I added those...

    Signed-off-by: Grant Grundler

    2.6.14-rc2-pa2 - make SBA more anal about invalidating pdir entries

    Previous code cleared the valid flag a pdir entry but it did NOT
    guarantee this change was visible to the PDIR before writing
    the PCOM register. Ie the SBA could pick up a stale entry if
    the write happened to hit the SBA before the cacheline was flushed
    from the cache.

    Long term, I think I want to make this a compile time flag.
    Developement tree should enable anal pdir checking by default
    and Debian can disable it with either a CONFIG option
    or one-line patch. fdc/sync options can only negatively affect
    performance though I haven't measure how much yet.
    If someone can run netperf TCP_RR across gige and compare
    -pa1 and -pa2, that would be sufficient.

    Cleaned up the use of "fdc" to make sure it's using "kernel"
    space id (specify sr0 but maps to sr4-7). It seems a bit fragile
    to assume "sr1" gets loaded with KERNEL_SPACE which is how the
    code works today.

    Tested on 32 and 64-bit SMP kernels on j6k.

    Signed-off-by: Grant Grundler

    remove PDC_NARROW from SBA and document history of PDC_NARROW a bit.
    It will still show up in an older kernel's .config file.

    Signed-off-by: Grant Grundler

    if/ifdef cleanups from Joel Soete.

    Signed-off-by: Grant Grundler

    2.6.12-rc4-pa2 fix 32-bit support for Astro platforms
    o Since my last SBA code change, SBA could allocate more than 1GB of IOVA
    space on Astro boxes with more than 1GB of RAM when running 32-bit kernel.
    This is bad since IOMMU can only talk to the first 1GB at most.
    Kudos to jejb for quickly spotting that bug.

    o jejb also noted SBA should *always* reject DMA masks > 32-bits since
    DMA-mapping.txt indicates caller should try again with 32-bits.

    o off-by-one error when comparing the mask to IOVA space size.

    Signed-off-by: Grant Grundler

    Signed-off-by: Kyle McMartin

    Grant Grundler
     
  • Convert pa_dev->hpa from an unsigned long to a struct resource.

    Signed-off-by: Matthew Wilcox

    Fix up users of ->hpa to use ->hpa.start instead.

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Make /sys/bus/parisc/drivers look better by cleaning up parisc_driver
    names.

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Fix parse_tree_node. much more needs to be done to fix this file.

    Signed-off-by: Matthew Wilcox

    Make drivers.c compile based on a patch from Pat Mochel.

    From: Patrick Mochel
    Signed-off-by: Kyle McMartin

    Fix drivers.c to create new device tree nodes when no match is found.

    Signed-off-by: Richard Hirst

    Do a proper depth-first search returning parents before children, using the
    new klist infrastructure.

    Signed-off-by: Richard Hirst

    Fixed parisc_device traversal so that pdc_stable works again
    Fixed check_dev so it doesn't dereference a parisc_device until it
    has verified the bus type

    Signed-off-by: Randolph Chung

    Convert pa_dev->hpa from an unsigned long to a struct resource.
    Use insert_resource() instead of request_mem_region().
    Request resources at bus walk time instead of driver probe time.
    Don't release the resources as we don't have any hotplug parisc_device
    support yet.
    Add parisc_pathname() to conveniently get the textual representation
    of the hwpath used in sysfs.
    Inline the remnants of claim_device() into its caller.

    Signed-off-by: Matthew Wilcox

    I noticed that some of the STI regions weren't showing up in iomem.
    Reading the STI spec indicated that all STI devices occupy at least 32MB.
    So check for STI HPAs and give them 32MB instead of 4kB.

    Signed-off-by: Matthew Wilcox

    Signed-off-by: Kyle McMartin

    Matthew Wilcox
     
  • Not sure how it slipped by, but here's a trivial typo fix for powernow.

    Signed-off-by: Chris Wright
    [ It's "nurter" backwards.. Maybe we have a hillbilly The Shining fan? ]
    Signed-off-by: Linus Torvalds

    Chris Wright
     
  • When I originally moved exit_itimers into __exit_signal, that was the only
    place where we could reliably know it was the last thread in the group
    dying, without races. Since then we've gotten the signal_struct.live
    counter, and do_exit can reliably do group-wide cleanup work.

    This patch moves the call to do_exit, where it's made without locks. This
    avoids the deadlock issues that the old __exit_signal code's comment talks
    about, and the one that Oleg found recently with process CPU timers.

    [ This replaces e03d13e985d48ac4885382c9e3b1510c78bd047f, which is why
    it was just reverted. ]

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • Revert commit e03d13e985d48ac4885382c9e3b1510c78bd047f, to be replaced
    by a much nicer fix from Roland.

    Linus Torvalds
     
  • AMD recently discovered that on some hardware, there is a race condition
    possible when a C-state change request goes onto the bus at the same
    time as a P-state change request.

    Both requests happen, but the southbridge hardware only acknowledges the
    C-state change. The PowerNow! driver is then stuck in a loop, waiting
    for the P-state change acknowledgement. The driver eventually times
    out, but can no longer perform P-state changes.

    It turns out the solution is to resend the P-state change, which the
    southbridge will acknowledge normally.

    Thanks to Johannes Winkelmann for reporting this and testing the fix.

    Signed-off-by: Mark Langsdorf
    Signed-off-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • This fixes a stupid typo bug in the iSeries hash table code.

    When we place a hash PTE in the secondary bucket, instead of setting the
    SECONDARY flag bit, as we should, we (redundantly) set the VALID flag.

    This was introduced with the patch abolishing bitfields from the hash
    table code. Mea culpa, oops. It hasn't been noticed until now because
    in practice we don't hit the secondary bucket terribly often.

    Signed-off-by: David Gibson
    Signed-off-by: Linus Torvalds

    David Gibson