commit 3ee8da87ba6151ec91b2b8bbd27633bb248ea0d5 Merge: a2c252e... 9dd175f... Author: Linus Torvalds Date: Wed Apr 15 09:11:11 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix the cmd cache keys for amp verbs ALSA: add missing definitions(letters) to HD-Audio.txt ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883 [ALSA] intel8x0: add one retry to the ac97_clock measurement routine [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes ALSA: snd-usb-caiaq: clean up header includes ALSA: sound/pci: use memdup_user() ALSA: sound/usb: use memdup_user() ALSA: sound/isa: use memdup_user() ALSA: sound/core: use memdup_user() [ALSA] intel8x0: do not use zero value from PICB register [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies [ALSA] hda_intel: fix unexpected ring buffer positions ASoC: Disable S3C64xx support in Kconfig ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h commit a2c252ebdeaab28c9b400570594d576dae295958 Merge: 23da64b... 1328df7... Author: Linus Torvalds Date: Wed Apr 15 09:04:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Use DEFINE_SPINLOCK GFS2: cleanup file_operations mess GFS2: Move umount flush rwsem GFS2: Fix symlink creation race GFS2: Make quotad's waiting interruptible commit 23da64b4714812b66ecf010e7dfb3ed1bf2eda69 Merge: a23c218... a36e71f... Author: Linus Torvalds Date: Wed Apr 15 09:03:47 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (28 commits) cfq-iosched: add close cooperator code cfq-iosched: log responsible 'cfqq' in idle timer arm cfq-iosched: tweak kick logic a bit more cfq-iosched: no need to save interrupts in cfq_kick_queue() brd: fix cacheflushing brd: support barriers swap: Remove code handling bio_alloc failure with __GFP_WAIT gfs2: Remove code handling bio_alloc failure with __GFP_WAIT ext4: Remove code handling bio_alloc failure with __GFP_WAIT dio: Remove code handling bio_alloc failure with __GFP_WAIT block: Remove code handling bio_alloc failure with __GFP_WAIT bio: add documentation to bio_alloc() splice: add helpers for locking pipe inode splice: remove generic_file_splice_write_nolock() ocfs2: fix i_mutex locking in ocfs2_splice_to_file() splice: fix i_mutex locking in generic_splice_write() splice: remove i_mutex locking in splice_from_pipe() splice: split up __splice_from_pipe() block: fix SG_IO to return a proper error value cfq-iosched: don't delay queue kick for a merged request ... commit 9dd175f7d2db1826c891855d3d150da3a5792e94 Merge: f4723b2... fcad94a... Author: Takashi Iwai Date: Wed Apr 15 17:52:32 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Fix the cmd cache keys for amp verbs ALSA: add missing definitions(letters) to HD-Audio.txt commit fcad94a4c71c36a05f4d5c6dcb174534b4e0b136 Author: Takashi Iwai Date: Wed Apr 15 17:48:35 2009 +0200 ALSA: hda - Fix the cmd cache keys for amp verbs Fix the key value generation for get/set amp verbs. The upper bits of the parameter have to be combined with the verb value to be unique for each direction/index of amp access. This fixes the resume problem on some hardwares like Macbook after the channel mode is changed. Tested-by: Johannes Berg Cc: Signed-off-by: Takashi Iwai commit a23c218bd36e11120daf18e00a91d5dc20e288e6 Merge: ea34f43... b71a0c2... Author: Linus Torvalds Date: Wed Apr 15 08:42:40 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: powerpc: pseries/dtl.c should include asm/firmware.h powerpc: Fix data-corrupting bug in __futex_atomic_op powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset() powerpc: Allow 256kB pages with SHMEM powerpc: Document new FSL I2C bindings and cleanup powerpc/mm: Fix compile warning powerpc/85xx: TQM8548: update defconfig powerpc/85xx: TQM8548: use proper phy-handles for enet2 and enet3 powerpc/85xx: TQM85xx: correct address of LM75 I2C device nodes powerpc: Add support for early tlbilx opcode powerpc: Fix tlbilx opcode commit ea34f43a074af85823e49b9bf62f47d8d3f0e81a Author: Linus Torvalds Date: Wed Apr 15 08:05:13 2009 -0700 acpi-cpufreq: fix 'smp_call_function_many()' confusion It turns out that 'smp_call_function_many()' doesn't work at all like 'smp_call_function_single()', and my change to Andrew's patch to use it rather than a loop over all CPU's acpi-cpufreq doesn't work. My bad. 'smp_call_function_many()' has two "features" (aka "documented bugs"): (a) it needs to be called with preemption disabled, because it uses smp_processor_id() without guarding the CPU lookup with 'get_cpu()' and 'put_cpu()' like the 'single' variant does. (b) even if the current CPU is part of the CPU mask, it won't do the call on that CPU. Still, we're better off trying to use 'smp_call_function_many()' than looping over CPU's, since it at least in theory allows us to use a broadcast IPI and do it all in parallel. So let's just work around the silly semantic bugs in that function. Reported-and-tested-by: Ali Gholami Rudi Cc: Ingo Molnar Cc: Andrew Morton , Cc: Rusty Russell Cc: Dave Jones Signed-off-by: Linus Torvalds commit a36e71f996e25d6213f57951f7ae1874086ec57e Author: Jens Axboe Date: Wed Apr 15 12:15:11 2009 +0200 cfq-iosched: add close cooperator code If we have processes that are working in close proximity to each other on disk, we don't want to idle wait. Instead allow the close process to issue a request, getting better aggregate bandwidth. The anticipatory scheduler has similar checks, noop and deadline do not need it since they don't care about process <-> io mappings. The code for CFQ is a little more involved though, since we split request queues into per-process contexts. This fixes a performance problem with eg dump(8), since it uses several processes in some silly attempt to speed IO up. Even if dump(8) isn't really a valid case (it should be fixed by using CLONE_IO), there are other cases where we see close processes and where idling ends up hurting performance. Credit goes to Jeff Moyer for writing the initial implementation. Signed-off-by: Jens Axboe commit 9481ffdc61738a91baf0f8b7fb20922768ae1b8e Author: Jens Axboe Date: Wed Apr 15 12:14:13 2009 +0200 cfq-iosched: log responsible 'cfqq' in idle timer arm Makes it easier to read the traces. Signed-off-by: Jens Axboe commit 2d870722965211de072bb36b446a4df99dae07e1 Author: Jens Axboe Date: Wed Apr 15 12:12:46 2009 +0200 cfq-iosched: tweak kick logic a bit more We only kick the dispatch for an idling queue, if we think it's a (somewhat) fully merged request. Also allow a kick if we have other busy queues in the system, since we don't want to risk waiting for a potential merge in that case. It's better to get some work done and proceed. Signed-off-by: Jens Axboe commit 40bb54d197a10fe86d73073ee8202ba2812a05fa Author: Jens Axboe Date: Wed Apr 15 12:11:10 2009 +0200 cfq-iosched: no need to save interrupts in cfq_kick_queue() It's called from the workqueue handlers from process context, so we always have irqs enabled when entered. Signed-off-by: Jens Axboe commit c2572f2b4ffc27ba79211aceee3bef53a59bb5cd Author: Nick Piggin Date: Wed Apr 15 10:32:07 2009 +0200 brd: fix cacheflushing brd is missing a flush_dcache_page. On 2nd thoughts, perhaps it is the pagecache's responsibility to flush user virtual aliases (the driver of course should flush kernel virtual mappings)... but anyway, there already exists cache flushing for one direction of transfer, so we should add the other. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit dfbc4752eab33e66f113f9daa2effbe241cd661d Author: Nick Piggin Date: Wed Apr 15 10:27:07 2009 +0200 brd: support barriers brd is always ordered (not that it matters, as it is defined not to survive when the system goes down). So tell the block layer it is ordered, which might be of help with testing filesystems. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 297dbf50d7ab0539cf9cf7f2a66918665a18e45e Author: Nikanth Karthikesan Date: Wed Apr 15 10:37:04 2009 +0530 swap: Remove code handling bio_alloc failure with __GFP_WAIT Remove code handling bio_alloc failure with __GFP_WAIT. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit b1fffc9ca6ca4c3feef3a7e8405252d528d312dc Author: Nikanth Karthikesan Date: Wed Apr 15 10:36:35 2009 +0530 gfs2: Remove code handling bio_alloc failure with __GFP_WAIT Remove code handling bio_alloc failure with __GFP_WAIT. GFP_NOFS implies __GFP_WAIT. Signed-off-by: Nikanth Karthikesan Acked-by: Steven Whitehouse Signed-off-by: Jens Axboe commit 226e7dabf5534722944adefbad01970bd38bb7ae Author: Nikanth Karthikesan Date: Wed Apr 15 10:36:16 2009 +0530 ext4: Remove code handling bio_alloc failure with __GFP_WAIT Remove code handling bio_alloc failure with __GFP_WAIT. GFP_NOIO implies __GFP_WAIT. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 4d1f9fdb6177a9bdecf26976337dd39abcc8edbc Author: Nikanth Karthikesan Date: Wed Apr 15 10:35:52 2009 +0530 dio: Remove code handling bio_alloc failure with __GFP_WAIT Remove code handling bio_alloc failure with __GFP_WAIT. GFP_KERNEL implies __GFP_WAIT. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 15afd1cc7b624e1c94fdf824ec5af611050b150c Author: Nikanth Karthikesan Date: Wed Apr 15 10:35:31 2009 +0530 block: Remove code handling bio_alloc failure with __GFP_WAIT Remove code handling bio_alloc failure with __GFP_WAIT. GFP_KERNEL implies __GFP_WAIT. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 86c824b9434e764d01489688e4e38aee43b93fcf Author: Jens Axboe Date: Wed Apr 15 09:00:07 2009 +0200 bio: add documentation to bio_alloc() Explain that with __GFP_WAIT set it will not fail, and that the caller must never allocate more than 1 bio at the time. Signed-off-by: Jens Axboe commit 61e0d47c33cc371f725bcda4a47ae0efe652dba8 Author: Miklos Szeredi Date: Tue Apr 14 19:48:41 2009 +0200 splice: add helpers for locking pipe inode There are lots of sequences like this, especially in splice code: if (pipe->inode) mutex_lock(&pipe->inode->i_mutex); /* do something */ if (pipe->inode) mutex_unlock(&pipe->inode->i_mutex); so introduce helpers which do the conditional locking and unlocking. Also replace the inode_double_lock() call with a pipe_double_lock() helper to avoid spreading the use of this functionality beyond the pipe code. This patch is just a cleanup, and should cause no behavioral changes. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit f8cc774ce4844811a55e2352f1443055e3994e28 Author: Miklos Szeredi Date: Tue Apr 14 19:48:40 2009 +0200 splice: remove generic_file_splice_write_nolock() Remove the now unused generic_file_splice_write_nolock() function. It's conceptually broken anyway, because splice may need to wait for pipe events so holding locks across the whole operation is wrong. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 328eaaba4e41a04c1dc4679d65bea3fee4349d86 Author: Miklos Szeredi Date: Tue Apr 14 19:48:39 2009 +0200 ocfs2: fix i_mutex locking in ocfs2_splice_to_file() Rearrange locking of i_mutex on destination and call to ocfs2_rw_lock() so locks are only held while buffers are copied with the pipe_to_file() actor, and not while waiting for more data on the pipe. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit eb443e5a25d43996deb62b9bcee1a4ce5dea2ead Author: Miklos Szeredi Date: Tue Apr 14 19:48:38 2009 +0200 splice: fix i_mutex locking in generic_splice_write() Rearrange locking of i_mutex on destination so it's only held while buffers are copied with the pipe_to_file() actor, and not while waiting for more data on the pipe. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 2933970b960223076d6affcf7a77e2bc546b8102 Author: Miklos Szeredi Date: Tue Apr 14 19:48:37 2009 +0200 splice: remove i_mutex locking in splice_from_pipe() splice_from_pipe() is only called from two places: - generic_splice_sendpage() - splice_write_null() Neither of these require i_mutex to be taken on the destination inode. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit b3c2d2ddd63944ef2a1e4a43077b602288107e01 Author: Miklos Szeredi Date: Tue Apr 14 19:48:36 2009 +0200 splice: split up __splice_from_pipe() Split up __splice_from_pipe() into four helper functions: splice_from_pipe_begin() splice_from_pipe_next() splice_from_pipe_feed() splice_from_pipe_end() splice_from_pipe_next() will wait (if necessary) for more buffers to be added to the pipe. splice_from_pipe_feed() will feed the buffers to the supplied actor and return when there's no more data available (or if all of the requested data has been copied). This is necessary so that implementations can do locking around the non-waiting splice_from_pipe_feed(). This patch should not cause any change in behavior. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit 91e463c8f5f7a5b09d3d034c01a88567af60c504 Author: FUJITA Tomonori Date: Mon Apr 13 20:03:10 2009 +0200 block: fix SG_IO to return a proper error value blk_rq_unmap_user() returns -EFAULT if a program passes an invalid address to kernel. SG_IO path needs to pass the returned value to user space instead of ignoring it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 83b2086ce2a1458168dc8b9d624060b2d7a82d4c Author: Justin Mattock Date: Tue Apr 14 14:31:21 2009 -0700 ALSA: add missing definitions(letters) to HD-Audio.txt impact: Add missing definitions(letters). Signed-off-by: Justin P. Mattock Signed-off-by: Takashi Iwai commit f4723b224d21ff546ac1fea4483094548d529479 Merge: 00610a8... 336500f... Author: Takashi Iwai Date: Wed Apr 15 11:24:27 2009 +0200 Merge branch 'topic/memdup_user' into for-linus * topic/memdup_user: ALSA: sound/pci: use memdup_user() ALSA: sound/usb: use memdup_user() ALSA: sound/isa: use memdup_user() ALSA: sound/core: use memdup_user() commit 00610a81df32ea50dba0105078e7369988caef3b Merge: 035f5af... 936e7d0... Author: Takashi Iwai Date: Wed Apr 15 11:24:22 2009 +0200 Merge branch 'topic/usb-caiaq' into for-linus * topic/usb-caiaq: ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes ALSA: snd-usb-caiaq: clean up header includes commit 035f5afb022451b6b4f7ca1ff65a43d7ea8154a1 Merge: 2e8e59f... 34e51ce... Author: Takashi Iwai Date: Wed Apr 15 11:24:14 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: ASoC: Disable S3C64xx support in Kconfig ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h commit 2e8e59f437ce303fde2077cc5f84ce03c6ff1020 Merge: 45c27fc... ff0c68d... Author: Takashi Iwai Date: Wed Apr 15 11:24:09 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883 ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack commit ff0c68d03b77ecb3a682137c42e947a4dc33e9b3 Merge: bfb5303... 95c0909... Author: Takashi Iwai Date: Wed Apr 15 11:23:44 2009 +0200 Merge branch 'topic/jack-free-fix' into topic/hda * topic/jack-free-fix: ALSA: hda - Avoid call of snd_jack_report at release ALSA: add private_data to struct snd_jack commit 45c27fc8c89d39956930abeff8433c33d07a8d5f Merge: 0882e8d... 2ec775e... Author: Takashi Iwai Date: Wed Apr 15 11:21:13 2009 +0200 Merge branch 'master' of git://git.alsa-project.org/alsa-kernel into for-linus * 'master' of git://git.alsa-project.org/alsa-kernel: [ALSA] intel8x0: add one retry to the ac97_clock measurement routine [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine [ALSA] intel8x0: do not use zero value from PICB register [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies [ALSA] hda_intel: fix unexpected ring buffer positions commit 1328df725239804ae30fc7257c1a3185e679b517 Author: Xu Gang Date: Tue Apr 14 14:54:14 2009 +0800 GFS2: Use DEFINE_SPINLOCK SPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead. (as suggested in Documentation/spinlocks.txt) Signed-off-by: Xu Gang Signed-off-by: Steven Whitehouse commit 10d2198805d7faa2b193485446ff6b1de42c9b78 Author: Christoph Hellwig Date: Tue Apr 7 19:42:17 2009 +0200 GFS2: cleanup file_operations mess Remove the weird pointer to file_operations mess and replace it with straight-forward defining of the lockinginstance names to the _nolock variants. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit a228df6339e0d385b8149c860d81b6007f5e9c81 Author: Steven Whitehouse Date: Tue Apr 7 14:01:34 2009 +0100 GFS2: Move umount flush rwsem The rwsem, used only on umount, is in the wrong place in glock.c. This patch moves it up a bit so that it does not get called under a spinlock. Signed-off-by: Steven Whitehouse commit 5cf32524de745c56e1411d63eccf23fef1709d73 Author: Steven Whitehouse Date: Tue Mar 31 16:06:27 2009 +0100 GFS2: Fix symlink creation race In certain cases symlinks can appear to have zero size if a lookup on the inode occurs within a certain (very short) time after the symlink has been created. The symlink is correctly created on disk but appears to have zero size when stat()ed. This patch closes the race and prevents incorrect sizes appearing. Signed-off-by: Steven Whitehouse commit 7fa5d20d1a5e60ef7e453993b67b26c87dc09f07 Author: Steven Whitehouse Date: Tue Mar 31 15:49:08 2009 +0100 GFS2: Make quotad's waiting interruptible So we don't count its D state in the loadavg. Reported-by: Nathan Straz Signed-off-by: Steven Whitehouse commit bfb53037c61ddf7c16a40297ad16f2bcbde534dc Author: Takashi Iwai Date: Tue Apr 14 14:51:04 2009 +0200 ALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883 Added the models for quirk bitmask 1734:110x and 1734:113x of Fujitsu laptops. This will fix the model detection for Amilo Xa3540. Signed-off-by: Takashi Iwai commit 2ec775e7053c82bc90858ede011b35aeb416995b Author: Jaroslav Kysela Date: Wed Apr 15 10:16:24 2009 +0200 [ALSA] intel8x0: add one retry to the ac97_clock measurement routine It seems that on some hardware platforms, the first measurement is wrong. This patch adds second measurement to this case. Signed-off-by: Jaroslav Kysela commit d6ceb25e8d8bccf826848c2621a50d02c0a7f4ae Author: Jens Axboe Date: Tue Apr 14 14:18:16 2009 +0200 cfq-iosched: don't delay queue kick for a merged request "Zhang, Yanmin" reports that commit b029195dda0129b427c6e579a3bb3ae752da3a93 introduced a regression of about 50% with sequential threaded read workloads. The test case is: tiotest -k0 -k1 -k3 -f 80 -t 32 which starts 32 threads each reading a 80MB file. Twiddle the kick queue logic so that we do start IO immediately, if it appears to be a fully merged request. We can't really detect that, so just check if the request is bigger than a page or not. The assumption is that since single bio issues will first queue a single request with just one page attached and then later do merges on that, if we already have more than a page worth of data in the request, then the request is most likely good to go. Verified that this doesn't cause a regression with the test case that commit b029195dda0129b427c6e579a3bb3ae752da3a93 was fixing. It does not, we still see maximum sized requests for the queue-then-merge cases. Signed-off-by: Jens Axboe commit 053c525fcf976810f023d96472f414c0d5e6339b Author: Jens Axboe Date: Wed Apr 8 13:44:08 2009 +0200 buffer: switch do_emergency_thaw() away from pdflush_operation() This is (again) a preparatory patch similar to commit a2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4. It open codes a simple async way of executing do_thaw_all() out of context, so we can get rid of pdflush. Signed-off-by: Jens Axboe commit 329007ce25d56fc7113df7b4828d607806d8bc21 Author: Jens Axboe Date: Wed Apr 8 11:38:50 2009 +0200 block: update biodoc.txt on plugging We do per-device plugging, get rid of any references to tq_disk as that has been dead since 2.6.5 or so. Signed-off-by: Jens Axboe commit 1d6bfbdf38f37bcc259e7c56c8c73664772651fb Author: Jens Axboe Date: Wed Apr 8 11:02:08 2009 +0200 as-iosched: get rid of private REQ_SYNC/REQ_ASYNC defines We can just use the block layer BLK_RW_SYNC/ASYNC defines now. Signed-off-by: Jens Axboe commit ff6657c6c8ac99444e5dd4c4f7c1dc9271173382 Author: Jens Axboe Date: Wed Apr 8 10:58:57 2009 +0200 cfq-iosched: get rid of private SYNC/ASYNC defines We can just use the block layer BLK_RW_SYNC/ASYNC defines now. Signed-off-by: Jens Axboe commit b0b78f81a5a3bfe9442fcc3a9c13e298a742556a Author: Jens Axboe Date: Wed Apr 8 10:56:08 2009 +0200 cfq-iosched: use rw_is_sync() to see if rw flags are sync or not Signed-off-by: Jens Axboe commit 48e70bc18ac81881dedd3aa327c55b924fc41ecf Author: Jens Axboe Date: Tue Apr 14 08:19:27 2009 +0200 Document and move the various READ/WRITE types It's a somewhat twisty maze of hints and behavioural modifiers, try and clear it up a bit with some documentation. Signed-off-by: Jens Axboe commit f600abe2de81628c40effbb3f8eaf5af0d291e57 Author: Jens Axboe Date: Wed Apr 8 14:22:01 2009 +0200 block: fix bad spelling of quiesce Credit goes to Andrew Morton for spotting this one. Signed-off-by: Jens Axboe commit 8f3d8ba20e67991b531e9c0227dcd1f99271a32c Author: Christoph Hellwig Date: Tue Apr 7 19:55:13 2009 +0200 block: move bio list helpers into bio.h It's used by DM and MD and generally useful, so move the bio list helpers into bio.h. Signed-off-by: Christoph Hellwig Acked-by: Alasdair G Kergon Signed-off-by: Jens Axboe commit b71a0c296cee4debaf446760fbd29ead1587a7ac Author: Sachin Sant Date: Tue Apr 14 14:35:55 2009 +0000 powerpc: pseries/dtl.c should include asm/firmware.h A randconfig build on powerpc failed with: dtl.c: In function 'dtl_init': dtl.c:238: error: implicit declaration of function 'firmware_has_feature' dtl.c:238: error: 'FW_FEATURE_SPLPAR' undeclared (first use in this function) - We need firmware.h for these definitions. Signed-off-by: Sachin Sant Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 306a82881b14d950d59e0b59a55093a07d82aa9a Author: Paul Mackerras Date: Mon Apr 13 14:09:09 2009 +0000 powerpc: Fix data-corrupting bug in __futex_atomic_op Richard Henderson pointed out that the powerpc __futex_atomic_op has a bug: it will write the wrong value if the stwcx. fails and it has to retry the lwarx/stwcx. loop, since 'oparg' will have been overwritten by the result from the first time around the loop. This happens because it uses the same register for 'oparg' (an input) as it uses for the result. This fixes it by using separate registers for 'oparg' and 'ret'. Cc: stable@kernel.org Signed-off-by: Paul Mackerras commit c58dc575f3c8bdc69fb868ec51e1c80ee7cae5e7 Author: Mike Mason Date: Fri Apr 10 08:57:03 2009 +0000 powerpc/pseries: Set error_state to pci_channel_io_normal in eeh_report_reset() While adding native EEH support to Emulex and Qlogic drivers, it was discovered that dev->error_state was set to pci_io_channel_normal too late in the recovery process. These drivers rely on error_state to determine if they can access the device in their slot_reset callback, thus error_state needs to be set to pci_io_channel_normal in eeh_report_reset(). Below is a detailed explanation (courtesy of Richard Lary) as to why this is necessary. Background: PCI MMIO or DMA accesses to a frozen slot generate additional EEH errors. If the number of additional EEH errors exceeds EEH_MAX_FAILS the adapter will be shutdown. To avoid triggering excessive EEH errors and an undesirable adapter shutdown, some drivers use the pci_channel_offline(dev) wrapper function to return a Boolean value based on the value of pci_dev->error_state to determine if PCI MMIO or DMA accesses are safe. If the wrapper returns TRUE, drivers must not make PCI MMIO or DMA access to their hardware. The pci_dev structure member error_state reflects one of three values, 1) pci_channel_io_normal, 2) pci_channel_io_frozen, 3) pci_channel_io_perm_failure. Function pci_channel_offline(dev) returns TRUE if error_state is pci_channel_io_frozen or pci_channel_io_perm_failure. The EEH driver sets pci_dev->error_state to pci_channel_io_frozen at the point where the PCI slot is frozen. Currently, the EEH driver restores dev->error_state to pci_channel_io_normal in eeh_report_resume() before calling the driver's resume callback. However, when the EEH driver calls the driver's slot_reset callback() from eeh_report_reset(), it incorrectly indicates the error state is still pci_channel_io_frozen. Waiting until eeh_report_resume() to restore dev->error_state to pci_channel_io_normal is too late for Emulex and QLogic FC drivers and any other drivers which are designed to use common code paths in these two cases: i) those called after the driver's slot_reset callback() and ii) those called after the PCI slot is frozen but before the driver's slot_reset callback is called. Case i) all driver paths executed to reinitialize the hardware after a reset and case ii) all code paths executed by driver kernel threads that run asynchronous to the main driver thread, such as interrupt handlers and worker threads to process driver work queues. Emulex and QLogic FC drivers are designed with common code paths which require that pci_channel_offline(dev) reflect the true state of the hardware. The state transitions that the hardware takes from Normal Operations to Slot Frozen to Reset to Normal Operations are documented in the Power Architectureâ„¢ Platform Requirements+ (PAPR+) in Table 75. PE State Control. PAPR defines the following 3 states: 0 -- Not reset, Not EEH stopped, MMIO load/store allowed, DMA allowed (Normal Operations) 1 -- Reset, Not EEH stopped, MMIO load/store disabled, DMA disabled 2 -- Not reset, EEH stopped, MMIO load/store disabled, DMA disabled (Slot Frozen) An EEH error places the slot in state 2 (Frozen) and the adapter driver is notified that an EEH error was detected. If the adapter driver returns PCI_ERS_RESULT_NEED_RESET, the EEH driver calls eeh_reset_device() to place the slot into state 1 (Reset) and eeh_reset_device completes by placing the slot into State 0 (Normal Operations). Upon return from eeh_reset_device(), the EEH driver calls eeh_report_reset, which then calls the adapter's slot_reset callback. At the time the adapter's slot_reset callback is called, the true state of the hardware is Normal Operations and should be accurately reflected by setting dev->error_state to pci_channel_io_normal. The current implementation of EEH driver does not do so and requires this change to correct this deficiency. Signed-off-by: Mike Mason Acked-by: Linas Vepstas Signed-off-by: Paul Mackerras commit adf213c43898f2324cfc35c315556bc21cb65b31 Author: Hugh Dickins Date: Mon Apr 6 11:01:15 2009 +0000 powerpc: Allow 256kB pages with SHMEM Now that shmem's divisions by zero and SHMEM_MAX_BYTES are fixed, let powerpc 256kB pages coexist with CONFIG_SHMEM again. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 29dab4fd3176e25dfab6cd763beb02d87973c288 Author: Jaroslav Kysela Date: Tue Apr 14 22:40:04 2009 +0200 [ALSA] intel8x0: fix wrong conditions in ac97_clock measure routine Also add a little code cleanup. Signed-off-by: Jaroslav Kysela commit 95c0909961bc5ff18c78b2ab0d093cddc0a8b0b5 Author: Takashi Iwai Date: Tue Apr 14 16:15:29 2009 +0200 ALSA: hda - Avoid call of snd_jack_report at release Don't call snd_jack_report at release of sigmatel and conexnat codecs which results in Oops at unloading the module. The Oops is triggered by the power-up sequence during the free due to the pincfg restoration. Since the power-up sequence is involved with the unsol handling, the jack reporting may be issued during that. The Oops occurs with this jack reporting because the jack instances have been already released but the codec doesn't do the proper book-keeping. This patch adds the book-keeping of jack instances to avoid the access to bogus pointers. Signed-off-by: Takashi Iwai commit 9d59065cd6fae841ca56c281189d5b8d0817d35f Author: Takashi Iwai Date: Tue Apr 14 16:13:58 2009 +0200 ALSA: add private_data to struct snd_jack Added private_data and private_free fields to struct snd_jack so that the caller can assign the data. It'll be helpful for avoiding the double-free of the jack instance. Signed-off-by: Takashi Iwai commit 936e7d03394bc6238091db10d060326622c87ed7 Author: Daniel Mack Date: Wed Apr 1 19:05:39 2009 +0200 ALSA: snd-usb-caiaq: rename files to remove redundant information in file pathes Cleanup only, no functional change. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit e431cf45687d1ccb7c7d818defc2af34bd783db2 Author: Daniel Mack Date: Sat Mar 28 21:19:49 2009 +0100 ALSA: snd-usb-caiaq: clean up header includes Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai commit 336500f0305dc1552e8d01a60b409a7db781ca28 Author: Li Zefan Date: Fri Apr 10 09:44:31 2009 +0800 ALSA: sound/pci: use memdup_user() Remove open-coded memdup_user(). Signed-off-by: Li Zefan Signed-off-by: Takashi Iwai commit 85385c1551d509e9e377b7be07ea0e755fb2c3ce Author: Li Zefan Date: Fri Apr 10 09:43:59 2009 +0800 ALSA: sound/usb: use memdup_user() Remove open-coded memdup_user(). Signed-off-by: Li Zefan Signed-off-by: Takashi Iwai commit 68425adcc419bfe90776f59e66b8c4cdb6e1b1f3 Author: Li Zefan Date: Fri Apr 10 09:43:36 2009 +0800 ALSA: sound/isa: use memdup_user() Remove open-coded memdup_user(). Signed-off-by: Li Zefan Signed-off-by: Takashi Iwai commit ef44a1ec6eeef189998f84e7230e1d3535b01074 Author: Li Zefan Date: Fri Apr 10 09:43:08 2009 +0800 ALSA: sound/core: use memdup_user() Remove open-coded memdup_user(). Signed-off-by: Li Zefan Signed-off-by: Takashi Iwai commit 34e51ce60a210094bd66cf0a75dd8512247618ca Merge: 577c9c4... 6e498d5... Author: Takashi Iwai Date: Tue Apr 14 11:48:25 2009 +0200 Merge branch 'for-2.6.30' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit da2436a23c038055b1da6fe30b6ea2886b1e07b0 Author: Jaroslav Kysela Date: Mon Apr 13 21:31:25 2009 +0200 [ALSA] intel8x0: do not use zero value from PICB register It seems that the zero value from the PICB (position in current buffer) register is not reliable. Use jiffies to correct returned value from the ring buffer pointer callback. Signed-off-by: Jaroslav Kysela commit 920e4ae31cb113328e617f4a0663fb17d7b09124 Author: Jaroslav Kysela Date: Mon Apr 13 20:45:42 2009 +0200 [ALSA] intel8x0: an attempt to make ac97_clock measurement more reliable - use monotonic posix clock to measure time - try to avoid reading zero from PICB (position in current buffer) register - show also measured samples - when clock is near 41000 or 44100, use exactly these values (they appears to be reference clocks for hardware manufacturers) Signed-off-by: Jaroslav Kysela commit bbf6ad1399e9516b0a95de3ad58ffbaed670e4cc Author: Jaroslav Kysela Date: Fri Apr 10 12:28:58 2009 +0200 [ALSA] pcm-midlevel: Add more strict buffer position checks based on jiffies Some drivers like Intel8x0 or Intel HDA are broken for some hardware variants. This patch adds more strict buffer position checks based on jiffies when internal hw_ptr is updated. Enable xrun_debug to see mangling of wrong positions. As a side effect, the hw_ptr interrupt update routine might do slightly better job when many interrupts are lost. Signed-off-by: Jaroslav Kysela commit fa00e046b41663cbda9b1affc0594669e5f14219 Author: Jaroslav Kysela Date: Fri Apr 10 12:20:45 2009 +0200 [ALSA] hda_intel: fix unexpected ring buffer positions I found two issues with ICH7-M (it should be related to other HDA chipsets as well): - the ring buffer position is not reset when stream restarts (after xrun) - solved by moving azx_stream_reset() call from open() to prepare() callback and reset posbuf to zero (it might be filled with hw later than position() callback is called) - irq_ignore flag should be set also when ring buffer memory area is not changed in prepare() callback - this patch replaces irq_ignore with more universal check based on jiffies clock Signed-off-by: Jaroslav Kysela commit 6e498d5eb6afb50659b4b7fc302d480ca0ceaa93 Author: Mark Brown Date: Thu Apr 9 16:40:41 2009 +0100 ASoC: Disable S3C64xx support in Kconfig Due to the process and communications issues with the 2.6.30 S3C platform merges none of the underlying arch/arm code for S3C64xx audio support made it into mainline, rendering the drivers useless. Disable them in Kconfig to avoid user confusion - users patching in the required support can always reenable this too. Signed-off-by: Mark Brown commit fd2bd98818fc1c9672241b845344cbfbb159a4f9 Author: Eric Miao Date: Thu Apr 9 14:13:07 2009 +0800 ASoC: magician: remove un-necessary #include of pxa-regs.h and hardware.h Signed-off-by: Eric Miao Cc: Philipp Zabel Signed-off-by: Mark Brown commit 8d82ffd15e59febf2c597067a777526958b7f769 Author: Wolfgang Grandegger Date: Tue Apr 7 10:20:56 2009 +0200 powerpc: Document new FSL I2C bindings and cleanup This patch documents the new bindings for the MPC I2C bus driver. Furthermore, it removes obsolete FSL device related definitions for I2C. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 52ce67f157f8c5623524dc6c5b2ddd6a0d2aa774 Author: Kumar Gala Date: Tue Apr 7 21:58:07 2009 -0500 powerpc/mm: Fix compile warning arch/powerpc/mm/tlb_nohash.c: In function 'flush_tlb_mm': arch/powerpc/mm/tlb_nohash.c:128: warning: unused variable 'cpu_mask' Signed-off-by: Kumar Gala commit 54ca40dcb5b956c30495e8c7b73c9ad636fb58bd Author: Wolfgang Grandegger Date: Mon Mar 16 09:57:59 2009 +0100 powerpc/85xx: TQM8548: update defconfig Enable highmem support for the TQM8548-AG modules and NAND support for the TQM8548-BE modules. Furthermore disable USB, Wireless and IDE support because it's not available on the STK85xx starter kit. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 655544c69c8d8bdc0c377ad1d30d147a5a28a1fb Author: Wolfgang Grandegger Date: Mon Mar 16 09:57:17 2009 +0100 powerpc/85xx: TQM8548: use proper phy-handles for enet2 and enet3 For enet2 and enet3 the wrong phy-handles have been used in DTS files of the TQM8548 modules. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit 6467cae318ba8adaab37a82e8dd8af60ca9ed6e4 Author: Wolfgang Grandegger Date: Mon Mar 16 09:56:26 2009 +0100 powerpc/85xx: TQM85xx: correct address of LM75 I2C device nodes Commit 0f73a449a649acfca91404a98a35353a618b9555 added I2C device nodes for the LM75 thermal sensor on the TQM85xx modules, unfortunately with the wrong I2C address. The LM75s are located at address 0x48. Signed-off-by: Wolfgang Grandegger Signed-off-by: Kumar Gala commit e9965577406a2148ade97b5e0ce7c448b4ba4ef6 Author: Kumar Gala Date: Mon Apr 6 23:36:50 2009 -0500 powerpc: Add support for early tlbilx opcode During the ISA 2.06 development the opcode for tlbilx changed and some early implementations used to old opcode. Add support for a MMU_FTR fixup to deal with this. Signed-off-by: Kumar Gala commit 7281f5dc2c9582f3efaed9b367837ca6117d7b7f Author: Kumar Gala Date: Mon Apr 6 15:25:52 2009 -0500 powerpc: Fix tlbilx opcode The tlbilx opcode was not matching the Power ISA 2.06 arch spec. The old opcode was an early suggested opcode that changed during the 2.06 architecture process. Signed-off-by: Kumar Gala