Commit graph android_kernel_sony_sdm845/lib/dma-debug.c
Message SHA1
dma-debug: remove broken dma memory leak detection for 2.6.30
The feature needs some more work because the notfier which is used to
check for pending allocations is called before the device drivers
->remove() function. Therefore this feature reports false positives.

A real fix for this issue is to introduce a new notifier event which sent
_after_ the driver has deinitialized itself. That will done for the next
kernel version.

[ Impact: reduce the scope of CONFIG_DMA_API_DEBUG=y checks ]

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
LKML-Reference: <1240576557-22442-1-git-send-email-joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Joerg Roedel   authored and   Ingo Molnar   commited 2009-04-26 18:23:56 +02:00
314eeac9e3
dma-debug: fix printk formats (i386)
Fix printk format warnings in dma-debug:

  lib/dma-debug.c:645: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t'
  lib/dma-debug.c:662: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t'
  lib/dma-debug.c:676: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t'
  lib/dma-debug.c:686: warning: format '%016llx' expects type 'long long unsigned int', but argument 6 has type 'dma_addr_t'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Randy Dunlap   authored and   Linus Torvalds   commited 2009-03-30 14:28:59 -07:00
93c36ed834
dma-debug: make memory range checks more consistent
Impact: extend on-kernel-stack DMA debug checks to all !highmem pages

We only checked dma_map_single() - extend it to dma_map_page()
and dma_map_sg() as well.

Also, fix dma_map_single() corner case bug: make sure we dont
stack-check highmem (not mapped) pages.

Reported-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: iommu@lists.linux-foundation.org
LKML-Reference: <1237818908-26516-1-git-send-email-joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Joerg Roedel   authored and   Ingo Molnar   commited 2009-03-24 08:39:32 +01:00
9537a48ed4
dma-debug: warn of unmapping an invalid dma address
Impact: extend DMA-debug checks

Calling dma_unmap families against an invalid dma address should be a
bug.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Joerg Roedel <joerg.roedel@amd.com>
LKML-Reference: <20090319103743N.fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

FUJITA Tomonori   authored and   Ingo Molnar   commited 2009-03-19 08:39:48 +01:00
35d40952db
dma-debug: add a check dma memory leaks
Impact: allow architectures to monitor busses for dma mem leakage

This patch adds checking code to detect if a device has pending DMA
operations when it is about to be unbound from its device driver.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-17 12:56:49 +01:00
41531c8f5f
dma-debug: add checks for kernel text and rodata
Impact: get notified if a device dma maps illegal areas

This patch adds a check to print a warning message when a device driver
tries to map a memory area from the kernel text segment or rodata.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-17 12:56:48 +01:00
2e34bde185
dma-debug: print stacktrace of mapping path on unmap error
Impact: saves stacktrace of a dma mapping and prints it if there is an  error

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

David Woodhouse   authored and   Joerg Roedel   commited 2009-03-17 12:56:48 +01:00
6c132d1bcd
dma-debug: add function to dump dma mappings
This adds a function to dump the DMA mappings that the debugging code is
aware of -- either for a single device, or for _all_ devices.

This can be useful for debugging -- sticking a call to it in the DMA
page fault handler, for example, to see if the faulting address _should_
be mapped or not, and hence work out whether it's IOMMU bugs we're
seeing, or driver bugs.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

David Woodhouse   authored and   Joerg Roedel   commited 2009-03-17 12:56:39 +01:00
ac26c18bd3
dma-debug: add checks for sync_single_sg_*
Impact: add debug callbacks for dma_sync_sg_* functions

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:21 +01:00
a31fba5d68
dma-debug: add checks for sync_single_range_*
Impact: add debug callbacks for dma_sync_single_range_for_* functions

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:21 +01:00
948408ba3e
dma-debug: add checks for sync_single_*
Impact: add debug callbacks for dma_sync_single_for_* functions

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:20 +01:00
b9d2317e0c
dma-debug: add checking for [alloc|free]_coherent
Impact: add debug callbacks for dma_[alloc|free]_coherent

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:19 +01:00
6bfd449876
dma-debug: add add checking for map/unmap_sg
Impact: add debug callbacks for dma_{un}map_sg

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:18 +01:00
972aa45cea
dma-debug: add checking for map/unmap_page/single
Impact: add debug callbacks for dma_{un}map_[page|single]

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:18 +01:00
f62bc980e6
dma-debug: add core checking functions
Impact: add functions to check on dma unmap and sync

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:17 +01:00
2d62ece14f
dma-debug: add debugfs interface
Impact: add debugfs interface for configuring DMA-API debugging

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:16 +01:00
788dcfa6f1
dma-debug: add kernel command line parameters
Impact: add dma_debug= and dma_debug_entries= kernel parameters

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:16 +01:00
59d3daafa1
dma-debug: add initialization code
Impact: add code to initialize dma-debug core data structures

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:15 +01:00
6bf078715c
dma-debug: add allocator code
Impact: add allocator code for struct dma_debug_entry

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:15 +01:00
3b1e79ed73
dma-debug: add hash functions for dma_debug_entries
Impact: implement necessary functions for the core hash

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 20:35:04 +01:00
30dfa90cc8
dma-debug: add header file and core data structures
Impact: add groundwork for DMA-API debugging

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Joerg Roedel   commited 2009-03-05 15:11:12 +01:00
f2f45e5f3c