1. 08 Feb, 2008 40 commits
    • Jesper Nilsson's avatar
      CRIS v32: Update boot rescue Kbuild makefile. · dbf9f144
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      - Use if_changed to avoid creating new images when no change.
      - Use EXTRA_CFLAGS instead of CFLAGS.
      dbf9f144
    • Jesper Nilsson's avatar
      CRIS v32: Update boot compressed Kbuild makefile. · 28bf739b
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      - Use if_changed to avoid creating new images when no change.
      - Use KBUILD_CFLAGS instead of CFLAGS.
      28bf739b
    • Jesper Nilsson's avatar
      CRIS v32: Update boot Kbuild makefile. · 3d6f7871
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      - Use if_changed to avoid creating new images when no change.
      3d6f7871
    • Jesper Nilsson's avatar
      CRIS v32: Update traps.c · 1e4cc2c8
      Jesper Nilsson authored
      - Remove raw_prink hack, use oops_in_progress instead.
      - When ETRAX_WATCHDOG_NICE_DOGGY is set, loop in trap after oops dump
        instead of rebooting.
      - Break long lines to less than 80 chars.
      - Fix whitespace errors.
      - Remove unnecessary comments.
      1e4cc2c8
    • Jesper Nilsson's avatar
      CRIS v10: Update and improve axisflashmap.c · 32872b20
      Jesper Nilsson authored
      - Add config to use mtd0 as whole flash device.
      - Fix whitespace errors.
      - Remove braces around single statement ifs.
      - Break long lines.
      - Remove unnecessary CVS log.
      32872b20
    • Jesper Nilsson's avatar
      CRIS v10: Update rescue head.s · 8c11bffa
      Jesper Nilsson authored
      - Correct whitespace problems.
      - Add ifdef for ETRAX_AXISFLASHMAP to avoid compile error when not set.
      8c11bffa
    • Jesper Nilsson's avatar
      CRIS v10: Update rescue Kbuild makefile. · 63e6b9a0
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      - Use if_changed to avoid creating new images when no change.
        Removes a lot of cruft.
      - Use EXTRA_CFLAGS instead of CFLAGS.
      63e6b9a0
    • Jesper Nilsson's avatar
      CRIS v10: Update boot/compressed Kbuild makefile. · 1333a694
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      - Use if_changed to avoid creating new images when no change.
      - Use EXTRA_CFLAGS instead of CFLAGS.
      1333a694
    • Jesper Nilsson's avatar
      CRIS v10: Update boot Kbuild makefile. · 87f5a7f7
      Jesper Nilsson authored
      - Remove old specific targets, use more generic ones instead.
      87f5a7f7
    • Jesper Nilsson's avatar
      CRIS: Update main Kbuild makefile. · 2c2314bf
      Jesper Nilsson authored
      - Remove old and non-generic targets, use generic ones instead.
      - Add sub-arch as mach-fs or mach-a3 for EtraxFS and Artpec-3 respectively.
      - Add links to sub-arch directories, and erase before trying to create them.
      - Include from sub-arch specific include directory "mach".
      - Add files to be cleaned in CLEAN_FILES instead of as archclean target.
      2c2314bf
    • Jesper Nilsson's avatar
      CRIS v32: Update and improve axisflashmap · 5fc1f312
      Jesper Nilsson authored
      - Use default partition table when no partition is found (for initial tests)
      - Add config ETRAX_AXISFLASHMAP_MTD0WHOLE to allow whole flash as mtd0.
      - Add config for VCS simulator connection.
      5fc1f312
    • Jesper Nilsson's avatar
      CRIS v32: New version of I2C driver. · 201ca54a
      Jesper Nilsson authored
      - Add i2c_write and i2c_read as functions.
      - Use spinlocks for critical regions.
      - Add config item to set I2C data and clock port.
      - Put unneeded testcode inside #if 0.
      - Remove CVS id tag.
      201ca54a
    • Jesper Nilsson's avatar
      CRIS v32: Fixup kernel Makefile. · 0f229504
      Jesper Nilsson authored
      - Remove CRISv32 common arbiter, dma, io and pinmux files,
        they are now defined in machine dependent directories.
      - Add cache and cacheflush files for working around cache problems
        in CRISv32 chips.
      0f229504
    • Jesper Nilsson's avatar
      CRIS v32: Update entry.S to working order. · ffc8b00d
      Jesper Nilsson authored
      - Remove oldset parameter.
      - Utilise delay-slot for parameter moving.
      - Add kernel_execve as break 13.
      - Add new kernel syscalls.
      ffc8b00d
    • Jesper Nilsson's avatar
    • Jesper Nilsson's avatar
    • Jesper Nilsson's avatar
      CRIS: Minor generic kernel/traps.c changes. · 1ddba025
      Jesper Nilsson authored
      - Collect extern declarations at top of file.
      - Change raw_printk to printk, use oops_in_progress instead.
      - Fix formatting and whitespace.
      - Allow the watchdog to be disabled during oops.
      1ddba025
    • Jesper Nilsson's avatar
      CRIS: Minor fixes to mm/fault.c · 3e1fdc4e
      Jesper Nilsson authored
      - Only disallow oops if we're in_interrupt context (was in_atomic before)
      - Use the generic oops_in_progress instead of the raw_printk hack.
      - Fix whitespace/formatting.
      - Remove CVS log entries.
      3e1fdc4e
    • Jesper Nilsson's avatar
      75e52b27
    • Jesper Nilsson's avatar
      CRIS v32: Add prototypes for cache flushing · 738af38b
      Jesper Nilsson authored
      We need these to work around some cache bugs in CRISv32 chips.
      738af38b
    • Jesper Nilsson's avatar
      642d4ea0
    • Jesper Nilsson's avatar
      CRIS v32: Update asm-cris/arch-v32/irq.h for ETRAX FS and ARTPEC-3 · 1e5915b1
      Jesper Nilsson authored
      - Correct include to use <>
      - Rework calculation of number of IRQs and exceptions we have.
      - Remove useless "mask" argument to BUILD_IRQ macro
      1e5915b1
    • Jesper Nilsson's avatar
      CRIS: Merge axisflashmap.h with Axis internal changes. · 0c2efc48
      Jesper Nilsson authored
      - Add partition table struct to be used to parse partition table in flash.
      - Add JFFS2 as a type, and add readoly flag.
      - Improve some comments.
      - Lindent has been run, fixing whitespace and formatting issues.
      0c2efc48
    • Jesper Nilsson's avatar
      CRIS v32: Update synchronous serial driver. · e908dfc3
      Jesper Nilsson authored
      Now uses a DMA descriptor ring, which should avoid any unnecessary
      pauses in the streams.
      e908dfc3
    • Jesper Nilsson's avatar
      ca91d5b0
    • Jesper Nilsson's avatar
      f74c31d5
    • Jesper Nilsson's avatar
      CRIS v32: Add hardware dependent include files and defconfigs for ETRAX FS and ARTPEC-3 chips. · 58d08319
      Jesper Nilsson authored
      The header files describe the hardware registers available in both
      these chips, note that most of this documentation is automatically
      generated from the hardware implementation.
      58d08319
    • Jesper Nilsson's avatar
      CRIS v32: Add new machine dependent files for Etrax-FS and Artpec-3. · 035e111f
      Jesper Nilsson authored
      The two chips are somewhat different, and needs different handling.
      Adds handing of the dma, dram initialization, hardware settings, io,
      memory arbiter and pinmux
      
      Also moves the dma, dram initialization and io from CRIS v32 common files.
      035e111f
    • Jesper Nilsson's avatar
      CRIS v32: Add new driver files for Etrax-FS · 6107c61f
      Jesper Nilsson authored
      Adds gpio and nandflash handling for Etrax-FS
      6107c61f
    • Jesper Nilsson's avatar
      CRIS v32: Add new driver files for Artpec-3. · 18a1e013
      Jesper Nilsson authored
      Adds gpio and nandflash handling for Artpec-3.
      18a1e013
    • Jesper Nilsson's avatar
      CRIS: Rearrange Kconfigs for v10 and v32 to allow compilation without warnings. · 923dd2a4
      Jesper Nilsson authored
      - Remove some unneeded configs and add some new ones.
      - Merge common config items to common file instead of duplicating them.
      - Pull in standard Kconfig.preempt.
      - Remove some unneeded Kconfigs for subsystems not (yet) available on CRIS
        (md, scsi, ieee1394, i2o, isdn, telephony, media, pcmcia, pci)
      - Rename CRISv32 config items which had different types from CRISv10.
        (ETRAX_LED2G, ETRAX_LED2R, ETRAX_LED3G, ETRAX_LED3R, ETRAX_I2C_DATA_PORT,
        ETRAX_I2C_CLK_PORT)
      923dd2a4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm · a4ffc0a0
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (44 commits)
        dm raid1: report fault status
        dm raid1: handle read failures
        dm raid1: fix EIO after log failure
        dm raid1: handle recovery failures
        dm raid1: handle write failures
        dm snapshot: combine consecutive exceptions in memory
        dm: stripe enhanced status return
        dm: stripe trigger event on failure
        dm log: auto load modules
        dm: move deferred bio flushing to workqueue
        dm crypt: use async crypto
        dm crypt: prepare async callback fn
        dm crypt: add completion for async
        dm crypt: add async request mempool
        dm crypt: extract scatterlist processing
        dm crypt: tidy io ref counting
        dm crypt: introduce crypt_write_io_loop
        dm crypt: abstract crypt_write_done
        dm crypt: store sector mapping in dm_crypt_io
        dm crypt: move queue functions
        ...
      a4ffc0a0
    • Linus Torvalds's avatar
      Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 · d7511ec8
      Linus Torvalds authored
      * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (59 commits)
        hwmon: (lm80) Add individual alarm files
        hwmon: (lm80) De-macro the sysfs callbacks
        hwmon: (lm80) Various cleanups
        hwmon: (w83627hf) Refactor beep enable handling
        hwmon: (w83627hf) Add individual alarm and beep files
        hwmon: (w83627hf) Enable VBAT monitoring
        hwmon: (w83627ehf) The W83627DHG has 8 VID pins
        hwmon: (asb100) Add individual alarm files
        hwmon: (asb100) De-macro the sysfs callbacks
        hwmon: (asb100) Various cleanups
        hwmon: VRM is not written to registers
        hwmon: (dme1737) fix Super-IO device ID override
        hwmon: (dme1737) fix divide-by-0
        hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro
        hwmon: Add support for Texas Instruments/Burr-Brown ADS7828
        hwmon: (adm9240) Add individual alarm files
        hwmon: (lm77) Add individual alarm files
        hwmon: Discard useless I2C driver IDs
        hwmon: (lm85) Make the pwmN_enable files writable
        hwmon: (lm85) Return standard values in pwmN_enable
        ...
      d7511ec8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 · 0b61a2ba
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (62 commits)
        [XFS] add __init/__exit mark to specific init/cleanup functions
        [XFS] Fix oops in xfs_file_readdir()
        [XFS] kill xfs_root
        [XFS] keep i_nlink updated and use proper accessors
        [XFS] stop updating inode->i_blocks
        [XFS] Make xfs_ail_check check less by default
        [XFS] Move AIL pushing into it's own thread
        [XFS] use generic_permission
        [XFS] stop re-checking permissions in xfs_swapext
        [XFS] clean up xfs_swapext
        [XFS] remove permission check from xfs_change_file_space
        [XFS] prevent panic during log recovery due to bogus op_hdr length
        [XFS] Cleanup various fid related bits:
        [XFS] Fix xfs_lowbit64
        [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros.
        [XFS] kill superflous buffer locking (2nd attempt)
        [XFS] Use kernel-supplied "roundup_pow_of_two" for simplicity
        [XFS] Remove the BPCSHIFT and NB* based macros from XFS.
        [XFS] Remove bogus assert
        [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config
        ...
      0b61a2ba
    • Nick Piggin's avatar
      Convert SG from nopage to fault. · a13ff0bb
      Nick Piggin authored
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Cc: Douglas Gilbert <dougg@torque.net>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a13ff0bb
    • Linus Torvalds's avatar
      Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm · c00f08d7
      Linus Torvalds authored
      * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
        SLUB: fix checkpatch warnings
        Use non atomic unlock
        SLUB: Support for performance statistics
        SLUB: Alternate fast paths using cmpxchg_local
        SLUB: Use unique end pointer for each slab page.
        SLUB: Deal with annoying gcc warning on kfree()
      c00f08d7
    • Jonathan Brassow's avatar
      dm raid1: report fault status · af195ac8
      Jonathan Brassow authored
      This patch adds extra information to the mirror status output, so that
      it can be determined which device(s) have failed.  For each mirror device,
      a character is printed indicating the most severe error encountered.  The
      characters are:
       *    A => Alive - No failures
       *    D => Dead - A write failure occurred leaving mirror out-of-sync
       *    S => Sync - A sychronization failure occurred, mirror out-of-sync
       *    R => Read - A read failure occurred, mirror data unaffected
      This allows userspace to properly reconfigure the mirror set.
      Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      af195ac8
    • Jonathan Brassow's avatar
      dm raid1: handle read failures · 06386bbf
      Jonathan Brassow authored
      This patch gives the ability to respond-to/record device failures
      that happen during read operations.  It also adds the ability to
      read from mirror devices that are not the primary if they are
      in-sync.
      
      There are essentially two read paths in mirroring; the direct path
      and the queued path.  When a read request is mapped, if the region
      is 'in-sync' the direct path is taken; otherwise the queued path
      is taken.
      
      If the direct path is taken, we must record bio information so that
      if the read fails we can retry it.  We then discover the status of
      a direct read through mirror_end_io.  If the read has failed, we will
      mark the device from which the read was attempted as failed (so we
      don't try to read from it again), restore the bio and try again.
      
      If the queued path is taken, we discover the results of the read
      from 'read_callback'.  If the device failed, we will mark the device
      as failed and attempt the read again if there is another device
      where this region is known to be 'in-sync'.
      Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      06386bbf
    • Jonathan Brassow's avatar
      dm raid1: fix EIO after log failure · b80aa7a0
      Jonathan Brassow authored
      This patch adds the ability to requeue write I/O to
      core device-mapper when there is a log device failure.
      
      If a write to the log produces and error, the pending writes are
      put on the "failures" list.  Since the log is marked as failed,
      they will stay on the failures list until a suspend happens.
      
      Suspends come in two phases, presuspend and postsuspend.  We must
      make sure that all the writes on the failures list are requeued
      in the presuspend phase (a requirement of dm core).  This means
      that recovery must be complete (because writes may be delayed
      behind it) and the failures list must be requeued before we
      return from presuspend.
      
      The mechanisms to ensure recovery is complete (or stopped) was
      already in place, but needed to be moved from postsuspend to
      presuspend.  We rely on 'flush_workqueue' to ensure that the
      mirror thread is complete and therefore, has requeued all writes
      in the failures list.
      
      Because we are using flush_workqueue, we must ensure that no
      additional 'queue_work' calls will produce additional I/O
      that we need to requeue (because once we return from
      presuspend, we are unable to do anything about it).  'queue_work'
      is called in response to the following functions:
      - complete_resync_work = NA, recovery is stopped
      - rh_dec (mirror_end_io) = NA, only calls 'queue_work' if it
                                 is ready to recover the region
                                 (recovery is stopped) or it needs
                                 to clear the region in the log*
                                 **this doesn't get called while
                                 suspending**
      - rh_recovery_end = NA, recovery is stopped
      - rh_recovery_start = NA, recovery is stopped
      - write_callback = 1) Writes w/o failures simply call
                         bio_endio -> mirror_end_io -> rh_dec
                         (see rh_dec above)
                         2) Writes with failures are put on
                         the failures list and queue_work is
                         called**
                         ** write_callbacks don't happen
                         during suspend **
      - do_failures = NA, 'queue_work' not called if suspending
      - add_mirror (initialization) = NA, only done on mirror creation
      - queue_bio = NA, 1) delayed I/O scheduled before flush_workqueue
                    is called.  2) No more I/Os are being issued.
                    3) Re-attempted READs can still be handled.
                    (Write completions are handled through rh_dec/
                    write_callback - mention above - and do not
                    use queue_bio.)
      Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      b80aa7a0
    • Jonathan Brassow's avatar
      dm raid1: handle recovery failures · 8f0205b7
      Jonathan Brassow authored
      This patch adds the calls to 'fail_mirror' if an error occurs during
      mirror recovery (aka resynchronization).  'fail_mirror' is responsible
      for recording the type of error by mirror device and ensuring an event
      gets raised for the purpose of notifying userspace.
      Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
      Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
      8f0205b7