firefly-linux-kernel-4.4.55.git
17 years agoseqlocks: trivial remove weird whitespace
Daniel Walker [Thu, 26 Apr 2007 16:46:05 +0000 (09:46 -0700)]
seqlocks: trivial remove weird whitespace

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-linus' of git://git.infradead.org/ubi-2.6
Linus Torvalds [Fri, 27 Apr 2007 17:42:35 +0000 (10:42 -0700)]
Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6

* 'for-linus' of git://git.infradead.org/ubi-2.6:
  UBI: remove unused variable
  UBI: add me to MAINTAINERS
  JFFS2: add UBI support
  UBI: Unsorted Block Images

17 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfashe...
Linus Torvalds [Fri, 27 Apr 2007 17:29:56 +0000 (10:29 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (27 commits)
  ocfs2: Cache extent records
  ocfs2: Remember rw lock level during direct io
  ocfs2: Fix up i_blocks calculation to know about holes
  ocfs2: Fix extent lookup to return true size of holes
  ocfs2: Read from an unwritten extent returns zeros
  ocfs2: make room for unwritten extents flag
  ocfs2: Use own splice write actor
  ocfs2: Use do_sync_mapping_range() in ocfs2_zero_tail_for_truncate()
  [PATCH] Turn do_sync_file_range() into do_sync_mapping_range()
  ocfs2: zero tail of sparse files on truncate
  ocfs2: Teach ocfs2_get_block() about holes
  ocfs2: remove ocfs2_prepare_write() and ocfs2_commit_write()
  ocfs2: teach ocfs2_file_aio_write() about sparse files
  ocfs2: Turn off shared writeable mmap for local files systems with holes.
  ocfs2: abstract out allocation locking
  ocfs2: teach extend/truncate about sparse files
  ocfs2: temporarily remove extent map caching
  ocfs2: sparse b-tree support
  ocfs2: small cleanup of ocfs2_request_delete()
  ocfs2: remove unused code
  ...

17 years agoMerge branch 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 27 Apr 2007 17:14:53 +0000 (10:14 -0700)]
Merge branch 'e1000-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

* 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  e1000: FIX: Stop raw interrupts disabled nag from RT
  e1000: FIX: firmware handover bits
  e1000: FIX: be ready for incoming irq at pci_request_irq

17 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Fri, 27 Apr 2007 16:39:27 +0000 (09:39 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (49 commits)
  IB: Set class_dev->dev in core for nice device symlink
  IB/ehca: Implement modify_port
  IB/umad: Clarify documentation of transaction ID
  IPoIB/cm: spin_lock_irqsave() -> spin_lock_irq() replacements
  IB/mad: Change SMI to use enums rather than magic return codes
  IB/umad: Implement GRH handling for sent/received MADs
  IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr
  IB/sa: Set src_path_bits correctly in ib_init_ah_from_path()
  IB/ucm: Simplify ib_ucm_event()
  RDMA/ucma: Simplify ucma_get_event()
  IB/mthca: Simplify CQ cleaning in mthca_free_qp()
  IB/mthca: Fix mthca_write_mtt() on HCAs with hidden memory
  IB/mthca: Update HCA firmware revisions
  IB/ipath: Fix WC format drift between user and kernel space
  IB/ipath: Check that a UD work request's address handle is valid
  IB/ipath: Remove duplicate stuff from ipath_verbs.h
  IB/ipath: Check reserved memory keys
  IB/ipath: Fix unit selection when all CPU affinity bits set
  IB/ipath: Don't allow QPs 0 and 1 to be opened multiple times
  IB/ipath: Disable IB link earlier in shutdown sequence
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:29:04 +0000 (09:29 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
  [SCSI] SUNESP: Complete driver rewrite to version 2.0
  [SPARC64]: Convert PCI over to generic struct iommu/strbuf.
  [SPARC]: device_node name constification fallout
  [SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
  [SPARC64]: Add generic iommu and strbuf structs to iommu.h
  [SPARC64]: Consolidate {sbus,pci}_iommu_arena.
  [SPARC]: Make device_node name and type const
  [SPARC64]: constify some paramaters of OF routines
  [TIGON3]: of_get_property() returns const.
  [SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
  [SPARC64]: Document and fix calculation of pages_avail.
  [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
  [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
  [SPARC64]: Add proper header file extern for cmdline_memory_size.
  [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
  [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
  [SPARC64]: Give move verbose show_mem() output just like i386.
  [SPARC64]: Mark show_mem() printk's with KERN_INFO.
  [SPARC64]: Kill kvaddr_to_phys() and friends.
  [SPARC64]: Privatize sun4u_get_pte() and fix name.
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:26:46 +0000 (09:26 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
  [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
  [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
  [IPV4]: Add multipath cached to feature-removal-schedule.txt
  [WIRELESS] cfg80211: Clarify locking comment.
  [WIRELESS] cfg80211: Fix locking in wiphy_new.
  [WEXT] net_device: Don't include wext bits if not required.
  [WEXT]: Misc code cleanups.
  [WEXT]: Reduce inline abuse.
  [WEXT]: Move EXPORT_SYMBOL statements where they belong.
  [WEXT]: Cleanup early ioctl call path.
  [WEXT]: Remove options.
  [WEXT]: Remove dead debug code.
  [WEXT]: Clean up how wext is called.
  [WEXT]: Move to net/wireless
  [AFS]: Eliminate cmpxchg() usage in vlocation code.
  [RXRPC]: Fix pointers passed to bitops.
  [RXRPC]: Remove bogus atomic_* overrides.
  [AFS]: Fix u64 printing in debug logging.
  [AFS]: Add "directory write" support.
  [AFS]: Implement the CB.InitCallBackState3 operation.
  ...

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Fri, 27 Apr 2007 16:20:51 +0000 (09:20 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (22 commits)
  [MIPS] Don't force frame pointers for lockdep on MIPS
  [MIPS] update vr41xx Kconfig
  [MIPS] remove 2 select entries for VR41xx
  [MIPS] rename VR41XX to VR4100 series
  [MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.
  [MIPS] Replace old fashioned "__typeof" with "__typeof__".
  [MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.
  [MIPS] Change PCI host bridge setup/resources
  [MIPS] Register PCI host bridge resource earlier
  [MIPS] Remove pnx8550-v2pci_defconfig
  [MIPS] Add bcm1480 ZBus trace support, fix wait related bugs
  [MIPS] Updated Sibyte headers
  [MIPS] Remove unused argument from kunmap_coherent().
  [MIPS] Malta: Delete unused prototype of mips_timer_interrupt.
  [MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected
  [MIPS] MIPS Tech: Get rid of volatile in core code.
  [MIPS] IP22: Get rid of volatile in IP22 core code.
  [MIPS] JMR3927 cleanup
  [MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines
  [MIPS] Cobalt: Split PCI codes from setup.c
  ...

17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Fri, 27 Apr 2007 16:15:31 +0000 (09:15 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (38 commits)
  [S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390
  [S390] Clean up smp code in preparation for some larger changes.
  [S390] Remove debugging junk.
  [S390] Switch etr from tasklet to workqueue.
  [S390] split page_test_and_clear_dirty.
  [S390] Processor degradation notification.
  [S390] vtime: cleanup per_cpu usage.
  [S390] crypto: cleanup.
  [S390] sclp: fix coding style.
  [S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.
  [S390] sclp: initialize early.
  [S390] ctc: kmalloc->kzalloc/casting cleanups.
  [S390] zfcpdump support.
  [S390] dasd: Add ipldev parameter.
  [S390] dasd: Add sysfs attribute status and generate uevents.
  [S390] Improved kernel stack overflow checking.
  [S390] Get rid of console setup functions.
  [S390] No execute support cleanup.
  [S390] Minor fault path optimization.
  [S390] Use generic bug.
  ...

17 years agoMerge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32
Linus Torvalds [Fri, 27 Apr 2007 16:14:46 +0000 (09:14 -0700)]
Merge branch 'for-linus' of git://atmel.no/~hskinnemoen/linux/kernel/avr32

* 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: (21 commits)
  [AVR32] Fix compile error with gcc 4.1
  avr32: remove unneeded cast in atomic.h
  AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK".
  [AVR32] Optimize the TLB miss handler
  [AVR32] Board code for ATNGW100
  [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io
  [AVR32] Get rid of board_setup_fbmem()
  [AVR32] Reserve framebuffer memory in early_parse_fbmem()
  [AVR32] Simplify early handling of memory regions
  [AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c
  [AVR32] Make I/O access macros work with external devices
  [AVR32] Fix NMI handler
  [AVR32] Clean up exception handling code
  [AVR32] Clean up cpu identification and add features bitmap
  [AVR32] Clean up asm/sysreg.h
  [AVR32] Don't enable clocks with no users
  [AVR32] Put cpu in sleep 0 when idle.
  [AVR32] Change system timer from count-compare to Timer/Counter 0
  [AVR32] Add mach-specific Kconfig
  [AVR32] Add nwait and tdf parameters to SMC configuration
  ...

17 years agoChange default dirty-writeback limits
Linus Torvalds [Fri, 27 Apr 2007 16:10:47 +0000 (09:10 -0700)]
Change default dirty-writeback limits

Do this really early in the 2.6.22-rc series, so that we'll get
feedback.  And don't change by half measures.  Just cut the default
dirty limit to a quarter of what it was, and see if anybody even
notices.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[MIPS] Don't force frame pointers for lockdep on MIPS
Franck Bui-Huu [Thu, 26 Apr 2007 07:20:15 +0000 (00:20 -0700)]
[MIPS] Don't force frame pointers for lockdep on MIPS

Stacktrace support on MIPS doesn't use frame pointers.  Since this option
considerably increases the size of the kernel code, force lockdep to not
use it.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] update vr41xx Kconfig
Yoichi Yuasa [Thu, 26 Apr 2007 10:53:59 +0000 (19:53 +0900)]
[MIPS] update vr41xx Kconfig

This patch has updated vr41xx/Kconfig.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] remove 2 select entries for VR41xx
Yoichi Yuasa [Thu, 26 Apr 2007 10:51:31 +0000 (19:51 +0900)]
[MIPS] remove 2 select entries for VR41xx

This patch has removed 2 select entries for VR41xx.
These entries are selected in arch/mips/vr41xx/Kconfig.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] rename VR41XX to VR4100 series
Yoichi Yuasa [Thu, 26 Apr 2007 10:45:09 +0000 (19:45 +0900)]
[MIPS] rename VR41XX to VR4100 series

This patch has renamed VR41XX to VR4100 series.
That's better.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.
Milind Arun Choudhary [Thu, 19 Apr 2007 09:35:16 +0000 (15:05 +0530)]
[MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.

Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Replace old fashioned "__typeof" with "__typeof__".
Robert P. J. Day [Tue, 10 Apr 2007 10:23:27 +0000 (06:23 -0400)]
[MIPS] Replace old fashioned "__typeof" with "__typeof__".

[Robert's original log message said this was a bug but it isn't, it's
just very old fashioned syntax that is not (no longer?) documented in the
gcc documentation.  So for the sake of uniformity I'm applying his
patch but with a modified log message. -- Ralf]

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.
Ralf Baechle [Thu, 26 Apr 2007 14:46:28 +0000 (15:46 +0100)]
[MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Change PCI host bridge setup/resources
Thomas Bogendoerfer [Sun, 8 Apr 2007 11:34:57 +0000 (13:34 +0200)]
[MIPS] Change PCI host bridge setup/resources

PCI host bridge setup for SNI RM machines with PCI is quite broken, now
that Linux does it's resource setup own its own. It will use IO addresses,
which are needed by the EISA config detection and assigns PCI memory
addresses, which overlap with ISA legacy addresses (video ram). Below
is a patch, which changes the way how the PCI memory addresses are
used and sets the minimum IO address to give enough IO space for
8 EISA slots). This patch needs the other PCI resource change, I've
posted.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Register PCI host bridge resource earlier
Thomas Bogendoerfer [Sun, 8 Apr 2007 11:28:44 +0000 (13:28 +0200)]
[MIPS] Register PCI host bridge resource earlier

PCI based SNI RM machines have their EISA bus behind an Intel PCI/EISA
bridge. So the PCI IO range must start at 0x0000. Changing that will
break the PCI bus, because i8259.c already has registered it's IO
addresses before the PCI bus gets initialized. Below is a patch,
which will register the PCI host bridge resources inside
register_pci_controller(). It also changes i8259.c to use insert_region(),
because request_resource() will fail, if the IO space of the PIT hanging
of the PCI host bridge (maybe passing the resource parent to
init_i8259_irqs() is a cleaner fix for that).

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove pnx8550-v2pci_defconfig
Yoichi Yuasa [Wed, 4 Apr 2007 07:40:52 +0000 (16:40 +0900)]
[MIPS] Remove pnx8550-v2pci_defconfig

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add bcm1480 ZBus trace support, fix wait related bugs
Mark Mason [Thu, 29 Mar 2007 18:39:56 +0000 (11:39 -0700)]
[MIPS] Add bcm1480 ZBus trace support, fix wait related bugs

Make ZBus tracing generic - moving it to a common direcotry under
arch/mips/sibyte, add bcm1480 support and fix some wait related
bugs (thanks to Ralf for assistance on that).

Signed-off-by: Mark Mason <mason@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Updated Sibyte headers
Mark Mason [Wed, 28 Mar 2007 21:40:25 +0000 (14:40 -0700)]
[MIPS] Updated Sibyte headers

This is an update to the earlier patch for the sibyte headers, and superceeds
the previous patch.  Changes were necessary to get the tbprof driver working
on the bcm1480.

Patch to update Sibyte header files to match master versions maintained
at Broadcom.  This patch also corrects some whitespace problems, and
(hopefully) shouldn't introduce any new ones.

Signed-off-by: Mark Mason <mason@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove unused argument from kunmap_coherent().
Ralf Baechle [Thu, 26 Apr 2007 14:46:25 +0000 (15:46 +0100)]
[MIPS] Remove unused argument from kunmap_coherent().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Malta: Delete unused prototype of mips_timer_interrupt.
Ralf Baechle [Thu, 26 Apr 2007 14:46:25 +0000 (15:46 +0100)]
[MIPS] Malta: Delete unused prototype of mips_timer_interrupt.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected
Atsushi Nemoto [Tue, 20 Mar 2007 15:36:02 +0000 (00:36 +0900)]
[MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] MIPS Tech: Get rid of volatile in core code.
Ralf Baechle [Thu, 26 Apr 2007 14:46:24 +0000 (15:46 +0100)]
[MIPS] MIPS Tech: Get rid of volatile in core code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP22: Get rid of volatile in IP22 core code.
Ralf Baechle [Thu, 26 Apr 2007 14:46:24 +0000 (15:46 +0100)]
[MIPS] IP22: Get rid of volatile in IP22 core code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] JMR3927 cleanup
Atsushi Nemoto [Wed, 14 Mar 2007 15:58:28 +0000 (00:58 +0900)]
[MIPS] JMR3927 cleanup

* Kill dead codes
* Rearrange irq chip handlers
* Minimize defconfig

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines
Yoichi Yuasa [Wed, 14 Mar 2007 12:51:26 +0000 (21:51 +0900)]
[MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines

This patch has merged GT64111 PCI routines and GT64120 PCI_0 routines.
GT64111 PCI is almost the same as GT64120's PCI_0.
This patch don't change GT64120 PCI routines.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Split PCI codes from setup.c
Yoichi Yuasa [Mon, 5 Mar 2007 10:10:03 +0000 (19:10 +0900)]
[MIPS] Cobalt: Split PCI codes from setup.c

It's removed #ifdef CONFIG_PCI/#endif from cobalt setup.c .

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: clean up include files
Yoichi Yuasa [Tue, 6 Mar 2007 12:34:44 +0000 (21:34 +0900)]
[MIPS] Cobalt: clean up include files

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
17 years ago[MIPS] Fix AP/SP to work in the reality of modern kernels.
Ralf Baechle [Wed, 25 Apr 2007 14:08:57 +0000 (15:08 +0100)]
[MIPS] Fix AP/SP to work in the reality of modern kernels.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390
Milind Arun Choudhary [Fri, 27 Apr 2007 14:02:01 +0000 (16:02 +0200)]
[S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390

SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead.

Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Clean up smp code in preparation for some larger changes.
Heiko Carstens [Fri, 27 Apr 2007 14:02:00 +0000 (16:02 +0200)]
[S390] Clean up smp code in preparation for some larger changes.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Remove debugging junk.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:59 +0000 (16:01 +0200)]
[S390] Remove debugging junk.

arch/s390/appldata/appldata_base.c has some confusing debugging code left
over to allow compiling it as a module. In practice, it cannot be configured
as module and there is no need to keep that code.

Signed-off-by: Gerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Switch etr from tasklet to workqueue.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:58 +0000 (16:01 +0200)]
[S390] Switch etr from tasklet to workqueue.

The clock synchronization of the ETR code requires an smp_call_function
to synchronize all cpus. Calling smp_call_function from a tasklet is
illegal. Replace the tasklet with a job on the global workqueue.
ETR work is rare and can be postponed to a be done by a kernel thread.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] split page_test_and_clear_dirty.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:57 +0000 (16:01 +0200)]
[S390] split page_test_and_clear_dirty.

The page_test_and_clear_dirty primitive really consists of two
operations, page_test_dirty and the page_clear_dirty. The combination
of the two is not an atomic operation, so it makes more sense to have
two separate operations instead of one.
In addition to the improved readability of the s390 version of
SetPageUptodate, it now avoids the page_test_dirty operation which is
an insert-storage-key-extended (iske) instruction which is an expensive
operation.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Processor degradation notification.
Heiko Carstens [Fri, 27 Apr 2007 14:01:56 +0000 (16:01 +0200)]
[S390] Processor degradation notification.

Generate uevents for all cpus if cpu capability changes. This can
happen e.g. because the cpus are overheating. The cpu capability can
be read via /sys/devices/system/cpu/cpuN/capability.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] vtime: cleanup per_cpu usage.
Jan Glauber [Fri, 27 Apr 2007 14:01:55 +0000 (16:01 +0200)]
[S390] vtime: cleanup per_cpu usage.

Replace per_cpu(... , smp_processor_id()) with __get_cpu_var()

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] crypto: cleanup.
Jan Glauber [Fri, 27 Apr 2007 14:01:54 +0000 (16:01 +0200)]
[S390] crypto: cleanup.

Cleanup code and remove obsolete documentation.

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] sclp: fix coding style.
Stefan Haberland [Fri, 27 Apr 2007 14:01:53 +0000 (16:01 +0200)]
[S390] sclp: fix coding style.

Use only capital letters for defines.

Cc: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.
Ursula Braun [Fri, 27 Apr 2007 14:01:52 +0000 (16:01 +0200)]
[S390] vmlogrdr: stop IUCV connection in vmlogrdr_release.

Reopen of /dev/account failed. The IUCV path has to be terminated
in vmlogrdr_release.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] sclp: initialize early.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:51 +0000 (16:01 +0200)]
[S390] sclp: initialize early.

Add explicit sclp initialization for those sclp users that do not
register with the interface.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] ctc: kmalloc->kzalloc/casting cleanups.
Ahmed S. Darwish [Fri, 27 Apr 2007 14:01:50 +0000 (16:01 +0200)]
[S390] ctc: kmalloc->kzalloc/casting cleanups.

A patch for the CTC / ESCON network driver.  Switch from kmalloc to kzalloc
when appropriate, remove some unnecessary kmalloc casts too.  Since I have no
s390 machine, I didn't compile it but I examined it carefully.

Signed-off-by: "Ahmed S. Darwish" <darwish.07@gmail.com>
Cc: Frank Pavlic <fpavlic@de.ibm.com>
Cc: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] zfcpdump support.
Michael Holzheu [Fri, 27 Apr 2007 14:01:49 +0000 (16:01 +0200)]
[S390] zfcpdump support.

s390 machines provide hardware support for creating Linux dumps on SCSI
disks. For creating a dump a special purpose dump Linux is used. The first
32 MB of memory are saved by the hardware before the dump Linux is
booted. Via an SCLP interface, the saved memory can be accessed from
Linux. This patch exports memory and registers of the crashed Linux to
userspace via a debugfs file. For more information refer to
Documentation/s390/zfcpdump.txt, which is included in this patch.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] dasd: Add ipldev parameter.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:48 +0000 (16:01 +0200)]
[S390] dasd: Add ipldev parameter.

Specifying 'ipldev' in the dasd= kernel parameter will automatically
activate the boot device for use by the dasd driver.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] dasd: Add sysfs attribute status and generate uevents.
Horst Hummel [Fri, 27 Apr 2007 14:01:47 +0000 (16:01 +0200)]
[S390] dasd: Add sysfs attribute status and generate uevents.

This patch adds a sysfs-attribute 'status' to make the DASD device-status
accessible from user-space. In addition, the DASD driver generates an
uevent(CHANGE) for the ccw-device on each device-status change.
This enables user-space applications (e.g. udev) to do related processing.

Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Improved kernel stack overflow checking.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:46 +0000 (16:01 +0200)]
[S390] Improved kernel stack overflow checking.

Recent cvs versions of gcc have support for an improved stack overflow
checking that calculates the size of the guard size for each function.
If the compiler accepts -mstack-size without -mstack-guard then the
new stack check is available. We always want to use the new stack
checker.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Get rid of console setup functions.
Heiko Carstens [Fri, 27 Apr 2007 14:01:45 +0000 (16:01 +0200)]
[S390] Get rid of console setup functions.

We get this:

Section mismatch: reference to .init.text:con3270_consetup from .data
  between 'con3270' (at offset 0x45c8) and 'con3270_fn'
Section mismatch: reference to .init.text:con3215_consetup from .data
  between 'con3215' (at offset 0x4678) and
  'raw3215_ccw_driver'

Since there is no difference between a non present console setup
function and one that returns only 0 remove them.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] No execute support cleanup.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:44 +0000 (16:01 +0200)]
[S390] No execute support cleanup.

Simplify the signal_return function that checks for the two special
system calls sigreturn and rt_sigreturn. No need to do a page table
walk, a call to copy_from_user while disabled page faults will work
as well.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Minor fault path optimization.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:43 +0000 (16:01 +0200)]
[S390] Minor fault path optimization.

The minor fault path has grown a lot in terms of cycles. In particular
the kprobes hook is very costly. Optimize the path to save a couple of
cycles. If kprobes is enabled more than 300 cycles can be avoided if
kprobes_running() is false.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Use generic bug.
Heiko Carstens [Fri, 27 Apr 2007 14:01:42 +0000 (16:01 +0200)]
[S390] Use generic bug.

Generic bug implementation for s390. Will increase the value of the
console output on BUG() statements since registers r0-r5,r14 will
not be clobbered by a printk() call that was previously done before
the illegal instruction of BUG() was hit.
Also implements an architecture specific WARN_ON(). Output of that
could be increased but requires common code change.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] Improved oops output.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:41 +0000 (16:01 +0200)]
[S390] Improved oops output.

This patch adds two improvements to the oops output. First it adds an
additional line after the PSW which decodes the different fields of it.
Second a disassembler is added that decodes the instructions surrounding
the faulting PSW. The output of a test oops now looks like this:

kernel BUG at init/main.c:419
illegal operation: 0001 [#1]
CPU:    0    Not tainted
Process swapper (pid: 0, task: 0000000000464968, ksp: 00000000004be000)
Krnl PSW : 0700000180000000 00000000000120b6 (rest_init+0x36/0x38)
           R:0 T:1 IO:1 EX:1 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3
Krnl GPRS: 0000000000000003 00000000004ba017 0000000000000022 0000000000000001
           000000000003a5f6 0000000000000000 00000000004be6a8 0000000000000000
           0000000000000000 00000000004b8200 0000000000003a50 0000000000008000
           0000000000516368 000000000033d008 00000000000120b2 00000000004bdee0
Krnl Code: 00000000000120a6e3e0f0980024       stg     %r14,152(%r15)
           00000000000120acc0e500014296       brasl   %r14,3a5d8
           00000000000120b2a7f40001           brc     15,120b4
          >00000000000120b6: 0707               bcr     0,%r7
           00000000000120b8eb7ff0500024       stmg    %r7,%r15,80(%r15)
           00000000000120bec0d000195825       larl    %r13,33d108
           00000000000120c4a7f13f00           tmll    %r15,16128
           00000000000120c8a7840001           brc     8,120ca
Call Trace:
([<00000000000120b2>] rest_init+0x32/0x38)
 [<00000000004be614>] start_kernel+0x37c/0x410
 [<0000000000012020>] _ehead+0x20/0x80

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] System call cleanup.
Martin Schwidefsky [Fri, 27 Apr 2007 14:01:40 +0000 (16:01 +0200)]
[S390] System call cleanup.

Remove system call glue for sys_clone, sys_fork, sys_vfork, sys_execve,
sys_sigreturn, sys_rt_sigreturn and sys_sigaltstack. Call do_execve from
kernel_execve directly, move pt_regs to the right place and branch to
sysc_return to start the user space program. This removes the last
in-kernel system call.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: Unregister ccw devices directly.
Cornelia Huck [Fri, 27 Apr 2007 14:01:39 +0000 (16:01 +0200)]
[S390] cio: Unregister ccw devices directly.

We used to unregister ccw devices not directly from the I/O
subchannel remove function in order to avoid lifelocks on the
css bus semaphore. This semaphore is gone, and there is no reason
to not unregister the ccw device directly (it is even better since
it is more in keeping with the goal of immediate disconnect).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: cm_enable memory leak.
Cornelia Huck [Fri, 27 Apr 2007 14:01:38 +0000 (16:01 +0200)]
[S390] cio: cm_enable memory leak.

We allocage two pages when channel path measurements are enabled
via cm_enable. We must not forget to free them again when
channel path measurements are disabled again.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: ccwgroup register vs. unregister.
Cornelia Huck [Fri, 27 Apr 2007 14:01:37 +0000 (16:01 +0200)]
[S390] cio: ccwgroup register vs. unregister.

Introduce a mutex for struct ccwgroup to prevent simuntaneous
register/unregister on the same ccwgroup device.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: Dont call css_update_ssd_info from interrupt context.
Cornelia Huck [Fri, 27 Apr 2007 14:01:36 +0000 (16:01 +0200)]
[S390] cio: Dont call css_update_ssd_info from interrupt context.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: fix subchannel channel-path data usage
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:35 +0000 (16:01 +0200)]
[S390] cio: fix subchannel channel-path data usage

Ensure that channel-path related subchannel data is only retrieved and
used when it is valid and that it is updated when it may have changed.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: replace subchannel evaluation queue with bitmap
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:34 +0000 (16:01 +0200)]
[S390] cio: replace subchannel evaluation queue with bitmap

Use a bitmap for indicating which subchannels require evaluation
instead of allocating memory for each evaluation request. This
approach reduces memory consumption during recovery in case of
massive evaluation request occurrence and removes the need for
memory allocation failure handling.

Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: Re-start path verification after aborting internal I/O.
Stefan Bader [Fri, 27 Apr 2007 14:01:33 +0000 (16:01 +0200)]
[S390] cio: Re-start path verification after aborting internal I/O.

Path verification triggered by changes to the available CHPIDs will be
interrupted by another change but not re-started. This results in an
invalid path mask.
To solve this make sure to completely re-start path verification when
changing the available paths.

Signed-off-by: Stefan Bader <shbader@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: Use add_uevent_var.
Cornelia Huck [Fri, 27 Apr 2007 14:01:32 +0000 (16:01 +0200)]
[S390] cio: Use add_uevent_var.

Convert ccw_uevent to use add_uevent_var and adapt snprint_alias.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: Channel-path configure function.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:31 +0000 (16:01 +0200)]
[S390] cio: Channel-path configure function.

Add a new attribute to the channel-path sysfs directory through which
channel-path configure operations can be triggered. Also listen for
hardware events requesting channel-path configure operations and
process them accordingly.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: Clean up online_store.
Cornelia Huck [Fri, 27 Apr 2007 14:01:30 +0000 (16:01 +0200)]
[S390] cio: Clean up online_store.

Detangle the online_store code and make it more readable.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: observe chpid valid flag
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:29 +0000 (16:01 +0200)]
[S390] cio: observe chpid valid flag

Check validity flag of CHPID description data before continuing with
channel-path initialization.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] cio: Introduce separate files for channel-path related code.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:28 +0000 (16:01 +0200)]
[S390] cio: Introduce separate files for channel-path related code.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: Allow 0 and 1 as input for channel path status attribute.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:27 +0000 (16:01 +0200)]
[S390] cio: Allow 0 and 1 as input for channel path status attribute.

Channel path status can now be modified by writing '0' and '1'
to the sysfs status attribute in addition to 'offline' and
'online' respectively.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio: Introduce struct chp_id.
Peter Oberparleiter [Fri, 27 Apr 2007 14:01:26 +0000 (16:01 +0200)]
[S390] cio: Introduce struct chp_id.

Introduce data type for channel-path IDs.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] cio/ipl: Clean interface between cio and ipl code.
Heiko Carstens [Fri, 27 Apr 2007 14:01:25 +0000 (16:01 +0200)]
[S390] cio/ipl: Clean interface between cio and ipl code.

Clean interface between cio and ipl code, so Peter stops complaining.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[S390] memory detection: stop at first memory hole.
Heiko Carstens [Fri, 27 Apr 2007 14:01:04 +0000 (16:01 +0200)]
[S390] memory detection: stop at first memory hole.

If both sclp and diag memory detection don't work stop at the first
memory hole. Otherwise the code might loop forever...

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
17 years ago[AVR32] Fix compile error with gcc 4.1
Haavard Skinnemoen [Fri, 27 Apr 2007 12:21:47 +0000 (14:21 +0200)]
[AVR32] Fix compile error with gcc 4.1

gcc 4.1 doesn't seem to like const variables as inline assembly
outputs. Drop support for reading 64-bit values using get_user() so
that we can use an unsigned long to hold the result regardless of the
actual size. This should be safe since many architectures, including
i386, doesn't support reading 64-bit values with get_user().

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years agoUBI: remove unused variable
Artem Bityutskiy [Fri, 27 Apr 2007 12:11:44 +0000 (15:11 +0300)]
UBI: remove unused variable

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoavr32: remove unneeded cast in atomic.h
Mathieu Desnoyers [Tue, 10 Apr 2007 22:23:09 +0000 (18:23 -0400)]
avr32: remove unneeded cast in atomic.h

This int cast is superfluous since system.h cmpxchg already casts it in
(typeof(*(ptr))).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years agoAVR32: Remove useless config option "GENERIC_BUST_SPINLOCK".
Robert P. J. Day [Thu, 26 Apr 2007 12:53:38 +0000 (08:53 -0400)]
AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK".

Remove the clearly useless config option GENERIC_BUST_SPINLOCK, which
is not used anywhere in the tree.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Optimize the TLB miss handler
Haavard Skinnemoen [Wed, 14 Mar 2007 12:59:13 +0000 (13:59 +0100)]
[AVR32] Optimize the TLB miss handler

Reorder some instructions and change the register usage to reduce
the number of pipeline stalls. Also use the bfextu and bfins
instructions for bitfield manipulations instead of shifting and
masking.

This makes gzipping a 80MB file approximately 2% faster.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Board code for ATNGW100
Haavard Skinnemoen [Thu, 12 Apr 2007 15:26:57 +0000 (17:26 +0200)]
[AVR32] Board code for ATNGW100

Add board code and defconfig for the ATNGW100 Network Gateway kit.
For more information about this board, see

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io
Haavard Skinnemoen [Wed, 7 Mar 2007 09:40:44 +0000 (10:40 +0100)]
[AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io

Using readb/writeb to implement these breaks NOR flash support. I
can't see any reason why regular memcpy and memset shouldn't work.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Get rid of board_setup_fbmem()
Haavard Skinnemoen [Wed, 21 Mar 2007 15:23:41 +0000 (16:23 +0100)]
[AVR32] Get rid of board_setup_fbmem()

Since the core setup code takes care of both allocation and
reservation of framebuffer memory, there's no need for this board-
specific hook anymore. Replace it with two global variables,
fbmem_start and fbmem_size, which can be used directly.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Reserve framebuffer memory in early_parse_fbmem()
Haavard Skinnemoen [Wed, 21 Mar 2007 15:16:50 +0000 (16:16 +0100)]
[AVR32] Reserve framebuffer memory in early_parse_fbmem()

With the current strategy of using the bootmem allocator to allocate
or reserve framebuffer memory, there's a slight chance that the
requested area has been taken by the boot allocator bitmap before we
get around to reserving it.

By inserting the framebuffer region as a reserved region as early as
possible, we improve our chances for success and we make the region
visible as a reserved region in dmesg and /proc/iomem without any
extra work.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Simplify early handling of memory regions
Haavard Skinnemoen [Wed, 21 Mar 2007 15:02:57 +0000 (16:02 +0100)]
[AVR32] Simplify early handling of memory regions

Use struct resource to specify both physical memory regions and
reserved regions and push everything into the same framework,
including kernel code/data and initrd memory. This allows us to get
rid of many special cases in the bootmem initialization and will also
make it easier to implement more robust handling of framebuffer
memory later.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c
Haavard Skinnemoen [Wed, 21 Mar 2007 14:39:18 +0000 (15:39 +0100)]
[AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Make I/O access macros work with external devices
Haavard Skinnemoen [Mon, 12 Feb 2007 15:28:56 +0000 (16:28 +0100)]
[AVR32] Make I/O access macros work with external devices

Fix the I/O access macros so that they work with externally connected
devices accessed in little-endian mode over any bus width:

* Use a set of macros to define I/O port- and memory operations
  borrowed from MIPS.
* Allow subarchitecture to specify address- and data-mangling
* Implement at32ap-specific port mangling (with build-time
  configurable bus width. Only one bus width at a time supported
  for now.)
* Rewrite iowriteN and friends to use write[bwl] and friends
  (not the __raw counterparts.)

This has been tested using pata_pcmcia to access a CompactFlash card
connected to the EBI (16-bit bus width.)

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Fix NMI handler
Haavard Skinnemoen [Tue, 13 Mar 2007 09:06:37 +0000 (10:06 +0100)]
[AVR32] Fix NMI handler

Fix a problem with the NMI handler entry code related to the NMI handler
sharing some code with the exception handlers. This is not a good idea
because the RSR and RAR registers are not the same, and the NMI handler
runs with interrupts masked the whole time so there's no need to check
for pending work.

Open-code the low-level NMI handling logic instead so that the pt_regs
layout is actually correct when the higher-level handler is called.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Clean up exception handling code
Haavard Skinnemoen [Tue, 13 Mar 2007 16:59:11 +0000 (17:59 +0100)]
[AVR32] Clean up exception handling code

  * Use generic BUG() handling
  * Remove some useless debug statements
  * Use a common function _exception() to send signals or oops when
    an exception can't be handled. This makes sure init doesn't
    enter an infinite exception loop as well. Borrowed from powerpc.
  * Add some basic exception tracing support to the page fault code.
  * Rework dump_stack(), show_regs() and friends and move everything
    into process.c
  * Print information about configuration options and chip type when
    oopsing

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Clean up cpu identification and add features bitmap
Haavard Skinnemoen [Tue, 13 Mar 2007 14:30:38 +0000 (15:30 +0100)]
[AVR32] Clean up cpu identification and add features bitmap

Clean up the cpu identification code, using definitions from
<asm/sysreg.h> instead of hardcoded constants. Also, add a features
bitmap to struct avr32_cpuinfo to allow other code to make decisions
based upon what the running cpu is actually capable of.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Clean up asm/sysreg.h
Haavard Skinnemoen [Tue, 13 Mar 2007 13:17:14 +0000 (14:17 +0100)]
[AVR32] Clean up asm/sysreg.h

Fix indentation and remove spurious comments in asm-avr32/sysreg.h

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Don't enable clocks with no users
Haavard Skinnemoen [Wed, 14 Mar 2007 12:23:44 +0000 (13:23 +0100)]
[AVR32] Don't enable clocks with no users

Bring the code that sets the initial PM clock masks in line with the
comment preceding it by only enabling clocks that have users != 0.
Fix SM clock definition and avr32_hpt_init() so that the SM and TC0
clocks keep ticking.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Put cpu in sleep 0 when idle.
Hans-Christian Egtvedt [Mon, 26 Feb 2007 12:50:43 +0000 (13:50 +0100)]
[AVR32] Put cpu in sleep 0 when idle.

This patch puts the CPU in sleep 0 when doing nothing, idle. This will
turn of the CPU clock and thus save power. The CPU is waken again when
an interrupt occurs.

Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Change system timer from count-compare to Timer/Counter 0
Hans-Christian Egtvedt [Mon, 12 Mar 2007 17:15:16 +0000 (18:15 +0100)]
[AVR32] Change system timer from count-compare to Timer/Counter 0

Due to limitation of the count-compare system timer (not able to
count when CPU is in sleep), the system timer had to be changed to
use a peripheral timer/counter.

The old COUNT-COMPARE code is still present in time.c as weak
functions. The new timer is added to the architecture directory.

This patch sets up TC0 as system timer The new timer has been tested
on AT32AP7000/ATSTK1000 at 100 Hz, 250 Hz, 300 Hz and 1000 Hz.

For more details about the timer/counter see the datasheet for
AT32AP700x available at

http://www.atmel.com/dyn/products/product_card.asp?part_id=3903

Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Add mach-specific Kconfig
Haavard Skinnemoen [Wed, 7 Mar 2007 14:24:34 +0000 (15:24 +0100)]
[AVR32] Add mach-specific Kconfig

Include at32ap-specific Kconfig file from top-level Kconfig file. The
at32ap Kconfig is currently empty, but it will grow some machine-
specific options soon.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Add nwait and tdf parameters to SMC configuration
Hans-Christian Egtvedt [Wed, 31 Jan 2007 17:01:45 +0000 (18:01 +0100)]
[AVR32] Add nwait and tdf parameters to SMC configuration

Complete the SMC configuration code by adding nwait and tdf
parameter. After this change, we support the same parameters as the
hardware.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years agoUBI: add me to MAINTAINERS
Artem Bityutskiy [Tue, 13 Feb 2007 15:11:10 +0000 (17:11 +0200)]
UBI: add me to MAINTAINERS

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoJFFS2: add UBI support
Artem Bityutskiy [Wed, 4 Oct 2006 16:15:21 +0000 (19:15 +0300)]
JFFS2: add UBI support

This patch make JFFS2 able to work with UBI volumes via the emulated MTD
devices which are directly mapped to these volumes.

Signed-off-by: Artem Bityutskiy <dedekind@infradead.org>
17 years agoUBI: Unsorted Block Images
Artem B. Bityutskiy [Tue, 27 Jun 2006 08:22:22 +0000 (12:22 +0400)]
UBI: Unsorted Block Images

UBI (Latin: "where?") manages multiple logical volumes on a single
flash device, specifically supporting NAND flash devices. UBI provides
a flexible partitioning concept which still allows for wear-levelling
across the whole flash device.

In a sense, UBI may be compared to the Logical Volume Manager
(LVM). Whereas LVM maps logical sector numbers to physical HDD sector
numbers, UBI maps logical eraseblocks to physical eraseblocks.

More information may be found at
http://www.linux-mtd.infradead.org/doc/ubi.html

Partitioning/Re-partitioning

  An UBI volume occupies a certain number of erase blocks. This is
  limited by a configured maximum volume size, which could also be
  viewed as the partition size. Each individual UBI volume's size can
  be changed independently of the other UBI volumes, provided that the
  sum of all volume sizes doesn't exceed a certain limit.

  UBI supports dynamic volumes and static volumes. Static volumes are
  read-only and their contents are protected by CRC check sums.

Bad eraseblocks handling

  UBI transparently handles bad eraseblocks. When a physical
  eraseblock becomes bad, it is substituted by a good physical
  eraseblock, and the user does not even notice this.

Scrubbing

  On a NAND flash bit flips can occur on any write operation,
  sometimes also on read. If bit flips persist on the device, at first
  they can still be corrected by ECC, but once they accumulate,
  correction will become impossible. Thus it is best to actively scrub
  the affected eraseblock, by first copying it to a free eraseblock
  and then erasing the original. The UBI layer performs this type of
  scrubbing under the covers, transparently to the UBI volume users.

Erase Counts

  UBI maintains an erase count header per eraseblock. This frees
  higher-level layers (like file systems) from doing this and allows
  for centralized erase count management instead. The erase counts are
  used by the wear-levelling algorithm in the UBI layer. The algorithm
  itself is exchangeable.

Booting from NAND

  For booting directly from NAND flash the hardware must at least be
  capable of fetching and executing a small portion of the NAND
  flash. Some NAND flash controllers have this kind of support. They
  usually limit the window to a few kilobytes in erase block 0. This
  "initial program loader" (IPL) must then contain sufficient logic to
  load and execute the next boot phase.

  Due to bad eraseblocks, which may be randomly scattered over the
  flash device, it is problematic to store the "secondary program
  loader" (SPL) statically. Also, due to bit-flips it may become
  corrupted over time. UBI allows to solve this problem gracefully by
  storing the SPL in a small static UBI volume.

UBI volumes vs. static partitions

  UBI volumes are still very similar to static MTD partitions:

    * both consist of eraseblocks (logical eraseblocks in case of UBI
      volumes, and physical eraseblocks in case of static partitions;
    * both support three basic operations - read, write, erase.

  But UBI volumes have the following advantages over traditional
  static MTD partitions:

    * there are no eraseblock wear-leveling constraints in case of UBI
      volumes, so the user should not care about this;
    * there are no bit-flips and bad eraseblocks in case of UBI volumes.

  So, UBI volumes may be considered as flash devices with relaxed
  restrictions.

Where can it be found?

  Documentation, kernel code and applications can be found in the MTD
  gits.

What are the applications for?

  The applications help to create binary flash images for two purposes: pfi
  files (partial flash images) for in-system update of UBI volumes, and plain
  binary images, with or without OOB data in case of NAND, for a manufacturing
  step. Furthermore some tools are/and will be created that allow flash content
  analysis after a system has crashed..

Who did UBI?

  The original ideas, where UBI is based on, were developed by Andreas
  Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others
  were involved too. The implementation of the kernel layer was done by Artem
  B. Bityutskiy. The user-space applications and tools were written by Oliver
  Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem.
  Joern Engel contributed a patch which modifies JFFS2 so that it can be run on
  a UBI volume. Thomas Gleixner did modifications to the NAND layer. Alexander
  Schmidt made some testing work as well as core functionality improvements.

Signed-off-by: Artem B. Bityutskiy <dedekind@linutronix.de>
Signed-off-by: Frank Haverkamp <haver@vnet.ibm.com>
17 years ago[AVR32] Add basic HMATRIX support
Haavard Skinnemoen [Thu, 1 Feb 2007 15:34:10 +0000 (16:34 +0100)]
[AVR32] Add basic HMATRIX support

This adds register and clock definitions for the High-speed bus Matrix
(HMATRIX) as well as a function that can be used to configure special
EBI functionality like CompactFlash and NAND flash support.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
Sergey Vlasov [Fri, 27 Apr 2007 09:17:19 +0000 (02:17 -0700)]
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)

When CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup()
needs to initialize the res.r field before fib_res_put(&res) - unlike
fib_lookup(), a direct call to ->tb_lookup does not set this field.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
YOSHIFUJI Hideaki [Fri, 27 Apr 2007 09:13:39 +0000 (02:13 -0700)]
[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Add multipath cached to feature-removal-schedule.txt
David S. Miller [Fri, 27 Apr 2007 08:04:23 +0000 (01:04 -0700)]
[IPV4]: Add multipath cached to feature-removal-schedule.txt

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCSI] SUNESP: Complete driver rewrite to version 2.0
David S. Miller [Fri, 27 Apr 2007 04:19:23 +0000 (21:19 -0700)]
[SCSI] SUNESP: Complete driver rewrite to version 2.0

Major features:

1) Tagged queuing support.
2) Will properly negotiate for synchronous transfers even on
   devices that reject the wide negotiation message, such as
   CDROMs
3) Significantly lower kernel stack usage in interrupt
   handler path by elimination of function vector arrays,
   replaced by a top-level switch statement state machine.
4) Uses generic scsi infrastructure as much as possible to
   avoid code duplication.
5) Automatic request of sense data in response to CHECK_CONDITION
6) Portable to other platforms using ESP such as DEC and Sun3
   systems.

Signed-off-by: David S. Miller <davem@davemloft.net>