Commit 99d7e48e8cb867f303439ad40e995e203841bd94
Committed by
Dave Airlie
1 parent
550e2d9270
Exists in
master
and in
7 other branches
drm: Add memory manager debug function
drm_mm_debug_table will print the memory manager state in table allowing to give a snapshot of the manager at given point in time. Usefull for debugging. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Showing 2 changed files with 21 additions and 0 deletions Side-by-side Diff
drivers/gpu/drm/drm_mm.c
... | ... | @@ -469,6 +469,26 @@ |
469 | 469 | } |
470 | 470 | EXPORT_SYMBOL(drm_mm_takedown); |
471 | 471 | |
472 | +void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) | |
473 | +{ | |
474 | + struct drm_mm_node *entry; | |
475 | + int total_used = 0, total_free = 0, total = 0; | |
476 | + | |
477 | + list_for_each_entry(entry, &mm->ml_entry, ml_entry) { | |
478 | + printk(KERN_DEBUG "%s 0x%08lx-0x%08lx: %8ld: %s\n", | |
479 | + prefix, entry->start, entry->start + entry->size, | |
480 | + entry->size, entry->free ? "free" : "used"); | |
481 | + total += entry->size; | |
482 | + if (entry->free) | |
483 | + total_free += entry->size; | |
484 | + else | |
485 | + total_used += entry->size; | |
486 | + } | |
487 | + printk(KERN_DEBUG "%s total: %d, used %d free %d\n", prefix, total, | |
488 | + total_used, total_free); | |
489 | +} | |
490 | +EXPORT_SYMBOL(drm_mm_debug_table); | |
491 | + | |
472 | 492 | #if defined(CONFIG_DEBUG_FS) |
473 | 493 | int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm) |
474 | 494 | { |
include/drm/drm_mm.h