]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agotcp: back retransmit_high when it over-estimated
Ilpo Järvinen [Sun, 21 Sep 2008 04:26:22 +0000 (21:26 -0700)]
tcp: back retransmit_high when it over-estimated

If lost skb is sacked, we might have nothing to retransmit
as high as the retransmit_high is pointing to, so place
it lower to avoid unnecessary walking.

This is mainly for the case where high L'ed skbs gets sacked.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: don't clear lost_skb_hint when not necessary
Ilpo Järvinen [Sun, 21 Sep 2008 04:25:52 +0000 (21:25 -0700)]
tcp: don't clear lost_skb_hint when not necessary

Most importantly avoid doing it with cumulative ACK. However,
since we have lost_cnt_hint in the picture as well needing
adjustments, it's not as trivial as dealing with
retransmit_skb_hint (and cannot be done in the all place we
could trivially leave retransmit_skb_hint untouched).

With the previous patch, this should mostly remove O(n^2)
behavior while cumulative ACKs start flowing once rexmit
after a lossy round-trip made it through.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: don't clear retransmit_skb_hint when not necessary
Ilpo Järvinen [Sun, 21 Sep 2008 04:25:15 +0000 (21:25 -0700)]
tcp: don't clear retransmit_skb_hint when not necessary

Most importantly avoid doing it with cumulative ACK. Not clearing
means that we no longer need n^2 processing in resolution of each
fast recovery.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: remove retransmit_skb_hint clearing from failure
Ilpo Järvinen [Sun, 21 Sep 2008 04:24:49 +0000 (21:24 -0700)]
tcp: remove retransmit_skb_hint clearing from failure

This doesn't much sense here afaict, probably never has. Since
fragmenting and collapsing deal the hints by themselves, there
should be very little reason for the rexmit loop to do that.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: reorganize retransmit code loops
Ilpo Järvinen [Sun, 21 Sep 2008 04:24:21 +0000 (21:24 -0700)]
tcp: reorganize retransmit code loops

Both loops are quite similar, so they can be combined
with little effort. As a result, forward_skb_hint becomes
obsolete as well.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: remove tp->lost_out guard to make joining diff nicer
Ilpo Järvinen [Sun, 21 Sep 2008 04:23:49 +0000 (21:23 -0700)]
tcp: remove tp->lost_out guard to make joining diff nicer

The validity of the retransmit_high must then be ensured
if no L'ed skb exits!

This makes a minor change to behavior, we now have to
iterate the head to find out that the loop terminates.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: Reorganize skb tagbit checks
Ilpo Järvinen [Sun, 21 Sep 2008 04:22:59 +0000 (21:22 -0700)]
tcp: Reorganize skb tagbit checks

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: remove obsolete validity concern
Ilpo Järvinen [Sun, 21 Sep 2008 04:22:17 +0000 (21:22 -0700)]
tcp: remove obsolete validity concern

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: add tcp_can_forward_retransmit
Ilpo Järvinen [Sun, 21 Sep 2008 04:21:54 +0000 (21:21 -0700)]
tcp: add tcp_can_forward_retransmit

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: No need to clear retransmit_skb_hint when SACKing
Ilpo Järvinen [Sun, 21 Sep 2008 04:21:16 +0000 (21:21 -0700)]
tcp: No need to clear retransmit_skb_hint when SACKing

Because lost counter no longer requires tuning, this is
trivial to remove (the tuning wouldn't have been too
hard either) because no "new" retransmittable skb appeared
below retransmit_skb_hint when SACKing for sure.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: Kill precaution that's very likely obsolete
Ilpo Järvinen [Sun, 21 Sep 2008 04:20:50 +0000 (21:20 -0700)]
tcp: Kill precaution that's very likely obsolete

I suspect it might have been related to the changed amount
of lost skbs, which was counted by retransmit_cnt_hint that
got changed.

The place for this clearing was very illogical anyway,
it should have been after the LOST-bit clearing loop to
make any sense.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: convert retransmit_cnt_hint to seqno
Ilpo Järvinen [Sun, 21 Sep 2008 04:20:20 +0000 (21:20 -0700)]
tcp: convert retransmit_cnt_hint to seqno

Main benefit in this is that we can then freely point
the retransmit_skb_hint to anywhere we want to because
there's no longer need to know what would be the count
changes involve, and since this is really used only as a
terminator, unnecessary work is one time walk at most,
and if some retransmissions are necessary after that
point later on, the walk is not full waste of time
anyway.

Since retransmit_high must be kept valid, all lost
markers must ensure that.

Now I also have learned how those "holes" in the
rexmittable skbs can appear, mtu probe does them. So
I removed the misleading comment as well.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: add helper for lost bit toggling
Ilpo Järvinen [Sun, 21 Sep 2008 04:19:22 +0000 (21:19 -0700)]
tcp: add helper for lost bit toggling

This useful because we'd need to verifying soon in many places
which makes things slightly more complex than it used to be.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: move tcp_verify_retransmit_hint
Ilpo Järvinen [Sun, 21 Sep 2008 04:18:55 +0000 (21:18 -0700)]
tcp: move tcp_verify_retransmit_hint

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: Partial hint clearing has again become meaningless
Ilpo Järvinen [Sun, 21 Sep 2008 04:18:32 +0000 (21:18 -0700)]
tcp: Partial hint clearing has again become meaningless

Ie., the difference between partial and all clearing doesn't
exists anymore since the SACK optimizations got dropped by
an sacktag rewrite.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosh: Kill off duplicate page fault notifiers in slow path.
Paul Mundt [Sun, 21 Sep 2008 03:11:25 +0000 (12:11 +0900)]
sh: Kill off duplicate page fault notifiers in slow path.

We already have hooks in place in the __do_page_fault() fast-path,
so kill them off in the slow path.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Look up the trap vector for the page fault notifier.
Paul Mundt [Sun, 21 Sep 2008 03:06:43 +0000 (12:06 +0900)]
sh: Look up the trap vector for the page fault notifier.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agoIB: Drop code after return statement
Julia Lawall [Sun, 21 Sep 2008 03:06:32 +0000 (20:06 -0700)]
IB: Drop code after return statement

A break after a return serves no purpose, remove it.

Signed-off-by: Julia Lawall <julia@diku.dk>
Reviewed-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/mad: Don't discard BMA responses in kernel
Michael Brooks [Sun, 21 Sep 2008 03:06:16 +0000 (20:06 -0700)]
IB/mad: Don't discard BMA responses in kernel

This fixes the problem of incoming BMA responses being dropped due to
a bad "is response" check.  Fix the test to use the ib_response_mad()
predicate, which correctly handles BMA MADs.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=988>.

Signed-off-by: Michael Brooks <michael.brooks@qlogic.com>
Acked-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/ipath: Fix SLID generation for RC/UC QPs when LMC > 0
Ralph Campbell [Sun, 21 Sep 2008 03:05:51 +0000 (20:05 -0700)]
IB/ipath: Fix SLID generation for RC/UC QPs when LMC > 0

The code to set the source LID in the sent LRH was not setting the low
bits if LMC != 0 for RC/UC QPs.

Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/ehca: Generate flush status CQ entries
Alexander Schmidt [Sun, 21 Sep 2008 03:05:21 +0000 (20:05 -0700)]
IB/ehca: Generate flush status CQ entries

When a QP goes into error state, it is required that CQ entries with a
flush error status are delivered to the application for any
outstanding work requests.  eHCA does not do this in hardware, so this
patch adds software flush CQE generation to the ehca driver.

Whenever a QP gets into error state, it is added to the QP error list
of its respective CQ.  If the error QP list of a CQ is not empty,
poll_cq() generates flush CQEs before polling the actual CQ.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agosh: Move lookup_exception_vector() out to asm/system_32.h.
Paul Mundt [Sun, 21 Sep 2008 03:00:23 +0000 (12:00 +0900)]
sh: Move lookup_exception_vector() out to asm/system_32.h.

There are other places where we want to have access to the trap/exception
number, so move out the lookup_exception_vector() helper. While we're at
it, refactor it slightly to return the vector instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: edosk7760: Correct size of bootloader flash partition.
Luca Santini [Sun, 21 Sep 2008 01:32:29 +0000 (10:32 +0900)]
sh: edosk7760: Correct size of bootloader flash partition.

This is 256K instead of 1M.

[ Converted to use asm/sizes.h. -- PFM ]

Signed-off-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Add a few more definitions to asm/sizes.h.
Paul Mundt [Sun, 21 Sep 2008 01:31:57 +0000 (10:31 +0900)]
sh: Add a few more definitions to asm/sizes.h.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Copy in asm/sizes.h helper from ARM.
Paul Mundt [Sun, 21 Sep 2008 01:24:18 +0000 (10:24 +0900)]
sh: Copy in asm/sizes.h helper from ARM.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Support kernel stacks smaller than a page.
Paul Mundt [Sat, 20 Sep 2008 11:21:33 +0000 (20:21 +0900)]
sh: Support kernel stacks smaller than a page.

This follows the powerpc commit f6a616800e68b61807d0f7bb0d5dc70665ef8046
'[POWERPC] Fix kernel stack allocation alignment'.

SH has traditionally forced the thread order to be relative to the page
size, so there were never any situations where the same bug was
triggered by slub. Regardless, the usage of > 8kB stacks for the larger
page sizes is overkill, so we switch to using slab allocations there,
as per the powerpc change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Disable 4kB stacks when using PAGE_SIZE_64KB.
Paul Mundt [Sat, 20 Sep 2008 11:16:35 +0000 (20:16 +0900)]
sh: Disable 4kB stacks when using PAGE_SIZE_64KB.

This combination triggers a divide by zero in kernel/fork.c when
calculating the initial max_threads value:

max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE);

Simply disable 4K stacks on 64kB PAGE_SIZE to work around this,
as it's not a terribly useful combination to begin with.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agommc_test: initialize mmc_test_lock statically
Akinobu Mita [Sat, 13 Sep 2008 10:03:32 +0000 (19:03 +0900)]
mmc_test: initialize mmc_test_lock statically

The mutex mmc_test_lock is initialized at every time mmc_test device
is probed. Probing another mmc_test device may break the mutex, if
the probe function is called while the mutex is locked.

This patch fixes it by statically initializing mmc_test_lock.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agommc_block: handle error from mmc_register_driver()
Akinobu Mita [Sat, 13 Sep 2008 10:02:07 +0000 (19:02 +0900)]
mmc_block: handle error from mmc_register_driver()

Check error from mmc_register_driver() and properly unwind
block device registration.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agoatmel-mci: Set MMC_CAP_NEEDS_POLL if no detect_pin
Haavard Skinnemoen [Fri, 19 Sep 2008 19:09:30 +0000 (21:09 +0200)]
atmel-mci: Set MMC_CAP_NEEDS_POLL if no detect_pin

This allows the mmc core to detect card insertion/removal for slots that
don't have any CD pin wired up.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agoatmel-mci: Fix bogus debugfs file size
Haavard Skinnemoen [Fri, 19 Sep 2008 19:09:29 +0000 (21:09 +0200)]
atmel-mci: Fix bogus debugfs file size

We used to store a binary register snapshot in the "regs" file, so we
set the file size to be the size of this snapshot. This is no longer
valid since we switched to using seq_file.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agoatmel-mci: Fix memory leak in atmci_regs_show
Haavard Skinnemoen [Fri, 19 Sep 2008 19:09:28 +0000 (21:09 +0200)]
atmel-mci: Fix memory leak in atmci_regs_show

The debugfs hook atmci_regs_show allocates a temporary buffer for
storing a register snapshot, but it doesn't free it before returning.
Plug this leak.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agoatmel-mci: debugfs: enable clock before dumping regs
Haavard Skinnemoen [Fri, 19 Sep 2008 19:09:27 +0000 (21:09 +0200)]
atmel-mci: debugfs: enable clock before dumping regs

Make sure that the peripheral clock is enabled before reading the MMIO
registers for the debugfs "regs" dump.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agotmio_mmc: fix compilation with debug enabled
Dmitry Baryshkov [Wed, 3 Sep 2008 15:33:30 +0000 (19:33 +0400)]
tmio_mmc: fix compilation with debug enabled

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Ian Molton <spyro@f2s.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
17 years agohwmon: (ad7414) Make ad7414_update_device() static
Adrian Bunk [Sat, 20 Sep 2008 08:25:20 +0000 (10:25 +0200)]
hwmon: (ad7414) Make ad7414_update_device() static

This patch makes the needlessly global ad7414_update_device() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agohwmon: (it87) Fix fan tachometer reading in IT8712F rev 0x7 (I)
Andrew Paprocki [Sat, 20 Sep 2008 08:25:19 +0000 (10:25 +0200)]
hwmon: (it87) Fix fan tachometer reading in IT8712F rev 0x7 (I)

The IT8712F v0.9.1 datasheet applies to revisions >= 0x8 (J).
The driver was incorrectly attempting to enable 16-bit fan
readings on rev 0x7 (I) which led to incorrect RPM values.

Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Tested-by: John Gumb <john.gumb@tandberg.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
17 years agohwmon: (atxp1) Fix device detection logic
Jean Delvare [Sat, 20 Sep 2008 08:25:19 +0000 (10:25 +0200)]
hwmon: (atxp1) Fix device detection logic

The atxp1 device detection code has a major logic flaw, fix it. Not
sure how we managed to miss this when the driver was merged...

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Sebastian Witt <se.witt@gmx.net>
17 years agosparc32: Add more extensive documentation of sun4m interrupts.
David S. Miller [Fri, 19 Sep 2008 22:33:21 +0000 (15:33 -0700)]
sparc32: Add more extensive documentation of sun4m interrupts.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Kill irq_rcvreg from sun4m_irq.c
David S. Miller [Sun, 14 Sep 2008 05:48:41 +0000 (22:48 -0700)]
sparc32: Kill irq_rcvreg from sun4m_irq.c

Unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Delete master_l10_limit.
David S. Miller [Sun, 14 Sep 2008 05:48:04 +0000 (22:48 -0700)]
sparc32: Delete master_l10_limit.

It is only set, never used.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Use PROM device probing for sun4c timers.
David S. Miller [Sun, 14 Sep 2008 05:47:43 +0000 (22:47 -0700)]
sparc32: Use PROM device probing for sun4c timers.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Use PROM device probing for sun4c interrupt register.
David S. Miller [Sun, 14 Sep 2008 05:43:48 +0000 (22:43 -0700)]
sparc32: Use PROM device probing for sun4c interrupt register.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Delete claim_ticker14().
David S. Miller [Tue, 9 Sep 2008 07:04:35 +0000 (00:04 -0700)]
sparc32: Delete claim_ticker14().

No more users.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Stop calling claim_ticker14() from sun4c_irq.c
David S. Miller [Sun, 14 Sep 2008 05:08:26 +0000 (22:08 -0700)]
sparc32: Stop calling claim_ticker14() from sun4c_irq.c

Since the first argument is always NULL, the only side effect
is to disable the PROFILE_IRQ, so just do that directly.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Kill clear_profile_irq btfixup entry.
David S. Miller [Sun, 14 Sep 2008 05:07:06 +0000 (22:07 -0700)]
sparc32: Kill clear_profile_irq btfixup entry.

Unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.c
David S. Miller [Sun, 14 Sep 2008 05:07:56 +0000 (22:07 -0700)]
sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.c

This is the only use of the clear_profile_irq() btfixup entry,
which just eats up lots of dead space on other platform types.

A subsequent commit will delete the other implementations and
the btfixup entry as well.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Remove #if 0'd code from sun4c_irq.c
David S. Miller [Sun, 14 Sep 2008 05:07:40 +0000 (22:07 -0700)]
sparc32: Remove #if 0'd code from sun4c_irq.c

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Remove some SMP ifdefs in sun4d_irq.c
David S. Miller [Sun, 14 Sep 2008 05:05:25 +0000 (22:05 -0700)]
sparc32: Remove some SMP ifdefs in sun4d_irq.c

Always do the sbus_tid[] handling.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Use PROM infrastructure for probing and mapping sun4d timers.
David S. Miller [Sun, 14 Sep 2008 05:04:55 +0000 (22:04 -0700)]
sparc32: Use PROM infrastructure for probing and mapping sun4d timers.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc32: Use PROM device probing for sun4m irq registers.
David S. Miller [Sat, 20 Sep 2008 04:17:43 +0000 (21:17 -0700)]
sparc32: Use PROM device probing for sun4m irq registers.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoKVM: ia64: 'struct fdesc' build fix
Jes Sorensen [Fri, 12 Sep 2008 12:12:08 +0000 (14:12 +0200)]
KVM: ia64: 'struct fdesc' build fix

Commit 4611a77 ("[IA64] fix compile failure with non modular builds")
introduced struct fdesc into asm/elf.h, which duplicates KVM's definition.
Remove the latter to avoid the build error.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Fri, 19 Sep 2008 23:24:03 +0000 (16:24 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] cio: fix orb initialization in cio_start_key
  [S390] cio: Fix driver_data handling for ccwgroup devices.

17 years agoMerge git://oss.sgi.com:8090/xfs/linux-2.6
Linus Torvalds [Fri, 19 Sep 2008 23:21:59 +0000 (16:21 -0700)]
Merge git://oss.sgi.com:8090/xfs/linux-2.6

* git://oss.sgi.com:8090/xfs/linux-2.6:
  [XFS] Don't do I/O beyond eof when unreserving space
  [XFS] Fix use-after-free with buffers
  [XFS] Prevent lockdep false positives when locking two inodes.
  [XFS] Fix barrier status change detection.
  [XFS] Prevent direct I/O from mapping extents beyond eof
  [XFS] Fix regression introduced by remount fixup
  [XFS] Move memory allocations for log tracing out of the critical path

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Fri, 19 Sep 2008 23:18:21 +0000 (16:18 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop()
  RDMA/nes: Fix client side QP destroy
  IB/mlx4: Fix up fast register page list format
  mlx4_core: Set RAE and init mtt_sz field in FRMR MPT entries

17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Fri, 19 Sep 2008 23:17:12 +0000 (16:17 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6

17 years agoMerge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 19 Sep 2008 23:17:12 +0000 (16:17 -0700)]
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: fix deadlock in setting scheduler parameter to zero
  sched: fix 2.6.27-rc5 couldn't boot on tulsa machine randomly

17 years agoMerge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 19 Sep 2008 23:16:50 +0000 (16:16 -0700)]
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  clockevents: make device shutdown robust
  clocksource, acpi_pm.c: fix check for monotonicity
  clockevents: remove WARN_ON which was used to gather information

17 years agoqlge: Protect qlge_resume() with CONFIG_PM
David S. Miller [Fri, 19 Sep 2008 23:14:24 +0000 (16:14 -0700)]
qlge: Protect qlge_resume() with CONFIG_PM

Fixes the following build warning:

drivers/net/qlge/qlge_main.c:3897: warning: ‘qlge_resume’ defined but not used

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoqlge: Fix warnings in debugging code.
David S. Miller [Fri, 19 Sep 2008 23:13:05 +0000 (16:13 -0700)]
qlge: Fix warnings in debugging code.

drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_qdev’:
drivers/net/qlge/qlge_dbg.c:369: warning: cast to pointer from integer of different size
drivers/net/qlge/qlge_dbg.c:373: warning: cast to pointer from integer of different size
drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_tx_ring’:
drivers/net/qlge/qlge_dbg.c:457: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:461: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c: In function ‘ql_dump_rx_ring’:
drivers/net/qlge/qlge_dbg.c:557: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:565: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:575: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:579: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:598: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’
drivers/net/qlge/qlge_dbg.c:602: warning: format ‘%llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘long unsigned int’

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 19 Sep 2008 23:11:09 +0000 (16:11 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: completely disable NOPL on 32 bits
  x86/paravirt: Remove duplicate paravirt_pagetable_setup_{start, done}()
  xen: fix for xen guest with mem > 3.7G
  x86: fix possible x86_64 and EFI regression
  arch/x86/kernel/kdebugfs.c: introduce missing kfree

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Fri, 19 Sep 2008 23:05:05 +0000 (16:05 -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:
  Fix compile failure with non modular builds
  powerpc: Holly board needs dtbImage target
  powerpc: Fix interrupt values for DMA2 in MPC8610 HPCD device tree

17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 19 Sep 2008 23:04:42 +0000 (16:04 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5255/1: Update jornada ssp to remove build errors/warnings
  [ARM] omap: back out 'internal_clock' support
  [ARM] 5249/1: davinci: remove redundant check in davinci_psc_config()

17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen...
Linus Torvalds [Fri, 19 Sep 2008 23:03:38 +0000 (16:03 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: nmi_enter() without nmi_exit()
  avr32: fix sys_sync_file_range() call convention
  avr32: add generic_find_next_le_bit bit function
  avr32: add .gitignore files
  atstk1000: fix build breakage with BOARD_ATSTK100X_SW2_CUSTOM=y

17 years agoMerge branch 'for-linus' of git://neil.brown.name/md
Linus Torvalds [Fri, 19 Sep 2008 23:02:52 +0000 (16:02 -0700)]
Merge branch 'for-linus' of git://neil.brown.name/md

* 'for-linus' of git://neil.brown.name/md:
  md: Don't wait UNINTERRUPTIBLE for other resync to finish

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 19 Sep 2008 23:02:05 +0000 (16:02 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix SMP bootup with CONFIG_STACK_DEBUG or ftrace.
  sparc64: Fix OOPS in psycho_pcierr_intr_other().

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 19 Sep 2008 23:01:37 +0000 (16:01 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  e100: Use pci_pme_active to clear PME_Status and disable PME#
  e1000: prevent corruption of EEPROM/NVM
  forcedeth: call restore mac addr in nv_shutdown path
  bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int
  sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH
  sctp: do not enable peer features if we can't do them.
  sctp: set the skb->ip_summed correctly when sending over loopback.
  udp: Fix rcv socket locking

17 years agoMerge branch 'new-drivers' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Fri, 19 Sep 2008 22:51:35 +0000 (15:51 -0700)]
Merge branch 'new-drivers' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

17 years agonet: Fix build with ARCH=um
David S. Miller [Fri, 19 Sep 2008 19:44:54 +0000 (12:44 -0700)]
net: Fix build with ARCH=um

If UM is going to claim that it supports DMA by setting
HAS_DMA, it should provide a dma_mapping_error() implementation.

Based upon a report by Julius Volz.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agocpm_uart: Pass actual dev ptr to dma_* in ucc and cpm_uart serial
Becky Bruce [Fri, 12 Sep 2008 15:42:56 +0000 (10:42 -0500)]
cpm_uart: Pass actual dev ptr to dma_* in ucc and cpm_uart serial

We're currently passing NULL, and really shouldn't be.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Acked-By: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agopowerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support
Kumar Gala [Wed, 16 Jul 2008 21:17:08 +0000 (16:17 -0500)]
powerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support

We need to create a false data dependency to ensure the loads of
the pte are done in the right order.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoavr32: nmi_enter() without nmi_exit()
Manfred Spraul [Wed, 20 Aug 2008 13:39:59 +0000 (15:39 +0200)]
avr32: nmi_enter() without nmi_exit()

While updating the rcu code, I noticed that do_nmi() for AVR32 is odd:
There is an nmi_enter() call without an nmi_exit().
This can't be correct, it breaks rcu (at least the preempt version) and
lockdep.

[haavard.skinnemoen@atmel.com: fixed another case that returned directly]
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agomv643xx_eth: bump version to 1.4
Lennert Buytenhek [Sun, 24 Aug 2008 07:01:57 +0000 (09:01 +0200)]
mv643xx_eth: bump version to 1.4

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
17 years agomv643xx_eth: convert to phylib
Lennert Buytenhek [Tue, 26 Aug 2008 11:34:19 +0000 (13:34 +0200)]
mv643xx_eth: convert to phylib

Switch mv643xx_eth from using drivers/net/mii.c to using phylib.

Since the mv643xx_eth hardware does all the link state handling and
PHY polling, the driver will use phylib in the "Doing it all yourself"
mode described in the phylib documentation.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Andy Fleming <afleming@freescale.com>
17 years agoavr32: fix sys_sync_file_range() call convention
Hans-Christian Egtvedt [Wed, 17 Sep 2008 11:39:45 +0000 (13:39 +0200)]
avr32: fix sys_sync_file_range() call convention

On AVR32, all parameters beyond the 5th are passed on the stack. System
calls don't use the stack -- they borrow a callee-saved register
instead. This means that syscalls that take 6 parameters must be called
through a stub that pushes the last parameter on the stack.

This patch adds a stub for sync_file_range syscall on AVR32
architecture.  Tested with uClibc snapshot.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agoavr32: add generic_find_next_le_bit bit function
Hans-Christian Egtvedt [Wed, 10 Sep 2008 13:52:04 +0000 (15:52 +0200)]
avr32: add generic_find_next_le_bit bit function

This patch implements the generic_find_next_le_bit bit function for AVR32
architecture. This is used by EXT4 file system.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agoavr32: add .gitignore files
Markus Heidelberg [Sun, 7 Sep 2008 22:22:45 +0000 (00:22 +0200)]
avr32: add .gitignore files

Ignore Kernel binaries, kernel/vmlinux.lds and a log file.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agoatstk1000: fix build breakage with BOARD_ATSTK100X_SW2_CUSTOM=y
Haavard Skinnemoen [Fri, 19 Sep 2008 15:56:54 +0000 (17:56 +0200)]
atstk1000: fix build breakage with BOARD_ATSTK100X_SW2_CUSTOM=y

The #ifdef surrounding the code adding the mmc controller had a typo,
causing it to be compiled even when mmc was supposed to be disabled.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
17 years agodrivers/dma/dmatest.c: switch a GFP_ATOMIC to GFP_KERNEL
Andrew Morton [Fri, 19 Sep 2008 11:16:23 +0000 (04:16 -0700)]
drivers/dma/dmatest.c: switch a GFP_ATOMIC to GFP_KERNEL

It was needlessly using the unreliable GFP_ATOMIC.

Cc: Timur Tabi <timur@freescale.com>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agodmatest: properly handle duplicate DMA channels
Timur Tabi [Fri, 19 Sep 2008 11:16:19 +0000 (04:16 -0700)]
dmatest: properly handle duplicate DMA channels

Update the the dmatest driver so that it handles duplicate DMA channels
properly.

When a DMA client is notified of an available DMA channel, it must check if it
has already allocated resources for that channel.  If so, it should return
DMA_DUP.  This can happen, for example, if a DMA driver calls
dma_async_device_register() more than once.

Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agoAMD IOMMU: use coherent_dma_mask in alloc_coherent
Joerg Roedel [Thu, 18 Sep 2008 13:54:23 +0000 (15:54 +0200)]
AMD IOMMU: use coherent_dma_mask in alloc_coherent

The alloc_coherent implementation for AMD IOMMU currently uses
*dev->dma_mask per default. This patch changes it to prefer
dev->coherent_dma_mask if it is set.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoadd AMD IOMMU tree to MAINTAINERS file
Joerg Roedel [Wed, 17 Sep 2008 15:22:45 +0000 (17:22 +0200)]
add AMD IOMMU tree to MAINTAINERS file

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: use cmd_buf_size when freeing the command buffer
Joerg Roedel [Wed, 17 Sep 2008 15:18:17 +0000 (17:18 +0200)]
AMD IOMMU: use cmd_buf_size when freeing the command buffer

The command buffer release function uses the CMD_BUF_SIZE macro for
get_order. Replace this with iommu->cmd_buf_size which is more reliable
about the actual size of the buffer.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: calculate IVHD size with a function
Joerg Roedel [Wed, 17 Sep 2008 15:14:27 +0000 (17:14 +0200)]
AMD IOMMU: calculate IVHD size with a function

The current calculation of the IVHD entry size is hard to read. So move
this code to a seperate function to make it more clear what this
calculation does.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: remove unnecessary cast to u64 in the init code
Joerg Roedel [Wed, 17 Sep 2008 14:45:59 +0000 (16:45 +0200)]
AMD IOMMU: remove unnecessary cast to u64 in the init code

The ctrl variable is only u32 and readl also returns a 32 bit value. So
the cast to u64 is pointless. Remove it with this patch.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: free domain bitmap with its allocation order
Joerg Roedel [Wed, 17 Sep 2008 10:19:58 +0000 (12:19 +0200)]
AMD IOMMU: free domain bitmap with its allocation order

The amd_iommu_pd_alloc_bitmap is allocated with a calculated order and
freed with order 1. This is not a bug since the calculated order always
evaluates to 1, but its unclean code. So replace the 1 with the
calculation in the release path.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: simplify dma_mask_to_pages
Joerg Roedel [Wed, 17 Sep 2008 10:17:00 +0000 (12:17 +0200)]
AMD IOMMU: simplify dma_mask_to_pages

The current calculation is very complicated. This patch replaces it with
a much simpler version.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: replace memset with __GFP_ZERO in alloc_coherent
Joerg Roedel [Thu, 11 Sep 2008 08:59:15 +0000 (10:59 +0200)]
AMD IOMMU: replace memset with __GFP_ZERO in alloc_coherent

Remove the memset and use __GFP_ZERO at allocation time instead.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent
FUJITA Tomonori [Wed, 10 Sep 2008 11:19:40 +0000 (20:19 +0900)]
AMD IOMMU: avoid unnecessary low zone allocation in alloc_coherent

x86's common alloc_coherent (dma_alloc_coherent in dma-mapping.h) sets
up the gfp flag according to the device dma_mask but AMD IOMMU doesn't
need it for devices that the IOMMU can do virtual mappings for. This
patch avoids unnecessary low zone allocation.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: some set_device_domain cleanups
Joerg Roedel [Thu, 11 Sep 2008 08:38:32 +0000 (10:38 +0200)]
AMD IOMMU: some set_device_domain cleanups

Remove some magic numbers and split the pte_root using standard
functions.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: don't assign preallocated protection domains to devices
Joerg Roedel [Thu, 11 Sep 2008 08:24:48 +0000 (10:24 +0200)]
AMD IOMMU: don't assign preallocated protection domains to devices

In isolation mode the protection domains for the devices are
preallocated and preassigned. This is bad if a device should be passed
to a virtualization guest because the IOMMU code does not know if it is
in use by a driver. This patch changes the code to assign the device to
the preallocated domain only if there are dma mapping requests for it.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: add dma_supported callback
Joerg Roedel [Tue, 9 Sep 2008 16:40:46 +0000 (18:40 +0200)]
AMD IOMMU: add dma_supported callback

This function determines if the AMD IOMMU implementation is responsible
for a given device. So the DMA layer can get this information from the
driver.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: allow IO page faults from devices
Joerg Roedel [Tue, 9 Sep 2008 15:55:28 +0000 (17:55 +0200)]
AMD IOMMU: allow IO page faults from devices

There is a bit in the device entry to suppress all IO page faults
generated by a device. This bit was set until now because there was no
event logging. Now that there is event logging this patch allows IO page
faults from devices to see them in the kernel log.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: enable event logging
Joerg Roedel [Tue, 9 Sep 2008 14:47:35 +0000 (16:47 +0200)]
AMD IOMMU: enable event logging

The code to log IOMMU events is in place now. So enable event logging
with this patch.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: add event handling code
Joerg Roedel [Tue, 9 Sep 2008 14:41:05 +0000 (16:41 +0200)]
AMD IOMMU: add event handling code

This patch adds code for polling and printing out events generated by
the AMD IOMMU.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: add MSI interrupt support
Joerg Roedel [Thu, 11 Sep 2008 14:51:41 +0000 (16:51 +0200)]
AMD IOMMU: add MSI interrupt support

The AMD IOMMU can generate interrupts for various reasons. This patch
adds the basic interrupt enabling infrastructure to the driver.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: save pci_dev instead of devid
Joerg Roedel [Mon, 8 Sep 2008 13:55:10 +0000 (15:55 +0200)]
AMD IOMMU: save pci_dev instead of devid

We need the pci_dev later anyways to enable MSI for the IOMMU hardware.
So remove the devid pointing to the BDF and replace it with the pci_dev
structure where the IOMMU is implemented.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: save pci segment from ACPI tables
Joerg Roedel [Mon, 8 Sep 2008 12:48:04 +0000 (14:48 +0200)]
AMD IOMMU: save pci segment from ACPI tables

This patch adds the pci_seg field to the amd_iommu structure and fills
it with the corresponding value from the ACPI table.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: add event buffer allocation
Joerg Roedel [Fri, 5 Sep 2008 12:29:07 +0000 (14:29 +0200)]
AMD IOMMU: add event buffer allocation

This patch adds the allocation of a event buffer for each AMD IOMMU in
the system. The hardware will log events like device page faults or
other errors to this buffer once this is enabled.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: align alloc_coherent addresses properly
Joerg Roedel [Thu, 4 Sep 2008 17:18:02 +0000 (19:18 +0200)]
AMD IOMMU: align alloc_coherent addresses properly

The API definition for dma_alloc_coherent states that the bus address
has to be aligned to the next power of 2 boundary greater than the
allocation size. This is violated by AMD IOMMU so far and this patch
fixes it.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoAMD IOMMU: add branch hints to completion wait checks
Joerg Roedel [Thu, 4 Sep 2008 17:01:02 +0000 (19:01 +0200)]
AMD IOMMU: add branch hints to completion wait checks

This patch adds branch hints to the cecks if a completion_wait is
necessary. The completion_waits in the mapping paths are unlikly because
they will only happen on software implementations of AMD IOMMU which
don't exists today or with lazy IO/TLB flushing when the allocator wraps
around the address space. With lazy IO/TLB flushing the completion_wait
in the unmapping path is unlikely too.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>