All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: jani.nikula@intel.com
Subject: [i-g-t PATCH 09/10] tools/intel_vbt_decode: migrate child device type bits decoding to kernel defs
Date: Mon, 28 Aug 2017 15:20:01 +0300	[thread overview]
Message-ID: <6ea8fdbd36960469c70e21a3b6e5c088ead3062e.1503922610.git.jani.nikula@intel.com> (raw)
In-Reply-To: <cover.1503922610.git.jani.nikula@intel.com>
In-Reply-To: <cover.1503922610.git.jani.nikula@intel.com>

This lets us use the verbatim copy of the kernel intel_vbt_defs.h file.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 tools/intel_bios.h       | 18 ------------------
 tools/intel_vbt_decode.c | 47 +++++++++++++++++++++++++----------------------
 tools/intel_vbt_defs.h   | 16 ++++++++++++++++
 3 files changed, 41 insertions(+), 40 deletions(-)

diff --git a/tools/intel_bios.h b/tools/intel_bios.h
index 9f0bc84f372c..85aa38e085be 100644
--- a/tools/intel_bios.h
+++ b/tools/intel_bios.h
@@ -38,24 +38,6 @@
 #define DEVICE_HANDLE_LPF1	0x08
 #define DEVICE_HANDLE_LFP2	0x80
 
-/* device type bits */
-#define DEVICE_TYPE_CLASS_EXTENSION	15
-#define DEVICE_TYPE_POWER_MANAGEMENT	14
-#define DEVICE_TYPE_HOTPLUG_SIGNALING	13
-#define DEVICE_TYPE_INTERNAL_CONNECTOR	12
-#define DEVICE_TYPE_NOT_HDMI_OUTPUT	11
-#define DEVICE_TYPE_MIPI_OUTPUT		10
-#define DEVICE_TYPE_COMPOSITE_OUTPUT	9
-#define DEVICE_TYPE_DIAL_CHANNEL	8
-#define DEVICE_TYPE_CONTENT_PROTECTION	7
-#define DEVICE_TYPE_HIGH_SPEED_LINK	6
-#define DEVICE_TYPE_LVDS_SIGNALING	5
-#define DEVICE_TYPE_TMDS_DVI_SIGNALING	4
-#define DEVICE_TYPE_VIDEO_SIGNALING	3
-#define DEVICE_TYPE_DISPLAYPORT_OUTPUT	2
-#define DEVICE_TYPE_DIGITAL_OUTPUT	1
-#define DEVICE_TYPE_ANALOG_OUTPUT	0
-
 #define DEVICE_TYPE_DP_DVI		0x68d6
 #define DEVICE_TYPE_DVI			0x68d2
 #define DEVICE_TYPE_MIPI		0x7cc2
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index ed0b90bd63e6..d8ca0ee87198 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -299,34 +299,37 @@ static const char *child_device_type(unsigned short type)
 	return "unknown";
 }
 
-static const char * const child_device_type_bits[] = {
-	[DEVICE_TYPE_CLASS_EXTENSION] = "Class extension",
-	[DEVICE_TYPE_POWER_MANAGEMENT] = "Power management",
-	[DEVICE_TYPE_HOTPLUG_SIGNALING] = "Hotplug signaling",
-	[DEVICE_TYPE_INTERNAL_CONNECTOR] = "Internal connector",
-	[DEVICE_TYPE_NOT_HDMI_OUTPUT] = "HDMI output", /* decoded as inverse */
-	[DEVICE_TYPE_MIPI_OUTPUT] = "MIPI output",
-	[DEVICE_TYPE_COMPOSITE_OUTPUT] = "Composite output",
-	[DEVICE_TYPE_DIAL_CHANNEL] = "Dual channel",
-	[DEVICE_TYPE_CONTENT_PROTECTION] = "Content protection",
-	[DEVICE_TYPE_HIGH_SPEED_LINK] = "High speel link",
-	[DEVICE_TYPE_LVDS_SIGNALING] = "LVDS signaling",
-	[DEVICE_TYPE_TMDS_DVI_SIGNALING] = "TMDS/DVI signaling",
-	[DEVICE_TYPE_VIDEO_SIGNALING] = "Video signaling",
-	[DEVICE_TYPE_DISPLAYPORT_OUTPUT] = "DisplayPort output",
-	[DEVICE_TYPE_DIGITAL_OUTPUT] = "Digital output",
-	[DEVICE_TYPE_ANALOG_OUTPUT] = "Analog output",
+static const struct {
+	unsigned short mask;
+	const char *name;
+} child_device_type_bits[] = {
+	{ DEVICE_TYPE_CLASS_EXTENSION, "Class extension" },
+	{ DEVICE_TYPE_POWER_MANAGEMENT, "Power management" },
+	{ DEVICE_TYPE_HOTPLUG_SIGNALING, "Hotplug signaling" },
+	{ DEVICE_TYPE_INTERNAL_CONNECTOR, "Internal connector" },
+	{ DEVICE_TYPE_NOT_HDMI_OUTPUT, "HDMI output" }, /* decoded as inverse */
+	{ DEVICE_TYPE_MIPI_OUTPUT, "MIPI output" },
+	{ DEVICE_TYPE_COMPOSITE_OUTPUT, "Composite output" },
+	{ DEVICE_TYPE_DUAL_CHANNEL, "Dual channel" },
+	{ 1 << 7, "Content protection" },
+	{ DEVICE_TYPE_HIGH_SPEED_LINK, "High speel link" },
+	{ DEVICE_TYPE_LVDS_SINGALING, "LVDS signaling" },
+	{ DEVICE_TYPE_TMDS_DVI_SIGNALING, "TMDS/DVI signaling" },
+	{ DEVICE_TYPE_VIDEO_SIGNALING, "Video signaling" },
+	{ DEVICE_TYPE_DISPLAYPORT_OUTPUT, "DisplayPort output" },
+	{ DEVICE_TYPE_DIGITAL_OUTPUT, "Digital output" },
+	{ DEVICE_TYPE_ANALOG_OUTPUT, "Analog output" },
 };
 
 static void dump_child_device_type_bits(uint16_t type)
 {
-	int bit;
+	int i;
 
-	type ^= 1 << DEVICE_TYPE_NOT_HDMI_OUTPUT;
+	type ^= DEVICE_TYPE_NOT_HDMI_OUTPUT;
 
-	for (bit = 15; bit >= 0; bit--) {
-		if (type & (1 << bit))
-			printf("\t\t\t%s\n", child_device_type_bits[bit]);
+	for (i = 0; i < ARRAY_SIZE(child_device_type_bits); i++) {
+		if (child_device_type_bits[i].mask & type)
+			printf("\t\t\t%s\n", child_device_type_bits[i].name);
 	}
 }
 
diff --git a/tools/intel_vbt_defs.h b/tools/intel_vbt_defs.h
index 9513f9dc21ab..404569c9fdfc 100644
--- a/tools/intel_vbt_defs.h
+++ b/tools/intel_vbt_defs.h
@@ -218,6 +218,22 @@ struct bdb_general_features {
 #define DEVICE_TYPE_DP_DUAL_MODE	0x60D6
 #define DEVICE_TYPE_eDP			0x78C6
 
+#define DEVICE_TYPE_CLASS_EXTENSION	(1 << 15)
+#define DEVICE_TYPE_POWER_MANAGEMENT	(1 << 14)
+#define DEVICE_TYPE_HOTPLUG_SIGNALING	(1 << 13)
+#define DEVICE_TYPE_INTERNAL_CONNECTOR	(1 << 12)
+#define DEVICE_TYPE_NOT_HDMI_OUTPUT	(1 << 11)
+#define DEVICE_TYPE_MIPI_OUTPUT		(1 << 10)
+#define DEVICE_TYPE_COMPOSITE_OUTPUT	(1 << 9)
+#define DEVICE_TYPE_DUAL_CHANNEL	(1 << 8)
+#define DEVICE_TYPE_HIGH_SPEED_LINK	(1 << 6)
+#define DEVICE_TYPE_LVDS_SINGALING	(1 << 5)
+#define DEVICE_TYPE_TMDS_DVI_SIGNALING	(1 << 4)
+#define DEVICE_TYPE_VIDEO_SIGNALING	(1 << 3)
+#define DEVICE_TYPE_DISPLAYPORT_OUTPUT	(1 << 2)
+#define DEVICE_TYPE_DIGITAL_OUTPUT	(1 << 1)
+#define DEVICE_TYPE_ANALOG_OUTPUT	(1 << 0)
+
 /*
  * Bits we care about when checking for DEVICE_TYPE_eDP. Depending on the
  * system, the other bits may or may not be set for eDP outputs.
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2017-08-28 12:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-28 12:19 [i-g-t PATCH 00/10] tools/intel_vbt_decode: switch to using kernel intel_vbt_defs.h Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 01/10] tools/intel_lid: use local register definition Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 02/10] tools/intel_vbt_decode: remove unused definitions from intel_bios.h Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 03/10] tools/intel_vbt_decode: clean up struct lvds_dvo_timing Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 04/10] tools/intel_vbt_decode: start migrating to kernel intel_vbt_defs.h Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 05/10] tools/intel_vbt_decode: migrate timing dumping to kernel struct Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 06/10] tools/intel_vbt_decode: migrate child device " Jani Nikula
2017-08-28 12:19 ` [i-g-t PATCH 07/10] tools/intel_vbt_decode: migrate psr " Jani Nikula
2017-08-28 12:20 ` [i-g-t PATCH 08/10] tools/intel_vbt_decode: migrate edp " Jani Nikula
2017-08-28 12:20 ` Jani Nikula [this message]
2017-08-28 12:20 ` [i-g-t PATCH 10/10] tools/intel_vbt_defs: migrate backlight " Jani Nikula
2017-08-28 12:46 ` ✓ Fi.CI.BAT: success for tools/intel_vbt_decode: switch to using kernel intel_vbt_defs.h Patchwork
2017-08-28 15:25 ` ✓ Fi.CI.IGT: " Patchwork
2017-08-28 22:19 ` [i-g-t PATCH 00/10] " Daniel Vetter
2017-08-29 14:31   ` Jani Nikula

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=6ea8fdbd36960469c70e21a3b6e5c088ead3062e.1503922610.git.jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /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.