All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Todd Previte <tprevite@gmail.com>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 04/17] drm/i915: Add debugfs information for	Displayport compliance testing
Date: Mon, 15 Dec 2014 15:11:15 +0200	[thread overview]
Message-ID: <87fvchjbws.fsf@intel.com> (raw)
In-Reply-To: <1418255597-4716-5-git-send-email-tprevite@gmail.com>

On Thu, 11 Dec 2014, Todd Previte <tprevite@gmail.com> wrote:
> This patch was part of "[PATCH 05/10] drm/i915: Add debugfs interface for
> Displayport debug and compliance testing". That patch has been split into
> smaller patches for ease of review and integration.
>
> This patch contains the definitions/declarations for some of the constants
> and data structures added to support debugfs output for Displayport compliance
> testing.
>
> Signed-off-by: Todd Previte <tprevite@gmail.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 41 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 479e0c1..65b4f5e 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -33,6 +33,7 @@
>  #include <linux/slab.h>
>  #include <linux/export.h>
>  #include <linux/list_sort.h>
> +#include <linux/string.h>
>  #include <asm/msr-index.h>
>  #include <drm/drmP.h>
>  #include "intel_drv.h"
> @@ -51,6 +52,46 @@ static const char *yesno(int v)
>  	return v ? "yes" : "no";
>  }
>  
> +#define DP_PARAMETER_COUNT		8
> +#define MAX_DP_CONFIG_LINE_COUNT	64
> +
> +enum dp_config_param {
> +	DP_CONFIG_PARAM_INVALID = -1,
> +	DP_CONFIG_PARAM_CONNECTOR = 0,
> +	DP_CONFIG_PARAM_LINK_RATE,
> +	DP_CONFIG_PARAM_LANE_COUNT,
> +	DP_CONFIG_PARAM_VOLTAGE_SWING,
> +	DP_CONFIG_PARAM_PREEMPHASIS,
> +	DP_CONFIG_PARAM_HRES,
> +	DP_CONFIG_PARAM_VRES,
> +	DP_CONFIG_PARAM_BPP

If you start the enum with DP_CONFIG_PARAM_CONNECTOR, you can add
DP_PARAMETER_COUNT here which will automatically be correct, and then
add DP_CONFIG_PARAM_INVALID = -1 after that.

> +};
> +
> +struct dp_config {
> +	enum dp_config_param type;
> +	unsigned long value;
> +};
> +
> +const char *dp_conf_tokens[DP_PARAMETER_COUNT] = {
> +		 "Connector",
> +		 "Link Rate",
> +		 "Lane Count",
> +		 "Voltage Swing Level",
> +		 "Preemphasis Level",
> +		 "Horizontal Resolution",
> +		 "Vertical Resolution",
> +		 "Bits Per Pixel"

It's customary to initialize these with designated initializers so that
the order here is not tied to the enum. I.e.

	[DP_CONFIG_PARAM_CONNECTOR] = "Connector",

> +};
> +/* Strings for writing out dp_configs */
> +#define DP_CONF_STR_CONNECTOR	"Connector:             %s\n"
> +#define DP_CONF_STR_LINKRATE	"Link Rate:             %02x\n"
> +#define DP_CONF_STR_LANES	"Lane Count:            %u\n"
> +#define DP_CONF_STR_VSWING	"Voltage Swing Level:   %u\n"
> +#define DP_CONF_STR_PREEMP	"Preemphasis Level:     %u\n"
> +#define DP_CONF_STR_HRES	"Horizontal Resolution: %d\n"
> +#define DP_CONF_STR_VRES	"Vertical Resolution:   %d\n"
> +#define DP_CONF_STR_BPP		"Bits Per Pixel:        %u\n"

I really don't like format strings as defines, because it moves the
format string away from the parameters that need to match the format.

A better option might be to have helper wrappers for seq_printf that
take the required parameters.

BR,
Jani.



> +
>  /* As the drm_debugfs_init() routines are called before dev->dev_private is
>   * allocated we need to hook into the minor for release. */
>  static int
> -- 
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-12-15 13:11 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-10 23:53 [intel-gfx] Displayport Compliance Testing V2 Todd Previte
2014-12-10 23:53 ` [PATCH 01/17] drm/i915: Add automated testing support for Displayport compliance testing Todd Previte
2014-12-12 20:25   ` Paulo Zanoni
2015-02-18 16:36     ` Todd Previte
2014-12-10 23:53 ` [PATCH 02/17] drm/i915: Update intel_dp_check_link_status() " Todd Previte
2014-12-15 16:36   ` Paulo Zanoni
2015-02-18 16:36     ` Todd Previte
2015-04-06 23:52       ` Paulo Zanoni
2014-12-10 23:53 ` [PATCH 03/17] drm/i915: Add a delay in Displayport AUX transactions for " Todd Previte
2014-12-15 17:35   ` Paulo Zanoni
2015-02-18 16:37     ` Todd Previte
2014-12-10 23:53 ` [PATCH 04/17] drm/i915: Add debugfs information for Displayport " Todd Previte
2014-12-15 13:11   ` Jani Nikula [this message]
2015-02-18 16:37     ` Todd Previte
2014-12-10 23:53 ` [PATCH 05/17] drm/i915: Add file ops for Displayport configuration in debugfs Todd Previte
2014-12-10 23:53 ` [PATCH 06/17] drm/i915: Add support functions in debugfs for handling Displayport compliance configuration Todd Previte
2014-12-15 19:25   ` Paulo Zanoni
2014-12-10 23:53 ` [PATCH 07/17] drm/i915: Add and implement the debugfs 'show' functions for Displayport compliance Todd Previte
2014-12-16 19:00   ` Paulo Zanoni
2014-12-17 20:12     ` Daniel Vetter
2015-02-18 16:45       ` Todd Previte
2015-02-18 16:41     ` Todd Previte
2014-12-10 23:53 ` [PATCH 08/17] drm/i915: Add Displayport link configuration structure Todd Previte
2014-12-10 23:53 ` [PATCH 09/17] drm/i915: Add config parsing utilities in debugfs for Displayport compliance Todd Previte
2014-12-10 23:53 ` [PATCH 10/17] drm/i915: Implement the 'open' and 'write' debugfs functions " Todd Previte
2014-12-10 23:53 ` [PATCH 11/17] drm/i915: Update the EDID automated compliance test function Todd Previte
2014-12-17 16:25   ` Paulo Zanoni
2014-12-17 20:20     ` Daniel Vetter
     [not found]       ` <54E4C490.7080001@gmail.com>
2015-02-20 16:55         ` Daniel Vetter
2015-02-18 16:47     ` Todd Previte
2015-02-23 15:55   ` Daniel Vetter
2014-12-10 23:53 ` [PATCH 12/17] drm/i915: Update intel_dp_compute_config() to handle compliance test requests Todd Previte
2014-12-17 17:04   ` Paulo Zanoni
2015-01-07 19:28     ` Clint Taylor
2015-02-18 16:59       ` Todd Previte
2014-12-10 23:53 ` [PATCH 13/17] drm/i915: Update intel_dp_hpd_pulse() to check link status for non-MST operation Todd Previte
2014-12-17 17:57   ` Paulo Zanoni
2014-12-17 20:30     ` Daniel Vetter
2015-02-18 17:06       ` Todd Previte
2015-02-18 17:06     ` Todd Previte
2014-12-10 23:53 ` [PATCH 14/17] drm/i915: Add debugfs function to check connector status for compliance testing Todd Previte
2014-12-17 18:03   ` Paulo Zanoni
2015-02-18 17:08     ` Todd Previte
2015-02-18 23:09       ` Todd Previte
2014-12-10 23:53 ` [PATCH 15/17] drm/i915: Update debugfs functions for Displayport " Todd Previte
2014-12-10 23:53 ` [PATCH 16/17] drm/i915: Add new debugfs file for Displaypor compliance test control Todd Previte
2014-12-10 23:53 ` [PATCH 17/17] drm/i915: Add debugfs write and test param parsing function for DP " Todd Previte
2014-12-16  7:13   ` shuang.he

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fvchjbws.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=tprevite@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.