Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit faa6cfde authored by David S. Miller's avatar David S. Miller
Browse files

lmb: Make lmb debugging more useful.



Having to muck with the build and set DEBUG just to
get lmb_dump_all() to print things isn't very useful.

So use pr_info() and use an early boot param
"lmb=debug" so we can simply ask users to reboot
with this option when we need some debugging from
them.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4978db5b
Loading
Loading
Loading
Loading
+22 −11
Original line number Diff line number Diff line
@@ -19,31 +19,42 @@

struct lmb lmb;

static int lmb_debug;

static int __init early_lmb(char *p)
{
	if (p && strstr(p, "debug"))
		lmb_debug = 1;
	return 0;
}
early_param("lmb", early_lmb);

void lmb_dump_all(void)
{
#ifdef DEBUG
	unsigned long i;

	pr_debug("lmb_dump_all:\n");
	pr_debug("    memory.cnt		  = 0x%lx\n", lmb.memory.cnt);
	pr_debug("    memory.size		  = 0x%llx\n",
	if (!lmb_debug)
		return;

	pr_info("lmb_dump_all:\n");
	pr_info("    memory.cnt		  = 0x%lx\n", lmb.memory.cnt);
	pr_info("    memory.size		  = 0x%llx\n",
	    (unsigned long long)lmb.memory.size);
	for (i=0; i < lmb.memory.cnt ;i++) {
		pr_debug("    memory.region[0x%x].base       = 0x%llx\n",
		pr_info("    memory.region[0x%lx].base       = 0x%llx\n",
		    i, (unsigned long long)lmb.memory.region[i].base);
		pr_debug("		      .size     = 0x%llx\n",
		pr_info("		      .size     = 0x%llx\n",
		    (unsigned long long)lmb.memory.region[i].size);
	}

	pr_debug("    reserved.cnt	  = 0x%lx\n", lmb.reserved.cnt);
	pr_debug("    reserved.size	  = 0x%lx\n", lmb.reserved.size);
	pr_info("    reserved.cnt	  = 0x%lx\n", lmb.reserved.cnt);
	pr_info("    reserved.size	  = 0x%lx\n", lmb.reserved.size);
	for (i=0; i < lmb.reserved.cnt ;i++) {
		pr_debug("    reserved.region[0x%x].base       = 0x%llx\n",
		pr_info("    reserved.region[0x%lx].base       = 0x%llx\n",
		    i, (unsigned long long)lmb.reserved.region[i].base);
		pr_debug("		      .size     = 0x%llx\n",
		pr_info("		      .size     = 0x%llx\n",
		    (unsigned long long)lmb.reserved.region[i].size);
	}
#endif /* DEBUG */
}

static unsigned long lmb_addrs_overlap(u64 base1, u64 size1, u64 base2,