From owner-svn-src-stable-9@FreeBSD.ORG Thu Apr 4 05:39:38 2013 Return-Path: Delivered-To: svn-src-stable-9@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DAED0630; Thu, 4 Apr 2013 05:39:38 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B056D741; Thu, 4 Apr 2013 05:39:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r345dcMd027930; Thu, 4 Apr 2013 05:39:38 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r345dcY8027925; Thu, 4 Apr 2013 05:39:38 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201304040539.r345dcY8027925@svn.freebsd.org> From: Konstantin Belousov Date: Thu, 4 Apr 2013 05:39:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r249081 - stable/9/sys/dev/drm2 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Apr 2013 05:39:38 -0000 Author: kib Date: Thu Apr 4 05:39:37 2013 New Revision: 249081 URL: http://svnweb.freebsd.org/changeset/base/249081 Log: MFC r247833: Import the drm_mm_debug_table() function. Modified: stable/9/sys/dev/drm2/drm_mm.c stable/9/sys/dev/drm2/drm_mm.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/drm2/drm_mm.c ============================================================================== --- stable/9/sys/dev/drm2/drm_mm.c Thu Apr 4 05:36:11 2013 (r249080) +++ stable/9/sys/dev/drm2/drm_mm.c Thu Apr 4 05:39:37 2013 (r249081) @@ -561,3 +561,40 @@ void drm_mm_takedown(struct drm_mm * mm) KASSERT(mm->num_unused == 0, ("num_unused != 0")); } + +void drm_mm_debug_table(struct drm_mm *mm, const char *prefix) +{ + struct drm_mm_node *entry; + unsigned long total_used = 0, total_free = 0, total = 0; + unsigned long hole_start, hole_end, hole_size; + + hole_start = drm_mm_hole_node_start(&mm->head_node); + hole_end = drm_mm_hole_node_end(&mm->head_node); + hole_size = hole_end - hole_start; + if (hole_size) + printf("%s 0x%08lx-0x%08lx: %8lu: free\n", + prefix, hole_start, hole_end, + hole_size); + total_free += hole_size; + + drm_mm_for_each_node(entry, mm) { + printf("%s 0x%08lx-0x%08lx: %8lu: used\n", + prefix, entry->start, entry->start + entry->size, + entry->size); + total_used += entry->size; + + if (entry->hole_follows) { + hole_start = drm_mm_hole_node_start(entry); + hole_end = drm_mm_hole_node_end(entry); + hole_size = hole_end - hole_start; + printf("%s 0x%08lx-0x%08lx: %8lu: free\n", + prefix, hole_start, hole_end, + hole_size); + total_free += hole_size; + } + } + total = total_free + total_used; + + printf("%s total: %lu, used %lu free %lu\n", prefix, total, + total_used, total_free); +} Modified: stable/9/sys/dev/drm2/drm_mm.h ============================================================================== --- stable/9/sys/dev/drm2/drm_mm.h Thu Apr 4 05:36:11 2013 (r249080) +++ stable/9/sys/dev/drm2/drm_mm.h Thu Apr 4 05:39:37 2013 (r249081) @@ -182,4 +182,6 @@ void drm_mm_init_scan_with_range(struct int drm_mm_scan_add_block(struct drm_mm_node *node); int drm_mm_scan_remove_block(struct drm_mm_node *node); +void drm_mm_debug_table(struct drm_mm *mm, const char *prefix); + #endif