[Intel-gfx] tools/intel_reg: enable quiet option for mmio

Submitted by clinton.a.taylor@intel.com on July 19, 2016, 10:43 p.m.

Details

Message ID 1468968215-24290-1-git-send-email-clinton.a.taylor@intel.com
State New
Headers show
Series "tools/intel_reg: enable quiet option for mmio" ( rev: 1 ) in IGT (deprecated)

Not browsing as part of any series.

Commit Message

clinton.a.taylor@intel.com July 19, 2016, 10:43 p.m.
From: Clint Taylor <clinton.a.taylor@intel.com>

Skip decode options and formatting when the quiet option is used during
mmio reads. Makes intel_reg usable by scripts to return MMIO values.

Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
---
 tools/intel_reg.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/tools/intel_reg.c b/tools/intel_reg.c
index 73fbd6d..e869292 100644
--- a/tools/intel_reg.c
+++ b/tools/intel_reg.c
@@ -202,7 +202,9 @@  static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
 
 	if (reg->port_desc.port == PORT_MMIO) {
 		/* Omit port name for MMIO, optionally include MMIO offset. */
-		if (reg->mmio_offset)
+		if (config->verbosity < 0)
+			printf("0x%08x\n", val);
+		else if (reg->mmio_offset)
 			printf("%24s (0x%08x:0x%08x): 0x%08x%s",
 			       reg->name ?: "",
 			       reg->mmio_offset, reg->addr,
@@ -706,6 +708,9 @@  static int read_reg_spec(struct config *config)
 	struct stat st;
 	int r;
 
+	if (config->verbosity < 0)
+		goto builtin;
+
 	path = config->specfile;
 	if (!path)
 		path = getenv("INTEL_REG_SPEC");

Comments

On Wed, 20 Jul 2016, clinton.a.taylor@intel.com wrote:
> From: Clint Taylor <clinton.a.taylor@intel.com>
>
> Skip decode options and formatting when the quiet option is used during
> mmio reads. Makes intel_reg usable by scripts to return MMIO values.
>
> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
> ---
>  tools/intel_reg.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/intel_reg.c b/tools/intel_reg.c
> index 73fbd6d..e869292 100644
> --- a/tools/intel_reg.c
> +++ b/tools/intel_reg.c
> @@ -202,7 +202,9 @@ static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
>  
>  	if (reg->port_desc.port == PORT_MMIO) {
>  		/* Omit port name for MMIO, optionally include MMIO offset. */
> -		if (reg->mmio_offset)
> +		if (config->verbosity < 0)
> +			printf("0x%08x\n", val);

Please do not conflate verbosity with output format. Please add, say,
--raw or --output=raw option instead.

> +		else if (reg->mmio_offset)
>  			printf("%24s (0x%08x:0x%08x): 0x%08x%s",
>  			       reg->name ?: "",
>  			       reg->mmio_offset, reg->addr,
> @@ -706,6 +708,9 @@ static int read_reg_spec(struct config *config)
>  	struct stat st;
>  	int r;
>  
> +	if (config->verbosity < 0)
> +		goto builtin;
> +

This is just wrong. Why should *verbosity* matter in the selection of
spec file? Why should verbosity potentially *change* the interpretation
of a register name?

BR,
Jani.

>  	path = config->specfile;
>  	if (!path)
>  		path = getenv("INTEL_REG_SPEC");