diff mbox

ASoC: arizona: Make logging of FLL calculations clearer

Message ID 1456236992-32028-1-git-send-email-rf@opensource.wolfsonmicro.com (mailing list archive)
State Accepted
Commit 2595b7fe1aa3a1dfc47e549b39f7c35c5ce8a56d
Headers show

Commit Message

Richard Fitzgerald Feb. 23, 2016, 2:16 p.m. UTC
The debug logging of FLL calculations was confusing. Values were
printed in hex without indicating this by a leading 0x, and
despite these normally being required in decimal. Also where the
register value isn't the actual value (it s a power-of-two or
0 means 1, 1 means 2, ...)  it was unclear whether the actual or
register value was shown.

This patch changes the log print so that all mathematical values
are shown in decimal, all register values are shown in hex with a
0x prefix, and where the register value isn't the actual integer
value the decimal integer value is shown in () after the hex
register value.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
---
 sound/soc/codecs/arizona.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Mark Brown Feb. 24, 2016, 4:08 a.m. UTC | #1
On Tue, Feb 23, 2016 at 02:16:32PM +0000, Richard Fitzgerald wrote:
> The debug logging of FLL calculations was confusing. Values were
> printed in hex without indicating this by a leading 0x, and
> despite these normally being required in decimal. Also where the
> register value isn't the actual value (it s a power-of-two or
> 0 means 1, 1 means 2, ...)  it was unclear whether the actual or
> register value was shown.

I think that stuff was originally based on the way the datasheets quote
things:

> -	arizona_fll_dbg(fll, "FRATIO=%x(%d) OUTDIV=%x REFCLK_DIV=%x\n",

the hex(decimal) but there is certainly very familiar from some of
those.
Richard Fitzgerald Feb. 24, 2016, 5:39 p.m. UTC | #2
On 24/02/16 04:08, Mark Brown wrote:
> On Tue, Feb 23, 2016 at 02:16:32PM +0000, Richard Fitzgerald wrote:
>> The debug logging of FLL calculations was confusing. Values were
>> printed in hex without indicating this by a leading 0x, and
>> despite these normally being required in decimal. Also where the
>> register value isn't the actual value (it s a power-of-two or
>> 0 means 1, 1 means 2, ...)  it was unclear whether the actual or
>> register value was shown.
> I think that stuff was originally based on the way the datasheets quote
> things:
>
>> -	arizona_fll_dbg(fll, "FRATIO=%x(%d) OUTDIV=%x REFCLK_DIV=%x\n",
> the hex(decimal) but there is certainly very familiar from some of
> those.
Indeed, and it was fine on the first codec. Now we've got various 
revisions of the FLL with some fields having different meanings, human 
error started to creep into interpreting the debug.
Mark Brown Feb. 25, 2016, 1:53 a.m. UTC | #3
On Wed, Feb 24, 2016 at 05:39:32PM +0000, Richard Fitzgerald wrote:
> On 24/02/16 04:08, Mark Brown wrote:

> >I think that stuff was originally based on the way the datasheets quote
> >things:

> >>-	arizona_fll_dbg(fll, "FRATIO=%x(%d) OUTDIV=%x REFCLK_DIV=%x\n",
> >the hex(decimal) but there is certainly very familiar from some of
> >those.

> Indeed, and it was fine on the first codec. Now we've got various revisions
> of the FLL with some fields having different meanings, human error started
> to creep into interpreting the debug.

I'm not saying it's a bad idea to change it, just pointing out where
it's likely to have come from (and the fact that the way the datasheets
were writing this was always a bit weird).
diff mbox

Patch

diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 913cfa8..92d22a0 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -2149,11 +2149,12 @@  static int arizona_calc_fll(struct arizona_fll *fll,
 		return -EINVAL;
 	}
 
-	arizona_fll_dbg(fll, "N=%x THETA=%x LAMBDA=%x\n",
+	arizona_fll_dbg(fll, "N=%d THETA=%d LAMBDA=%d\n",
 			cfg->n, cfg->theta, cfg->lambda);
-	arizona_fll_dbg(fll, "FRATIO=%x(%d) OUTDIV=%x REFCLK_DIV=%x\n",
-			cfg->fratio, cfg->fratio, cfg->outdiv, cfg->refdiv);
-	arizona_fll_dbg(fll, "GAIN=%d\n", cfg->gain);
+	arizona_fll_dbg(fll, "FRATIO=0x%x(%d) OUTDIV=%d REFCLK_DIV=0x%x(%d)\n",
+			cfg->fratio, ratio, cfg->outdiv,
+			cfg->refdiv, 1 << cfg->refdiv);
+	arizona_fll_dbg(fll, "GAIN=0x%x(%d)\n", cfg->gain, 1 << cfg->gain);
 
 	return 0;