]> git.karo-electronics.de Git - mv-sheeva.git/log
mv-sheeva.git
15 years agosh: pci: Fix up the build for CONFIG_PCI=n.
Paul Mundt [Fri, 24 Apr 2009 06:39:39 +0000 (15:39 +0900)]
sh: pci: Fix up the build for CONFIG_PCI=n.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rename pci-new.c to pci.c.
Paul Mundt [Mon, 20 Apr 2009 12:53:33 +0000 (21:53 +0900)]
sh: pci: Rename pci-new.c to pci.c.

pci-new.c is now in a state to replace the old pci.c, rename it
accordingly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Roll pci-lib in to pci-new.
Paul Mundt [Mon, 20 Apr 2009 12:51:19 +0000 (21:51 +0900)]
sh: pci: Roll pci-lib in to pci-new.

Now that the pci-auto cruft is gone, pci-lib can go away.
Roll it back in to pci-new.c where it originally split off from.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off the last remnants of the now unused pci-auto code.
Paul Mundt [Mon, 20 Apr 2009 12:46:42 +0000 (21:46 +0900)]
sh: pci: Kill off the last remnants of the now unused pci-auto code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/.
Paul Mundt [Mon, 20 Apr 2009 12:42:59 +0000 (21:42 +0900)]
sh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/.

The se7751 was still doing the PCI fixups in its own board directory,
so we move it over to arch/sh/drivers/pci/ with the rest of the board
fixups. It has bitrotted significantly over the years, so will still
likely need a bit of work to bring back up to date.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Convert dreamcast to new-style interface.
Paul Mundt [Mon, 20 Apr 2009 12:34:36 +0000 (21:34 +0900)]
sh: pci: Convert dreamcast to new-style interface.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate lboxre2 and r2d IRQ fixups.
Paul Mundt [Mon, 20 Apr 2009 12:27:15 +0000 (21:27 +0900)]
sh: pci: Consolidate lboxre2 and r2d IRQ fixups.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rename SH7751 platform ops files to fixups.
Paul Mundt [Mon, 20 Apr 2009 12:17:10 +0000 (21:17 +0900)]
sh: pci: Rename SH7751 platform ops files to fixups.

None of these contain pci_ops, only IRQ routing bits, rename them
accordingly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rewrite SH7751 PCI support to follow SH7780.
Paul Mundt [Mon, 20 Apr 2009 12:11:07 +0000 (21:11 +0900)]
sh: pci: Rewrite SH7751 PCI support to follow SH7780.

This follows the similar sort of scheme that the refactored SH7780 code
uses, using a 64MB CS3 mapping to handle the window0 case, and simply
discarding window1. This vastly simplifies the code, and allows most of
the board-specific setup to go die.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rename ops-cayman -> fixups-cayman.
Paul Mundt [Mon, 20 Apr 2009 11:41:45 +0000 (20:41 +0900)]
sh: pci: Rename ops-cayman -> fixups-cayman.

Now that ops-cayman.c only contains IRQ routing fixups, rename it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Convert the SH-5 code over to the new interface.
Paul Mundt [Mon, 20 Apr 2009 11:40:48 +0000 (20:40 +0900)]
sh: pci: Convert the SH-5 code over to the new interface.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Tidy up the dreamcast PCI support.
Paul Mundt [Mon, 20 Apr 2009 11:22:05 +0000 (20:22 +0900)]
sh: pci: Tidy up the dreamcast PCI support.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off legacy ide quirks.
Paul Mundt [Mon, 20 Apr 2009 10:54:47 +0000 (19:54 +0900)]
sh: pci: Kill off legacy ide quirks.

These fixups seem to have bitrotted a bit since their introduction in the
2.4 days. As we never had much use for them in the first place, and
nothing is using them any more, kill them off the rest of the way.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate pcibios_setup() in pci-lib.
Paul Mundt [Mon, 20 Apr 2009 10:48:48 +0000 (19:48 +0900)]
sh: pci: Consolidate pcibios_setup() in pci-lib.

This wasn't really being used for anything useful, so just stub it in
pci-lib.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off dead references to is_pci_ioaddr and friends.
Paul Mundt [Mon, 20 Apr 2009 10:39:57 +0000 (19:39 +0900)]
sh: pci: Kill off dead references to is_pci_ioaddr and friends.

Some old boards are still using this in their I/O routines, kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED.
Paul Mundt [Mon, 20 Apr 2009 10:31:20 +0000 (19:31 +0900)]
sh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED.

This isn't a real BAR, so prevent any attempts to move it, as we don't
wish to encourage a bus luck by overzealous PCI initialization code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off superfluous lboxre2 pci fixups.
Paul Mundt [Mon, 20 Apr 2009 10:26:45 +0000 (19:26 +0900)]
sh: pci: Kill off superfluous lboxre2 pci fixups.

This is a verbatim copy of the r2d one, use that instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off the now unused hose->io_base.
Paul Mundt [Mon, 20 Apr 2009 10:00:32 +0000 (19:00 +0900)]
sh: pci: Kill off the now unused hose->io_base.

Nothing is using this any more, so kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate the remaining common bits.
Paul Mundt [Mon, 20 Apr 2009 09:53:41 +0000 (18:53 +0900)]
sh: pci: Consolidate the remaining common bits.

This moves the remaining common bits in to pci-lib. Thereby reducing
pci.c/pci-new.c to simple bus fixups and controller registration.

As more platforms are moved over, the old code will disappear completely
and the pci-new bits will be rolled in to pci-lib, eventually replacing
pci.c completely.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate bus<->resource mapping in pci-lib.
Paul Mundt [Mon, 20 Apr 2009 09:47:21 +0000 (18:47 +0900)]
sh: pci: Consolidate bus<->resource mapping in pci-lib.

Now that the io and mem offsets are tracked accordingly, the pci-new
version of the bus<->resource mappers can be used generically. This
moves them in to pci-lib.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Track io and mem_offset per-channel.
Paul Mundt [Mon, 20 Apr 2009 09:42:00 +0000 (18:42 +0900)]
sh: pci: Track io and mem_offset per-channel.

This implements a per-hose offset for I/O and mem resources.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: New-style controller registration.
Paul Mundt [Mon, 20 Apr 2009 09:29:22 +0000 (18:29 +0900)]
sh: pci: New-style controller registration.

This moves off of the board_pci_channels[] approach for bus registration
and over to a cleaner register_pci_controller(), all derived from the
MIPS code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rework fixed region checks in ioremap().
Paul Mundt [Mon, 20 Apr 2009 09:24:57 +0000 (18:24 +0900)]
sh: pci: Rework fixed region checks in ioremap().

Not all PCI channels have non-translatable memory windows, this is a
special property of the on-chip PCIC with its 0xfd00... mapping, handle
this explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate pci_iomap() and use the generic I/O base.
Paul Mundt [Mon, 20 Apr 2009 07:38:00 +0000 (16:38 +0900)]
sh: pci: Consolidate pci_iomap() and use the generic I/O base.

This consolidates the pci_iomap() definitions and reworks how the I/O
port base is handled. PCI channels can register their own I/O map base,
or if none is provided, the system-wide generic I/O base is used instead.

Functionally nothing changes, while this allows us to kill off lots of
I/O address special casing and lookups.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off unused pcibios_fixup().
Paul Mundt [Mon, 20 Apr 2009 07:18:46 +0000 (16:18 +0900)]
sh: pci: Kill off unused pcibios_fixup().

This is left over cruft that hasn't been used by anything in a long time,
kill off bits that weren't purged previously.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate pcibios_align_resource() definitions.
Paul Mundt [Mon, 20 Apr 2009 07:14:29 +0000 (16:14 +0900)]
sh: pci: Consolidate pcibios_align_resource() definitions.

This introduces a saner pcibios_align_resource() that can be used
regardless of whether pci-auto or pci-new are being used, and
consolidates it in pci-lib.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: HAVE_PCI_MMAP support.
Paul Mundt [Mon, 20 Apr 2009 06:51:45 +0000 (15:51 +0900)]
sh: pci: HAVE_PCI_MMAP support.

Derived from the MIPS version, now uses pgprot_noncached().

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Split out new-style PCI core.
Paul Mundt [Mon, 20 Apr 2009 06:43:36 +0000 (15:43 +0900)]
sh: pci: Split out new-style PCI core.

This splits off a 'pci-new.c' which is aimed at gradually replacing the
pci-auto backend and the arch/sh/drivers/pci/pci.c core respectively.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Drop asm-generic/pci.h, so we can use our own fixups.
Paul Mundt [Mon, 20 Apr 2009 06:38:25 +0000 (15:38 +0900)]
sh: pci: Drop asm-generic/pci.h, so we can use our own fixups.

The new PCI code wants its own bus<->resource mappings instead of the
generic equivalents, so drop the asm-generic include in preparation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Start unifying the SH7780 PCIC initialization.
Paul Mundt [Fri, 17 Apr 2009 11:37:16 +0000 (20:37 +0900)]
sh: pci: Start unifying the SH7780 PCIC initialization.

This starts moving out the common initialization bits from the various
fixup paths in to the shared init path.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate SH7780 PCIC IRQ routing.
Paul Mundt [Fri, 17 Apr 2009 11:11:44 +0000 (20:11 +0900)]
sh: pci: Consolidate SH7780 PCIC IRQ routing.

Now that the platform code is a bit leaner, we can start consolidating
the various IRQ routing implementations. There are effectively only 2
variants, and the others can use those directly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off platform-specific multi-window mappings.
Paul Mundt [Fri, 17 Apr 2009 08:21:36 +0000 (17:21 +0900)]
sh: pci: Kill off platform-specific multi-window mappings.

Commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 ("sh: sh7785lcr: Map
whole PCI address space.") changed around the semantics of how various
chip-selects are made accessible to PCI. Now that there is a single
large mapping covering from CS0-CS6, there is no longer any need to
do multi-window mapping. Subsequently, all of the differing
implementations can be consolidated in to pci-sh7780.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Consolidate PCI I/O and mem window definitions for SH7780.
Paul Mundt [Fri, 17 Apr 2009 08:07:47 +0000 (17:07 +0900)]
sh: pci: Consolidate PCI I/O and mem window definitions for SH7780.

This consolidates all of the PCI I/O and memory window definitions across
the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that
every platform had exactly the same implementation.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Set the I/O port base to the SH7780 I/O window default.
Paul Mundt [Fri, 17 Apr 2009 08:00:27 +0000 (17:00 +0900)]
sh: pci: Set the I/O port base to the SH7780 I/O window default.

Presently the I/O port base isn't being set anywhere, which allows things
like generic_inl() to blow up. Fix this up to point at the PCI IO window.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register.
Paul Mundt [Fri, 17 Apr 2009 07:38:00 +0000 (16:38 +0900)]
sh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register.

The SH7780 PCIC contains a read-only cache line size register that we can
derive pci_cache_line_size from. So, make sure that the software idea of
the cache line size actually matches the host controller's idea.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Use the proper write size for class/sub-class code.
Paul Mundt [Fri, 17 Apr 2009 06:08:01 +0000 (15:08 +0900)]
sh: pci: Use the proper write size for class/sub-class code.

Don't use pci_write_reg() for these, as it defaults to 32-bit. Rather
than using the helper, use __raw_writeb() directly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Rework SH7780 host controller detection.
Paul Mundt [Fri, 17 Apr 2009 06:05:19 +0000 (15:05 +0900)]
sh: pci: Rework SH7780 host controller detection.

This reworks how the host controller is probed, and makes it a bit more
verbose in the event a new type of controller is detected. Additionally,
we also log the revision information.

This now uses the proper access sizes for the vendor/device registers,
rather than relying on a larger access that encapsulated both of them.
Not all devices support 32-bit read cycles for these registers.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Set class/sub-class code correctly for SH7780 PCIC.
Paul Mundt [Fri, 17 Apr 2009 05:09:09 +0000 (14:09 +0900)]
sh: pci: Set class/sub-class code correctly for SH7780 PCIC.

The SH7780 PCI host controller implements a configuration header that
requires a fair bit of hand-holding to initialize properly. By default
it appears as a pre-2.0 host controller given the zeroed out class code,
so fix this up properly.

Some boards that happened to be using the R7780RP version of the PCIC
fixups had set this correctly, but this belongs in the standard
initialization, and is by no means board specific.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.
Paul Mundt [Fri, 17 Apr 2009 05:07:57 +0000 (14:07 +0900)]
sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.

P1SEGADDR is obsolete and will be killed off completely in the future,
so transition off of it and reference P1SEG explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Move se7780 INTC fixups out of pci-sh7780.c.
Paul Mundt [Fri, 17 Apr 2009 04:00:18 +0000 (13:00 +0900)]
sh: pci: Move se7780 INTC fixups out of pci-sh7780.c.

These fixups belong in the board INTC setup code, not in the middle of
pci-sh7780.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off useless debugging printk() in pci-sh7780 init.
Paul Mundt [Fri, 17 Apr 2009 03:44:25 +0000 (12:44 +0900)]
sh: pci: Kill off useless debugging printk() in pci-sh7780 init.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: Kill off unused SH4_PCIC_NO_RESET code.
Paul Mundt [Thu, 16 Apr 2009 09:01:31 +0000 (18:01 +0900)]
sh: pci: Kill off unused SH4_PCIC_NO_RESET code.

Nothing ended up using this anymore, so just kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR.
Paul Mundt [Wed, 11 Mar 2009 07:17:53 +0000 (16:17 +0900)]
sh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR.

SE7780 has the same PCIC fixup as SDK7780, and SH7785LCR the same
as R7780RP. Switch to using those, and drop the duplicate code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: sh7785lcr: Update for recent PCI changes.
Paul Mundt [Wed, 11 Mar 2009 07:12:39 +0000 (16:12 +0900)]
sh: sh7785lcr: Update for recent PCI changes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: drop duplicate symbol export on dreamcast and sh7785lcr.
Paul Mundt [Wed, 11 Mar 2009 06:58:04 +0000 (15:58 +0900)]
sh: drop duplicate symbol export on dreamcast and sh7785lcr.

With board_pci_channels now being exported in a single place, update the
boards that duplicated the export.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: export board_pci_channels in one place
Magnus Damm [Tue, 19 Feb 2008 12:35:40 +0000 (21:35 +0900)]
sh: export board_pci_channels in one place

Instead of sometimes exporting board_pci_channels[] in the board specific
code just export it in one place.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci io port base address code
Magnus Damm [Tue, 19 Feb 2008 12:35:31 +0000 (21:35 +0900)]
sh: pci io port base address code

Adds a __get_pci_io_base() function which is used to match a port range
against struct pci_channel. This allows us to detect if a port range is
assigned to pci or happens to be legacy port io. While at it, remove unused
cpu-specific cruft.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pci memory range checking code
Magnus Damm [Tue, 19 Feb 2008 12:35:22 +0000 (21:35 +0900)]
sh: pci memory range checking code

This patch changes the code to use __is_pci_memory() instead of
is_pci_memaddr(). __is_pci_memory() loops through all the pci
channels on the system to match memory windows.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add io_base member to pci_channel
Magnus Damm [Tue, 19 Feb 2008 12:35:14 +0000 (21:35 +0900)]
sh: add io_base member to pci_channel

Store the io window base address in struct pci_channel and use that one
instead of SH77xx_PCI_IO_BASE.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add reg_base member to pci_channel
Magnus Damm [Tue, 19 Feb 2008 12:35:04 +0000 (21:35 +0900)]
sh: add reg_base member to pci_channel

Store the base address of the pci host controller registers in struct
pci_channel and use the address in pci_read_reg() and pci_write_reg().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: hook in struct pci_channel in sysdata
Magnus Damm [Tue, 19 Feb 2008 12:34:55 +0000 (21:34 +0900)]
sh: hook in struct pci_channel in sysdata

Store a struct pci_channel pointer in bus->sysdata. This makes whatever
struct pci_channel assigned to a bus available for sh4_pci_read() and
sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to
use bus->sysdata - this to gives us support for multiple pci channels.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: avoid using PCIBIOS_MIN_xxx
Magnus Damm [Wed, 11 Mar 2009 06:47:23 +0000 (15:47 +0900)]
sh: avoid using PCIBIOS_MIN_xxx

Replaces PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM with direct struct
pci_channel access. This allows us to have more than one pci
channel.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: add init member to pci_channel data
Magnus Damm [Wed, 11 Mar 2009 06:46:14 +0000 (15:46 +0900)]
sh: add init member to pci_channel data

This patch adds an init callback to struct pci_channel and makes sure
it is initialized properly. Code is added to call this init function
from pcibios_init(). Return values are adjusted and a warning is is
printed if init fails.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agosh: pass along struct pci_channel
Magnus Damm [Wed, 11 Mar 2009 06:41:51 +0000 (15:41 +0900)]
sh: pass along struct pci_channel

These patches rework the pci code for the sh architecture.

Currently each board implements some kind of ioport to address mapping.
Some boards use generic_io_base others try passing addresses as io ports.
This is the first set of patches that try to unify the pci code as much
as possible to avoid duplicated code. This will in the end lead to fewer
lines board specific code and more generic code.

This patch makes sure a struct pci_channel pointer is passed along to
various pci functions such as pci_read_reg(), pci_write_reg(),
pci_fixup_pcic(), sh7751_pcic_init() and sh7780_pcic_init().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Wed, 15 Apr 2009 16:11:11 +0000 (09:11 -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

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
Linus Torvalds [Wed, 15 Apr 2009 16:04:12 +0000 (09:04 -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

15 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Wed, 15 Apr 2009 16:03:47 +0000 (09:03 -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
  ...

15 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Wed, 15 Apr 2009 15:52:32 +0000 (17:52 +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

15 years agoALSA: hda - Fix the cmd cache keys for amp verbs
Takashi Iwai [Wed, 15 Apr 2009 15:48:35 +0000 (17:48 +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 <johannes@sipsolutions.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Wed, 15 Apr 2009 15:42:40 +0000 (08:42 -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

15 years agoacpi-cpufreq: fix 'smp_call_function_many()' confusion
Linus Torvalds [Wed, 15 Apr 2009 15:05:13 +0000 (08:05 -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 <ali@rudi.ir>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agocfq-iosched: add close cooperator code
Jens Axboe [Wed, 15 Apr 2009 10:15:11 +0000 (12:15 +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 <jmoyer@redhat.com> for writing the
initial implementation.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocfq-iosched: log responsible 'cfqq' in idle timer arm
Jens Axboe [Wed, 15 Apr 2009 10:14:13 +0000 (12:14 +0200)]
cfq-iosched: log responsible 'cfqq' in idle timer arm

Makes it easier to read the traces.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agocfq-iosched: tweak kick logic a bit more
Jens Axboe [Wed, 15 Apr 2009 10:12:46 +0000 (12:12 +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 <jens.axboe@oracle.com>
15 years agocfq-iosched: no need to save interrupts in cfq_kick_queue()
Jens Axboe [Wed, 15 Apr 2009 10:11:10 +0000 (12:11 +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 <jens.axboe@oracle.com>
15 years agobrd: fix cacheflushing
Nick Piggin [Wed, 15 Apr 2009 08:32:07 +0000 (10:32 +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 <npiggin@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agobrd: support barriers
Nick Piggin [Wed, 15 Apr 2009 08:27:07 +0000 (10:27 +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 <npiggin@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoswap: Remove code handling bio_alloc failure with __GFP_WAIT
Nikanth Karthikesan [Wed, 15 Apr 2009 05:07:04 +0000 (10:37 +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 <knikanth@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agogfs2: Remove code handling bio_alloc failure with __GFP_WAIT
Nikanth Karthikesan [Wed, 15 Apr 2009 05:06:35 +0000 (10:36 +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 <knikanth@suse.de>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoext4: Remove code handling bio_alloc failure with __GFP_WAIT
Nikanth Karthikesan [Wed, 15 Apr 2009 05:06:16 +0000 (10:36 +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 <knikanth@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agodio: Remove code handling bio_alloc failure with __GFP_WAIT
Nikanth Karthikesan [Wed, 15 Apr 2009 05:05:52 +0000 (10:35 +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 <knikanth@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoblock: Remove code handling bio_alloc failure with __GFP_WAIT
Nikanth Karthikesan [Wed, 15 Apr 2009 05:05:31 +0000 (10:35 +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 <knikanth@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agobio: add documentation to bio_alloc()
Jens Axboe [Wed, 15 Apr 2009 07:00:07 +0000 (09:00 +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 <jens.axboe@oracle.com>
15 years agosplice: add helpers for locking pipe inode
Miklos Szeredi [Tue, 14 Apr 2009 17:48:41 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agosplice: remove generic_file_splice_write_nolock()
Miklos Szeredi [Tue, 14 Apr 2009 17:48:40 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoocfs2: fix i_mutex locking in ocfs2_splice_to_file()
Miklos Szeredi [Tue, 14 Apr 2009 17:48:39 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agosplice: fix i_mutex locking in generic_splice_write()
Miklos Szeredi [Tue, 14 Apr 2009 17:48:38 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agosplice: remove i_mutex locking in splice_from_pipe()
Miklos Szeredi [Tue, 14 Apr 2009 17:48:37 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agosplice: split up __splice_from_pipe()
Miklos Szeredi [Tue, 14 Apr 2009 17:48:36 +0000 (19:48 +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 <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoblock: fix SG_IO to return a proper error value
FUJITA Tomonori [Mon, 13 Apr 2009 18:03:10 +0000 (20:03 +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 <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoALSA: add missing definitions(letters) to HD-Audio.txt
Justin Mattock [Tue, 14 Apr 2009 21:31:21 +0000 (14:31 -0700)]
ALSA: add missing definitions(letters) to HD-Audio.txt

impact: Add missing definitions(letters).

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'topic/memdup_user' into for-linus
Takashi Iwai [Wed, 15 Apr 2009 09:24:27 +0000 (11:24 +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()

15 years agoMerge branch 'topic/usb-caiaq' into for-linus
Takashi Iwai [Wed, 15 Apr 2009 09:24:22 +0000 (11:24 +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

15 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Wed, 15 Apr 2009 09:24:14 +0000 (11:24 +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

15 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Wed, 15 Apr 2009 09:24:09 +0000 (11:24 +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

15 years agoMerge branch 'topic/jack-free-fix' into topic/hda
Takashi Iwai [Wed, 15 Apr 2009 09:23:44 +0000 (11:23 +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

15 years agoMerge branch 'master' of git://git.alsa-project.org/alsa-kernel into for-linus
Takashi Iwai [Wed, 15 Apr 2009 09:21:13 +0000 (11:21 +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

15 years agoGFS2: Use DEFINE_SPINLOCK
Xu Gang [Tue, 14 Apr 2009 06:54:14 +0000 (14:54 +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 <xug@cn.fujitsu.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
15 years agoGFS2: cleanup file_operations mess
Christoph Hellwig [Tue, 7 Apr 2009 17:42:17 +0000 (19:42 +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 <hch@lst.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
15 years agoGFS2: Move umount flush rwsem
Steven Whitehouse [Tue, 7 Apr 2009 13:01:34 +0000 (14:01 +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 <swhiteho@redhat.com>
15 years agoGFS2: Fix symlink creation race
Steven Whitehouse [Tue, 31 Mar 2009 15:06:27 +0000 (16:06 +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 <swhiteho@redhat.com>
15 years agoGFS2: Make quotad's waiting interruptible
Steven Whitehouse [Tue, 31 Mar 2009 14:49:08 +0000 (15:49 +0100)]
GFS2: Make quotad's waiting interruptible

So we don't count its D state in the loadavg.

Reported-by: Nathan Straz <nstraz@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
15 years agoALSA: hda - Add quirk mask for Fujitsu Amilo laptops with ALC883
Takashi Iwai [Tue, 14 Apr 2009 12:51:04 +0000 (14:51 +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 <tiwai@suse.de>
15 years ago[ALSA] intel8x0: add one retry to the ac97_clock measurement routine
Jaroslav Kysela [Wed, 15 Apr 2009 08:16:24 +0000 (10:16 +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 <perex@perex.cz>
15 years agocfq-iosched: don't delay queue kick for a merged request
Jens Axboe [Tue, 14 Apr 2009 12:18:16 +0000 (14:18 +0200)]
cfq-iosched: don't delay queue kick for a merged request

"Zhang, Yanmin" <yanmin_zhang@linux.intel.com> 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 <jens.axboe@oracle.com>
15 years agobuffer: switch do_emergency_thaw() away from pdflush_operation()
Jens Axboe [Wed, 8 Apr 2009 11:44:08 +0000 (13:44 +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 <jens.axboe@oracle.com>
15 years agoblock: update biodoc.txt on plugging
Jens Axboe [Wed, 8 Apr 2009 09:38:50 +0000 (11:38 +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 <jens.axboe@oracle.com>
15 years agoas-iosched: get rid of private REQ_SYNC/REQ_ASYNC defines
Jens Axboe [Wed, 8 Apr 2009 09:02:08 +0000 (11:02 +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 <jens.axboe@oracle.com>
15 years agocfq-iosched: get rid of private SYNC/ASYNC defines
Jens Axboe [Wed, 8 Apr 2009 08:58:57 +0000 (10:58 +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 <jens.axboe@oracle.com>
15 years agocfq-iosched: use rw_is_sync() to see if rw flags are sync or not
Jens Axboe [Wed, 8 Apr 2009 08:56:08 +0000 (10:56 +0200)]
cfq-iosched: use rw_is_sync() to see if rw flags are sync or not

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>