aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-05-15Merge branch 'upstream-linus' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: ucc_geth: eliminate max-speed, change interface-type to phy-connection-type smc911x: fix compilation breakage pasemi_mac: Fix local-mac-address parsing pasemi_mac: Terminate PCI ID list pasemi_mac: Interrupt ack fixes pasemi_mac: Fix register defines
2007-05-15x86: Fix discontigmem + non-HIGHMEM compileLinus Torvalds
It's not necessarily a very sane configuration, but people running "make randconfig" noticed it wouldn't compile. This fixes some obvious problems in discontig.c to allow a clean compile. Acked-by: andrew hendry <andrew.hendry@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-16Use menuconfig objects: IDEJan Engelhardt
Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16sl82c105: Switch to ref counting APIAlan Cox
Not sure how this one got missed in the great purge some time ago but it did. Signed-off-by: Alan Cox <alan@redhat.com> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16ide: remove ide_use_dma()Bartlomiej Zolnierkiewicz
ide_use_dma() duplicates a lot of ide_max_dma_mode() functionality and as all users of ide_use_dma() were converted to use ide_tune_dma() now it is possible to add missing checks to ide_tune_dma() and remove ide_use_dma() completely, so do it. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16ide: add missing validity checks for identify words 62 and 63Bartlomiej Zolnierkiewicz
Check validity of identify words 62 and 63 before using them in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16ide: remove ide_dma_enable()Bartlomiej Zolnierkiewicz
* check ->speedproc return value in ide_tune_dma() * use ide_tune_dma() in cmd64x/cs5530/sc1200/siimage/sl82c105/scc_pata drivers * remove no longer needed ide_dma_enable() Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16sl82c105: add speedproc() method and MWDMA0/1 supportSergei Shtylyov
Add the speedproc() method for setting transfer modes, modify config_for_dma() to call it and use ide_max_dma_mode() to select the best DMA mode. Add support for the multiword DMA modes 0 and 1, using the upper half of the 'drive_data' field to store the DMA timings to program into the drive control register when DMA is turned on for real. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16cs5530/sc1200: add ->speedproc supportBartlomiej Zolnierkiewicz
* add {cs5530,sc1200}_tunepio() for programming PIO timings * add {cs5530,sc1200}_tune_chipset() (->speedproc method) for setting transfer mode and convert {cs5530,sc1200}_config_dma() to use it * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16cs5530/sc1200: DMA support cleanupBartlomiej Zolnierkiewicz
sc1200.c: * remove open-coded variant of ide_dma_host_off() (== ->dma_host_off), it is not needed because ->dma_off_quietly calls ->dma_host_off * use ->dma_host_on (== ide_dma_host_on() for this driver) instead of open-coded variant, call it from the users of sc1200_config_dma2() [ there is no need to call ->dma_host_on in sc1200_config_dma() because core code takes care of calling ->ide_dma_on on successful execution of ->ide_dma_check ] * add comment about ->tuneproc interface abuse cs5530.c/sc1200.c: * core code takes care of calling ->dma_off_quietly before calling ->ide_dma_check so there is no need to call it in ->ide_dma_check methods * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16ide: use ide_tune_dma() part #2Bartlomiej Zolnierkiewicz
Use ide_tune_dma() in ide-cris/it821x/pdc202xx_old/serverworks drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16cs5530/sc1200: add ->udma_filter methodsBartlomiej Zolnierkiewicz
CS5530/SC1200 specifies that two drives on the same cable cannot mix UDMA/MDMA. Add {cs5530,sc1200}_udma_filter() to handle this. This also makes it possible to remove open-coded best DMA mode selection and use standard ide_use_dma()/ide_max_dma_mode() helpers. While at it bump version numbers. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16ide: always disable DMA before tuning itBartlomiej Zolnierkiewicz
ide_start_power_step() and set_using_dma() were missing ->dma_off_quietly call (comment in probe_hwif() states that DMA should be always cleared before tuning is attempted). Fix it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16pdc202xx_new: use ide_tune_dma()Bartlomiej Zolnierkiewicz
* remove code enabling IORDY and prefetch from config_chipset_for_dma(), as the comment states it has no real effect because these settings are overriden when the PIO mode is set (and for this driver ->autotune == 1 so PIO mode is always programmed) * use ide_tune_dma() in pdcnew_config_drive_xfer_rate() and remove no longer needed config_chipset_for_dma() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16alim15x3: use ide_tune_dma()Bartlomiej Zolnierkiewicz
Use ide_tune_dma() in ali15x3_config_drive_for_dma() and remove all the open coded DMA tuning code and also config_chipset_for_dma(). Set ->atapi_dma flag correctly in init_hwif_common_ali15x3() so ide_tune_dma() can take care of checking if ATAPI DMA is allowed and remove open coded ATAPI DMA check from ali15x3_config_drive_for_dma(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16sis5513: PIO mode setup fixesBartlomiej Zolnierkiewicz
* limit max PIO mode to PIO4, this driver doesn't support PIO5 and attempt to program PIO5 by config_art_rwp_pio() could result in incorrect PIO timings being programmed and possibly the data corruption (for < ATA100 family chipsets PIO0 timings were used, for ATA100 and ATA100a - the random content of test1 variable was used, for ATA133 - MWDMA0 timings were used) * BUG() in sis5513_tune_chipset() if somebody tries to force unsupported PIO5, also cleanup this function a bit while at it * add comment about PIO0 timings for < ATA100 family chipsets * remove open-coded best PIO mode selection from config_art_rwp_pio(), it contained numerous bugs: - it didn't check for validity of id->eide_pio_modes and id->eide_pio_iordy before using them - it tried to found out maximum PIO mode basing on minimum IORDY cycle time (moreover wrong cycle times were used for PIO1/5) - it was overriding PIO blacklist and conservative PIO "downgrade" done by ide_get_best_pio_mode() * use sis5513_tune_drive() instead of config_art_rwp_pio() in sis5513_config_xfer_rate() so the correct PIO mode is also set on drive even if the device is not IORDY/DMA capable * config_art_rwp_pio() was always setting the best possible mode and not the wanted one - fix it and move ide_get_best_pio_mode() call to config_chipset_for_pio() * don't use ide_find_best_mode() in config_chipset_for_pio(), it was being overriden by config_art_rwp_pio() for the host timings anyway + we need to set the same PIO mode on the device and the host * pass correct "pio" argument (255 instead of 5) to sis5513_tune_drive() call in sis5513_config_xfer_rate() so the best PIO mode is set on the drive and not PIO4 * rename sis5513_tune_drive() to sis5513_tuneproc() and config_chipset_for_pio() to sis5513_tune_driver() * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16serverworks: PIO mode setup fixesBartlomiej Zolnierkiewicz
* limit max PIO mode to PIO4, this driver doesn't support PIO5 and attempt to program PIO5 by svwks_tune_chipset() could result in incorrect PIO timings being programmed and possibly the data corruption (it seems that the minimum possible values were used but I lack the datasheets to be sure) * select best PIO mode in svwks_tune_drive() and not in svwks_tune_chipset() when doing PIO autotuning (pio == 255) * don't try to tune PIO in config_chipset_for_dma() as ide_dma_enable() could return 1 if DMA was previously enabled (svwks_config_drive_xfer_rate() takes care of PIO tuning if no suitable DMA mode is found) * remove config_chipset_for_pio() and use svwks_tune_drive() instead, config_chipset_for_pio() contained numerous bugs when selecting PIO mode (luckily it was only used for devices limited to PIO by capabilities/BIOS): - it didn't check for validity of id->eide_pio_modes and id->eide_pio_iordy before using them - it tried to found out maximum PIO mode basing on minimum IORDY cycle time (moreover wrong cycle times were used for PIO0/1/5) - it was overriding PIO blacklist and conservative PIO "downgrade" done by ide_get_best_pio_mode() - if the max drive PIO was PIO5 then XFER_PIO_0/XFER_PIO_SLOW was selected (XFER_PIO_SLOW is not supported by svwks_tune_chipset() so the result was the same as if using XFER_PIO_5 => wrong PIO timings were set) - it was overriding drive->current_speed * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-16pdc202xx_old: rewrite mode programming code (v2)Bartlomiej Zolnierkiewicz
This patch is based on the documentation (I would like to thank Promise for it) and also partially on the older vendor driver. Rewrite mode programming code: * disable 66MHz clock in pdc202xx_tune_chipset() so it is correctly disabled even if both devices on the channel are not DMA capable and after reset * enable/disable IORDY and PREFETCH bits in pdc202xx_tune_chipset() as they need to be setup correctly also for PIO only devices, plus IORDY wasn't disabled for non-IORDY devices and PREFETCH wasn't disabled for ATAPI devices * remove dead code for setting SYNC_ERDDY_EN bits from config_chipset_for_dma() (driver sets ->autotune to 1 so PIO modes are always programmed => lower nibble of register A never equals 4 => "chipset_is_set" is always true) * enable PIO mode programming for all ATAPI devices (it was limited to ->media == ide_cdrom devices) * remove extra reads of registers A/B/C, don't read register D et all * do clearing / programming of registers A/B/C in one go (gets rid of extra PCI config space read/write cycle) * set initial values of drive_conf/AP/BP/CP variables to zero (paranoia for the case when PCI reads fail) * remove XFER_UDMA6 to XFER_UDMA5 remapping case - it can't happen (ide_rate_filter() takes care of it) * fix XFER_MW_DMA0 timings (they were overclocked, use the official ones) * fix bitmasks for clearing bits of register B: - when programming DMA mode bit 0x10 of register B was cleared which resulted in overclocked PIO timing setting (iff PIO0 was used) - when programming PIO mode bits 0x18 weren't cleared so suboptimal timings were used for PIO1-4 if PIO0 was previously set (bit 0x10) and for PIO0/3/4 if PIO1/2 was previously set (bit 0x08) * add FIXME comment about missing locking for 66MHz clock register Also while at it: * remove unused defines * do a few cosmetic / CodingStyle fixes * bump driver version v2: * in pdc202xx_tune_chipset() the old content of drive configuration registers is used only by the debugging code so cover "drive_conf" PCI registers read by #if PDC202XX_DEBUG_DRIVE_INFO (Noticed by Sergei Shtylyov) Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-05-15ucc_geth: eliminate max-speed, change interface-type to phy-connection-typeKim Phillips
It was agreed that phy-connection-type was a better name for the interface-type property, so this patch renames it. Also, the max-speed property name was determined too generic, and is therefore eliminated in favour of phy-connection-type derivation logic. includes corrections to copyright text. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15smc911x: fix compilation breakageVitaly Wool
Looks like the new version of this patch has been overlooked, so I'm resending it. It just adapts the driver to the new IRQ API according to what Russell has pointed out. drivers/net/smc911x.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15pasemi_mac: Fix local-mac-address parsingolof@lixom.net
Turns out we have an old version of firmware that stores the mac address in 'mac-address' as a string instead of a byte array. All versions that use local-mac-address should have it as byte array, so no need to do string parsing for that case. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15pasemi_mac: Terminate PCI ID listolof@lixom.net
This caused some very interesting behaviour depending on what happened to be built at the same time. Add terminating empty entry to the list of IDs. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15pasemi_mac: Interrupt ack fixesOlof Johansson
Interrupt ack fixes Fix the packet count resets at interrupt time, using the cacheable packet count status to set number of processed/received packets, since the ack count is the cumulative number of packets processed, and not incremental. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15pasemi_mac: Fix register definesolof@lixom.net
Some shift values were obviously wrong. Fix them to correspond with the masks. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-15[IA64] Fix section conflict of ia64_mlogbuf_finishMartin Michlmayr
Building with GCC 4.2, I get the following error: CC arch/ia64/kernel/mca.o arch/ia64/kernel/mca.c:275: error: __ksymtab_ia64_mlogbuf_finish causes a section type conflict This is because ia64_mlogbuf_finish is both declared static and exported. Fix by removing the export (which is unneeded now). Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-05-15Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgartLinus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] Fix wrong ID in via-agp.c
2007-05-15Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreqLinus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Correct revision mask for powernow-k8 [CPUFREQ] powernow-k7: fix MHz rounding issue with perflib [CPUFREQ] Support rev H AMD64s in powernow-k8
2007-05-15ll_rw_blk: fix gcc 4.2 warning on current_io_context()Jens Axboe
current_io_context() is both static and exported with EXPORT_SYMBOL(). As there are no users outside of ll_rw_blk.c itself, just kill the export. Problem reported by Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15Merge branch 'for-linus' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IPoIB/cm: Optimize stale connection detection IB/mthca: Set cleaned CQEs back to HW ownership when cleaning CQ IB/mthca: Fix posting >255 recv WRs for Tavor RDMA/cma: Add check to validate that cm_id is bound to a device RDMA/cma: Fix synchronization with device removal in cma_iw_handler RDMA/cma: Simplify device removal handling code IB/ehca: Disable scaling code by default, bump version number IB/ehca: Beautify sysfs attribute code and fix compiler warnings IB/ehca: Remove _irqsave, move #ifdef IB/ehca: Fix AQP0/1 QP number IB/ehca: Correctly set GRH mask bit in ehca_modify_qp() IB/ehca: Serialize hypervisor calls in ehca_register_mr() IB/ipath: Shadow the gpio_mask register IB/mlx4: Fix uninitialized spinlock for 32-bit archs mlx4_core: Remove unused doorbell_lock net: Trivial MLX4_DEBUG dependency fix.
2007-05-15SLUB: CONFIG_LARGE_ALLOCS must consider MAX_ORDER limitChristoph Lameter
Take MAX_ORDER into consideration when determining KMALLOC_SHIFT_HIGH. Otherwise we may run into a situation where we attempt to create general slabs larger than MAX_ORDER. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15i386: fix voyager buildJeremy Fitzhardinge
This adds an smp_ops for voyager, and hooks things up appropriately. This is the first baby-step to making subarch runtime switchable. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15i386: move common parts of smp into their own fileJeremy Fitzhardinge
Several parts of kernel/smp.c and smpboot.c are generally useful for other subarchitectures and paravirt_ops implementations, so make them available for reuse. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Acked-by: Chris Wright <chrisw@sous-sol.org> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15Remove cpu hotplug defines for __INIT & __INITDATAPrarit Bhargava
After examining what was checked in and the code base I discovered that most of 86c0baf123e474b6eb404798926ecf62b426bf3a wasn't necessary anymore.... So here's a patch that reverts the last part of that changeset: Revert part of 86c0baf123e474b6eb404798926ecf62b426bf3a. The kernel has moved forward to a state where the original change is not necessary. After porting forward, this final version of the patch was applied and broke non-x86 architectures. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15Revert "MAINTAINERS: remove invalid list address for TPM"Stephen Rothwell
This reverts commit b6d1c9a44744224d83125a5a89c1a6cc4db27361. Others tell me that this address has worked for them, so I can only assume that I hit a glitch in the sourceforge mail system. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Kylene Hall <kjhall@us.ibm.com> Cc: Marcel Selhorst <tpm@selhorst.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15clocksource: fix lock order in the resume pathThomas Gleixner
lockdep complains about the lock nesting of clocksource and watchdog lock in the resume path. Change the resume marker to a bit operation and remove the lock from this path. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: john stultz <johnstul@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15m68k: implement __clear_user()Geert Uytterhoeven
m68k: implement __clear_user(), which is needed by fs/signalfd.c Since we always let the MMU do all checking, clear_user() and __clear_user() are identical. The old clear_user() is renamed to __clear_user() for consistency. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15alpha: fix hard_smp_processor_id compile errorSimon Horman
"Remove hardcoding of hard_smp_processor_id on UP systems", 2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f in Linus' tree, moved the definition of hard_smp_processor_id linux/smp.h to asm/smp.h for UP systems. This causes a regression on Alpha. cc1: warnings being treated as errors arch/alpha/kernel/setup.c: In function 'setup_arch': arch/alpha/kernel/setup.c:506: warning: implicit declaration of function 'hard_smp_processor_id' make[1]: *** [arch/alpha/kernel/setup.o] error 1 make: *** [arch/alpha/kernel] error 2 By including asm/smp.h non-conditionally in asm/mmu_context.h the problem appears to be resolved. Cc: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Signed-off-by: Simon Horman <horms@verge.net.au> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15h8300 atomic.h updateYoshinori Sato
add atomic_sub_and_test define. Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15nommu: add ioremap_page_range()Paul Mundt
lib/ioremap.c is presently only built in if CONFIG_MMU is set. While this is reasonable, platforms that support both CONFIG_MMU=y or n need to be able to call in to this regardless. As none of the current nommu platforms do anything special with ioremap(), we assume that it's always successful. This fixes the SH-4 build with CONFIG_MMU=n. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15epoll: move kfree inside ep_freeDavide Libenzi
Move the kfree() call inside the ep_free() function. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15epoll: fix some commentsDavide Libenzi
Fixes some epoll code comments. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15epoll locks changes and cleanupsDavide Libenzi
Changes the rwlock to a spinlock, and drops the use-count variable. Operations are always bound by the mutex now, so the use-count is no more needed. For the same reason, the rwlock can become a simple spinlock. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15fix epoll single pass code and add wait-exclusive flagDavide Libenzi
Fixes the epoll single pass code. During the unlocked event delivery (to userspace) code, the poll callback can re-issue new events, and we must receive them correctly. Since we loop in a lockless fashion, we want to be O(nready), and we don't want to flash on/off the spinlock for every event, we have the poll callback to use a secondary list to queue events while we're inside the event delivery loop. The rw_semaphore has been turned into a mutex. This patch also adds the wait-exclusive flag, as suggested by Davi Arnaut. Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-15[AVR32] Implement platform hooks for atmel_lcdfb driverHaavard Skinnemoen
This modifies and extends the existing lcdc platform code to support the new atmel_lcdfb driver. The ATSTK1000 board code is set up to use the on-board Samsung LTV350QV LCD panel. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
2007-05-14[IA64] s/scalibility/scalability/Tony Luck
Previous spelling patch from Simon Arlott broke one spot that didn't need fixing (reported by Simon within 35 minutes of the patch ... but not until after I'd applied to GIT and pushed :-( Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-05-14[IA64] kdump on INIT needs multi-nodes sync-up (v.2)Jay Lan
The current implementation of kdump on INIT events would enter kdump processing on DIE_INIT_MONARCH_ENTER and DIE_INIT_SLAVE_ENTER events. Thus, the monarch cpu would go ahead and boot up the kdump On SN shub2 systems, this out-of-sync situation causes some slave cpus on different nodes to enter POD. This patch moves kdump entry points to DIE_INIT_MONARCH_LEAVE and DIE_INIT_SLAVE_LEAVE. It also sets kdump_in_progress variable in the DIE_INIT_MONARCH_PROCESS event to not dump all active stack traces to the console in the case of kdump. I have tested this patch on an SN machine and a HP RX2600. Signed-off-by: Jay Lan <jlan@sgi.com> Acked-by: Zou Nan hai <nanhai.zou@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-05-14[IA64] wire up {signal,timer,event}fd syscallsTony Luck
Signed-off-by: Tony Luck <tony.luck@intel.com>
2007-05-14[CPUFREQ] Correct revision mask for powernow-k8Dave Jones
Mark Langsdorf points out that the correct define for this revision bump is 0x80000. Also to save us having to keep renaming the #define, give it a more meaningful name. Signed-off-by: Dave Jones <davej@redhat.com>
2007-05-14Revert "ipmi: add new IPMI nmi watchdog handling"Linus Torvalds
This reverts commit f64da958dfc83335de1d2bef9d3868f30feb4e53. Andi Kleen is unhappy with the changes, and they really do not seem worth it. IPMI could use DIE_NMI_IPI instead of the new callback, even though that ends up having its own set of problems too, mainly because the IPMI code cannot really know the NMI was from IPMI or not. Manually fix up conflicts in arch/x86_64/kernel/traps.c and drivers/char/ipmi/ipmi_watchdog.c. Cc: Andi Kleen <ak@suse.de> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: Corey Minyard <minyard@acm.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-14IPoIB/cm: Optimize stale connection detectionMichael S. Tsirkin
In the presence of some running RX connections, we repeat queue_delayed_work calls each 4 RX WRs, which is a waste. It's enough to start stale task when a first passive connection is added, and rerun it every IPOIB_CM_RX_DELAY as long as there are outstanding passive connections. This removes some code from RX data path. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>