15 Jun, 2009
2 commits
-
The current code is not very careful when it builds reference
dma_debug_entries which get passed to hash_bucket_find(). But since this
function changed to a best-fit algorithm these entries have to be more
acurate. This patch adds this higher level of accuracy.Signed-off-by: Joerg Roedel
-
If we don't check for sg_call_ents the hash_bucket_find function might
still return the wrong dma_debug_entry for sg mappings.Signed-off-by: Joerg Roedel
09 Jun, 2009
5 commits
-
…joro/linux-2.6-iommu into core/iommu
-
That prefix is already included in the DUMP_printk macro. So there is no
need to repeat it in the format string.Signed-off-by: Joerg Roedel
-
This fixes a bug with a device that could not be assigned to a KVM guest
because it is still assigned to a dma_ops protection domain.[chrisw: simply remove WARN_ON(), will always fire since dev->driver
will be pci-sub]Signed-off-by: Chris Wright
Signed-off-by: Joerg Roedel -
Handling this event causes device assignment in KVM to fail because the
device gets re-attached as soon as the pci-stub registers as the driver
for the device.Signed-off-by: Joerg Roedel
08 Jun, 2009
5 commits
-
This patch makes the driver_filter function more readable by
reorganizing the code. The removal of a code code block to an upper
indentation level makes hard-to-read line-wraps unnecessary.Signed-off-by: Joerg Roedel
-
There is no need to disable/enable irqs on each loop iteration. Just
disable irqs for the whole time the loop runs.Signed-off-by: Joerg Roedel
-
The pr_* macros are shorter than the old printk(KERN_ ...) variant.
Change the dma-debug code to use the new macros and save a few
unnecessary line breaks. If lines don't break the source code can also
be grepped more easily.Signed-off-by: Joerg Roedel
-
This patch changes the recent updates to dma-debug to conform with
coding style guidelines of Linux and the -tip tree.Signed-off-by: Joerg Roedel
-
Last patch series introduced some new comment which does not fit the
Kernel comment style guidelines. Fix it with this patch.Signed-off-by: Joerg Roedel
07 Jun, 2009
3 commits
-
…/joro/linux-2.6-iommu into core/iommu
-
Merge reason: This branch was on an -rc5 base so pull almost-2.6.30
to resync with the latest upstream fixes and make sure
the combination works fine.Signed-off-by: Ingo Molnar
-
Some device drivers map the same physical address multiple times to a
dma address. Without an IOMMU this results in the same dma address being
put into the dma-debug hash multiple times. With a first-fit match in
hash_bucket_find() this function may return the wrong dma_debug_entry.This can result in false positive warnings. This patch fixes it by
changing the first-fit behavior of hash_bucket_find() into a best-fit
algorithm.Reported-by: Torsten Kaiser
Reported-by: FUJITA Tomonori
Signed-off-by: Joerg Roedel
Cc: lethal@linux-sh.org
Cc: just.for.lkml@googlemail.com
Cc: hancockrwd@gmail.com
Cc: jens.axboe@oracle.com
Cc: bharrosh@panasas.com
Cc: FUJITA Tomonori
Cc: Linus Torvalds
Cc:
LKML-Reference:
Signed-off-by: Ingo Molnar
06 Jun, 2009
1 commit
-
The current code to set up the GART as an IOMMU enables GART
translations before it removes the aperture from the kernel memory
map, sets the GART PTEs to UC, sets up the guard and scratch
pages, or does a wbinvd(). This leaves the possibility of cache
aliasing open and can cause system crashes.Re-order the code so as to enable the GART translations only
after all safeguards are in place and the tlb has been flushed.AMD has tested this patch on both Istanbul systems and 1st
generation Opteron systems with APG enabled and seen no adverse
effects. Istanbul systems with HT Assist enabled sometimes
see MCE errors due to cache artifacts with the unmodified
code.Signed-off-by: Mark Langsdorf
Cc:
Cc: Joerg Roedel
Cc: akpm@linux-foundation.org
Cc: jbarnes@virtuousgeek.org
Signed-off-by: Ingo Molnar
05 Jun, 2009
4 commits
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
drm/i915: Remove a bad BUG_ON in the fence management code. -
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm: ignore EDID with really tiny modes.
drm: don't associate _DRM_DRIVER maps with a master
drm/i915: intel_lvds.c fix section mismatch
drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms.
drm: set permissions on edid file to 0444
drm: add newlines to text sysfs files
drm/radeon: fix ring free alignment calculations
drm: fix irq naming for kms drivers. -
While running 20 parallel instances of dd as follows:
#!/bin/bash
for i in `seq 1 20`; do
dd if=/dev/zero of=/export/hda3/dd_$i bs=1073741824 count=1 &
done
waiton a 16G machine, we noticed that rather than just killing the processes,
the entire kernel went down. Stracing dd reveals that it first does an
mmap2, which makes 1GB worth of zero page mappings. Then it performs a
read on those pages from /dev/zero, and finally it performs a write.The machine died during the reads. Looking at the code, it was noticed
that /dev/zero's read operation had been changed by
557ed1fa2620dc119adb86b34c614e152a629a80 ("remove ZERO_PAGE") from giving
zero page mappings to actually zeroing the page.The zeroing of the pages causes physical pages to be allocated to the
process. But, when the process exhausts all the memory that it can, the
kernel cannot kill it, as it is still in the kernel mode allocating more
memory. Consequently, the kernel eventually crashes.To fix this, I propose that when a fatal signal is pending during
/dev/zero read operation, we simply return and let the user process die.Signed-off-by: Salman Qazi
Cc: Nick Piggin
Signed-off-by: Andrew Morton
[ Modified error return and comment trivially. - Linus]
Signed-off-by: Linus Torvalds -
We don't set up the canary; let's disable stack protector on boot.c so
we can get into lguest_init, then set it up. As a side effect,
switch_to_new_gdt() sets up %fs for us properly too.Signed-off-by: Rusty Russell
Acked-by: Tejun Heo
Signed-off-by: Linus Torvalds
04 Jun, 2009
9 commits
-
This could be triggered by a gtt mapping fault on 965 that decides to
remove the fence from another object that happens to be active currently.
Since the other object doesn't rely on the fence reg for its execution, we
don't wait for it to finish. We'll soon be not waiting on 915 most of the
time as well, so just drop the BUG_ON.Signed-off-by: Eric Anholt
-
Some EDIDs lie and report tiny modes that aren't possible. Ignore
these modes.Signed-off-by: Adam Jackson
Signed-off-by: Dave Airlie -
A driver will use the _DRM_DRIVER map flag to indicate that it wants
to be responsible for removing the map itself, bypassing the DRM's
automagic cleanup code.Since the multi-master changes this has been broken, resulting in some
drivers having their registers unmapped before it's finished with them.Signed-off-by: Ben Skeggs
Signed-off-by: Dave Airlie -
intel_no_lvds[] does not require __initdata as it is used only by
void intel_lvds_init(struct drm_device *dev).
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: Dave Airlie -
Making the drm_crtc.c code recognize the DPMS property and invoke the
connector->dpms function doesn't remove any capability from the driver while
reducing code duplication.That just highlighted the problem with the existing DPMS functions which
could turn off the connector, but failed to turn off any relevant crtcs. The
new drm_helper_connector_dpms function manages all of that, using the
drm_helper-specific crtc and encoder dpms functions, automatically computing
the appropriate DPMS level for each object in the system.This fixes the current troubles in the i915 driver which left PLLs, pipes
and planes running while in DPMS_OFF mode or even while they were unused.Signed-off-by: Keith Packard
Signed-off-by: Dave Airlie -
Without initializing the sysfs attributes for the edid file,
it was created with mode 0, making it difficult for applications to use.Signed-off-by: Keith Packard
Signed-off-by: Dave Airlie -
The contents of various simple text files in sysfs should end with
a newline to make them easier to read from the console.Signed-off-by: Keith Packard
Signed-off-by: Dave Airlie -
fd.o bz#21849
We were aligning to +16 dwords, instead of to the next 16dword
boundary in the ring. Fix the calculation to go to the next 16dword
boundary when space checking.Signed-off-by: Dave Airlie
-
allocating devname in the i915 driver was a hack originally and I
forgot to figure out how to do this properly back then.So this is the cleaner version that just picks devname or driver name
in the irq code.It removes the devname allocs from the i915 driver.
Signed-off-by: Dave Airlie
03 Jun, 2009
7 commits
-
In alloc_coherent there is an omitted unlock on the path where mapping
fails. Add the unlock.[ Impact: fix lock imbalance in alloc_coherent ]
Signed-off-by: Jiri Slaby
Cc: Joerg Roedel
Signed-off-by: Joerg Roedel -
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/pmac: Update PowerMac 32-bit defconfig -
Ideally we should have a directory of drivers and a link to the 'active'
driver. For now just show the first device which is effectively the existing
semantics without a warning.This is an update on the original buggy patch that I then forgot to
resubmit. Confusingly it was proposed by Red Hat, written by Etched Pixels
fixed and submitted by Intel ...Resolves-Bug: http://bugzilla.kernel.org/show_bug.cgi?id=9749
Signed-off-by: Alan Cox
Signed-off-by: Linus Torvalds -
This matches Bartlomiej's patch for ide_pci_generic:
c339dfdd65b52bfd947ab29d1210314a2f6d622dIn the libata case netcell has its own mini driver. I suspect this fix is
actually only needed for some firmware revs but it does no harm either way.Signed-off-by: Alan Cox
Signed-off-by: Linus Torvalds -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
net_cls: fix unconfigured struct tcf_proto keeps chaining and avoid kernel panic when we use cls_cgroup
e1000: add missing length check to e1000 receive routine
forcedeth: add phy_power_down parameter, leave phy powered up by default (v2)
Bluetooth: Remove useless flush_work() causing lockdep warnings -
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: prevent deadlock in xfs_qm_shake()
xfs: fix overflow in xfs_growfs_data_private
xfs: fix double unlock in xfs_swap_extents()
02 Jun, 2009
4 commits
-
This patch adds the driver filter feature to the dma-debug
documentation.Signed-off-by: Joerg Roedel
-
This patch add the dma_debug_driver= boot parameter to enable the driver
filter for early boot.Signed-off-by: Joerg Roedel
-
This patch adds the dma-api/driver_filter file to debugfs. The root user
can write a driver name into this file to see only dma-api errors for
that particular driver in the kernel log. Writing an empty string to
that file disables the driver filter.Signed-off-by: Joerg Roedel