[PATCH] drm/buddy: Fix drm_buddy_print() to work with printk printers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If we try to use printk-based drm_printer, like drm_dbg_printer(),
output from drm_buddy_print() will be split into several lines:

 [drm] chunk_size: 1024KiB, total: 7MiB, free: 7MiB, clear_free: 0MiB
 [drm] order- 2
 [drm] free:        4 MiB
 [drm] , blocks: 1
 [drm] order- 1
 [drm] free:        2 MiB
 [drm] , blocks: 1
 [drm] order- 0
 [drm] free:        1 MiB
 [drm] , blocks: 1

Fix that by using single drm_printf() per line.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@xxxxxxxxx>
Cc: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@xxxxxxx>
---
 drivers/gpu/drm/drm_buddy.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/drm_buddy.c b/drivers/gpu/drm/drm_buddy.c
index 6a8e45e9d0ec..474a4689269b 100644
--- a/drivers/gpu/drm/drm_buddy.c
+++ b/drivers/gpu/drm/drm_buddy.c
@@ -1139,15 +1139,10 @@ void drm_buddy_print(struct drm_buddy *mm, struct drm_printer *p)
 			count++;
 		}
 
-		drm_printf(p, "order-%2d ", order);
-
 		free = count * (mm->chunk_size << order);
-		if (free < SZ_1M)
-			drm_printf(p, "free: %8llu KiB", free >> 10);
-		else
-			drm_printf(p, "free: %8llu MiB", free >> 20);
-
-		drm_printf(p, ", blocks: %llu\n", count);
+		drm_printf(p, "order-%2d free: %8llu %s, blocks: %llu\n",
+			   order, free >> (free < SZ_1M ? 10 : 20),
+			   free < SZ_1M ? "KiB" : "MiB", count);
 	}
 }
 EXPORT_SYMBOL(drm_buddy_print);
-- 
2.43.0




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux