From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 02/14] tools/intel_vbt_decode: Extract dp_vswing()/dp_preemph()
Date: Thu, 04 Aug 2022 13:05:02 +0300 [thread overview]
Message-ID: <87zggknx2p.fsf@intel.com> (raw)
In-Reply-To: <20220715202520.23677-3-ville.syrjala@linux.intel.com>
On Fri, 15 Jul 2022, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> A bunch of places need to decode the DP vswing/preemph values.
> Fortunately all of them use the the same format so we can
> extract this stuff into a few helpers.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> tools/intel_vbt_decode.c | 110 ++++++++++++---------------------------
> 1 file changed, 34 insertions(+), 76 deletions(-)
>
> diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
> index 1ed03745bd05..13e927edd17f 100644
> --- a/tools/intel_vbt_decode.c
> +++ b/tools/intel_vbt_decode.c
> @@ -855,6 +855,28 @@ static void dump_dp_max_link_rate(uint16_t version, uint8_t dp_max_link_rate)
> link_rate / 100.0f, dp_max_link_rate);
> }
>
> +static const char *dp_vswing(u8 vswing)
> +{
> + switch (vswing) {
> + case 0: return "0.4V";
> + case 1: return "0.6V";
> + case 2: return "0.8V";
> + case 3: return "1.2V";
> + default: return "<unknown>";
> + }
> +}
> +
> +static const char *dp_preemph(u8 preemph)
> +{
> + switch (preemph) {
> + case 0: return "0dB";
> + case 1: return "3.5dB";
> + case 2: return "6dB";
> + case 3: return "9.5dB";
> + default: return "<unknown>";
> + }
> +}
> +
> static void dump_child_device(struct context *context,
> const struct child_device_config *child)
> {
> @@ -1422,44 +1444,12 @@ static void dump_edp(struct context *context,
> }
> printf("\t\t\tlanes: X%d",
> edp->fast_link_params[i].lanes + 1);
> - printf("\t\t\tpre-emphasis: ");
> - switch (edp->fast_link_params[i].preemphasis) {
> - case EDP_PREEMPHASIS_NONE:
> - printf("none\n");
> - break;
> - case EDP_PREEMPHASIS_3_5dB:
> - printf("3.5dB\n");
> - break;
> - case EDP_PREEMPHASIS_6dB:
> - printf("6dB\n");
> - break;
> - case EDP_PREEMPHASIS_9_5dB:
> - printf("9.5dB\n");
> - break;
> - default:
> - printf("(unknown value %d)\n",
> - edp->fast_link_params[i].preemphasis);
> - break;
> - }
> - printf("\t\t\tvswing: ");
> - switch (edp->fast_link_params[i].vswing) {
> - case EDP_VSWING_0_4V:
> - printf("0.4V\n");
> - break;
> - case EDP_VSWING_0_6V:
> - printf("0.6V\n");
> - break;
> - case EDP_VSWING_0_8V:
> - printf("0.8V\n");
> - break;
> - case EDP_VSWING_1_2V:
> - printf("1.2V\n");
> - break;
> - default:
> - printf("(unknown value %d)\n",
> - edp->fast_link_params[i].vswing);
> - break;
> - }
> + printf("\t\t\tpre-emphasis: %s (0x%x)\n",
> + dp_preemph(edp->fast_link_params[i].preemphasis),
> + edp->fast_link_params[i].preemphasis);
> + printf("\t\t\tvswing: %s (0x%x)\n",
> + dp_preemph(edp->fast_link_params[i].vswing),
Copy-paste fail, should be dp_vswing().
Otherwise,
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> + edp->fast_link_params[i].vswing);
>
> if (context->bdb->version >= 162) {
> bool val = (edp->edp_s3d_feature >> i) & 1;
> @@ -1511,44 +1501,12 @@ static void dump_edp(struct context *context,
>
> printf("\t\tFull link params provided: %s\n", YESNO(val));
> printf("\t\tFull link params:\n");
> - printf("\t\t\tpre-emphasis: ");
> - switch (edp->full_link_params[i].preemphasis) {
> - case EDP_PREEMPHASIS_NONE:
> - printf("none\n");
> - break;
> - case EDP_PREEMPHASIS_3_5dB:
> - printf("3.5dB\n");
> - break;
> - case EDP_PREEMPHASIS_6dB:
> - printf("6dB\n");
> - break;
> - case EDP_PREEMPHASIS_9_5dB:
> - printf("9.5dB\n");
> - break;
> - default:
> - printf("(unknown value %d)\n",
> - edp->full_link_params[i].preemphasis);
> - break;
> - }
> - printf("\t\t\tvswing: ");
> - switch (edp->full_link_params[i].vswing) {
> - case EDP_VSWING_0_4V:
> - printf("0.4V\n");
> - break;
> - case EDP_VSWING_0_6V:
> - printf("0.6V\n");
> - break;
> - case EDP_VSWING_0_8V:
> - printf("0.8V\n");
> - break;
> - case EDP_VSWING_1_2V:
> - printf("1.2V\n");
> - break;
> - default:
> - printf("(unknown value %d)\n",
> - edp->full_link_params[i].vswing);
> - break;
> - }
> + printf("\t\t\tpre-emphasis: %s (0x%x)\n",
> + dp_preemph(edp->full_link_params[i].preemphasis),
> + edp->full_link_params[i].preemphasis);
> + printf("\t\t\tvswing: %s (0x%x)\n",
> + dp_vswing(edp->full_link_params[i].vswing),
> + edp->full_link_params[i].vswing);
> }
>
> if (context->bdb->version >= 224) {
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-08-04 10:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-15 20:25 [igt-dev] [PATCH i-g-t 00/14] tools/intel_vbt_decode: Improve VBT decoder Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 01/14] tools/intel_vbt_decode: Simplify fast link training lane count Ville Syrjala
2022-08-04 10:03 ` Jani Nikula
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 02/14] tools/intel_vbt_decode: Extract dp_vswing()/dp_preemph() Ville Syrjala
2022-08-04 10:05 ` Jani Nikula [this message]
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 03/14] tools/intel_vbt_decode: update vbt defs from kernel Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 04/14] tools/intel_vbt_decode: Introduce panel_bits()/panel_bool() Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 05/14] tools/intel_vbt_decode: Remove pointless variables Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 06/14] tools/intel_vbt_decode: Extract lvds_config[] Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 07/14] tools/intel_vbt_decode: Extract panel_fitting[] Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 08/14] tools/intel_vbt_decode: Parse HDMI FRL rate Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 09/14] tools/intel_vbt_decode: Decode the "use VBT vswing tables" flag Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 10/14] tools/intel_vbt_decode: Decode eDP/DP max lane count Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 11/14] tools/intel_vbt_decode: Clean up driver features block decoding Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 12/14] tools/intel_vbt_decode: Decode AUX CH Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 13/14] tools/intel_vbt_decode: Adjust DVO port printing Ville Syrjala
2022-07-15 20:25 ` [igt-dev] [PATCH i-g-t 14/14] tools/intel_vbt_decode: Dump the compression structure index as decimal Ville Syrjala
2022-07-16 17:08 ` [igt-dev] ✓ Fi.CI.BAT: success for tools/intel_vbt_decode: Improve VBT decoder Patchwork
2022-07-16 19:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
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=87zggknx2p.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=ville.syrjala@linux.intel.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.