Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Ville Syrjala <ville.syrjala@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [PATCH i-g-t 04/27] tools/intel_vbt_decode: Decode block 3 (Display Toggle Option)
Date: Fri,  7 Jun 2024 16:57:35 +0300	[thread overview]
Message-ID: <20240607135758.31421-5-ville.syrjala@linux.intel.com> (raw)
In-Reply-To: <20240607135758.31421-1-ville.syrjala@linux.intel.com>

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Decode VBT block 3 (Display Toggle Option).

On ALM the block appears to contain some kind of actual toggle
list of child devices, on all more modern machines it just has
the feature bits.

Example output from ALM:
BDB block 3 (27 bytes, min 3 bytes) - Display toggle option block:
        0000: 03 1b 00 00 0c 00 08 00  01 00 09 00 02 00 00 00
        0010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00

        Feature bits: 0x00
        Num entries: 12
        Toggle list #1: LFP1 (0x0008)
        Toggle list #2: CRT (0x0001)
        Toggle list #3: CRT,LFP1 (0x0009)
        Toggle list #4: TV (0x0002)
        Toggle list #5: none (0x0000)
        Toggle list #6: none (0x0000)
        Toggle list #7: none (0x0000)
        Toggle list #8: none (0x0000)
        Toggle list #9: none (0x0000)
        Toggle list #10: none (0x0000)
        Toggle list #11: none (0x0000)
        Toggle list #12: none (0x0000)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tools/intel_vbt_decode.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index cee1d5196a9a..4281bd7e520e 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -316,6 +316,8 @@ static size_t block_min_size(const struct context *context, int section_id)
 		return sizeof(struct bdb_general_features);
 	case BDB_GENERAL_DEFINITIONS:
 		return sizeof(struct bdb_general_definitions);
+	case BDB_DISPLAY_TOGGLE:
+		return sizeof(struct bdb_display_toggle);
 	case BDB_PSR:
 		return sizeof(struct bdb_psr);
 	case BDB_CHILD_DEVICE_TABLE:
@@ -1249,6 +1251,20 @@ static void dump_general_definitions(struct context *context,
 			   child_dev_num, defs->child_dev_size);
 }
 
+static void dump_display_toggle(struct context *context,
+				const struct bdb_block *block)
+{
+	const struct bdb_display_toggle *t = block_data(block);
+
+	printf("\tFeature bits: 0x%02x\n", t->feature_bits);
+	printf("\tNum entries: %d\n", t->num_entries);
+
+	for (int i = 0 ; i < t->num_entries; i++)
+		printf("\tToggle list #%d: %s (0x%04x)\n",
+		       i+1, child_device_handle(context, t->list[i]),
+		       t->list[i]);
+}
+
 static void dump_legacy_child_devices(struct context *context,
 				      const struct bdb_block *block)
 {
@@ -2727,6 +2743,11 @@ struct dumper dumpers[] = {
 		.name = "General definitions block",
 		.dump = dump_general_definitions,
 	},
+	{
+		.id = BDB_DISPLAY_TOGGLE,
+		.name = "Display toggle option block",
+		.dump = dump_display_toggle,
+	},
 	{
 		.id = BDB_PSR,
 		.min_bdb_version = 165,
-- 
2.44.2


  parent reply	other threads:[~2024-06-07 13:58 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-07 13:57 [PATCH i-g-t 00/27] tools/intel_vbt_decode: Decode almost everything Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 01/27] tools/intel_vbt_decode: sync intel_vbt_defs.h with kernel commit 80c414772d93 Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 02/27] tools/intel_vbt_decode: sync intel_vbt_defs.h with kernel commit 3e8daf14c47d Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 03/27] tools/intel_vbt_decode: Dump MIPI config for the correct panel Ville Syrjala
2024-06-13  9:13   ` Jani Nikula
2024-06-07 13:57 ` Ville Syrjala [this message]
2024-06-13  9:14   ` [PATCH i-g-t 04/27] tools/intel_vbt_decode: Decode block 3 (Display Toggle Option) Jani Nikula
2024-06-13 17:19     ` Ville Syrjälä
2024-06-07 13:57 ` [PATCH i-g-t 05/27] tools/intel_vbt_decode: Decode block 4 (Mode Support List) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 06/27] tools/intel_vbt_decode: Decode block 5 (Generic Mode Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 07/27] tools/intel_vbt_decode: Decode blocks 6, 7, 8 (register tables) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 08/27] tools/intel_vbt_decode: Decode block 10 (Mode Removal Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 09/27] tools/intel_vbt_decode: Decode block 12 (Driver Persistent Algorithm) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 10/27] tools/intel_vbt_decode: Decode block 15 (Dot Clock Override Table) and block 9 (ALM only) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 11/27] tools/intel_vbt_decode: Decode blocks 16, 29, 31 (Toggle List) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 12/27] tools/intel_vbt_decode: Decode blocks 19, 30, 32 (Display Configuration Removal Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 13/27] tools/intel_vbt_decode: Decode block 18 (Driver Rotation) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 14/27] tools/intel_vbt_decode: Decode block 20 (OEM Customizable Modes) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 15/27] tools/intel_vbt_decode: Decode block 21 (EFP List) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 16/27] tools/intel_vbt_decode: Decode block 24 (SDVO LVDS PnP ID) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 17/27] tools/intel_vbt_decode: Decode block 25 (SDVO LVDS PPS) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 18/27] tools/intel_vbt_decode: Decode block 26 (TV Options) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 19/27] tools/intel_vbt_decode: Decode block 28 (EFP DTD) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 20/27] tools/intel_vbt_decode: Decode block 45 (eDP BFI) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 21/27] tools/intel_vbt_decode: Decode block 46 (Chromaticity For Narrow Gamut Panel) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 22/27] tools/intel_vbt_decode: Decode block 51 (Fixed Set Mode Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 23/27] tools/intel_vbt_decode: Decode block 55 (RGB Palette Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 24/27] tools/intel_vbt_decode: Decode block 57 (Vswing PreEmphasis Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 25/27] tools/intel_vbt_decode: Decode block 58 (Generic DTD Block) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 26/27] tools/intel_vbt_decode: Decode block 253 (PRD Table) Ville Syrjala
2024-06-07 13:57 ` [PATCH i-g-t 27/27] tools/intel_vbt_decode: Name a few more VBT blocks Ville Syrjala
2024-06-07 22:08 ` ✓ CI.xeBAT: success for tools/intel_vbt_decode: Decode almost everything Patchwork
2024-06-07 22:13 ` ✓ Fi.CI.BAT: " Patchwork
2024-06-08 12:30 ` ✗ CI.xeFULL: failure " Patchwork
2024-06-11 15:37   ` Kamil Konieczny
2024-06-08 13:08 ` ✗ Fi.CI.IGT: " Patchwork
2024-06-11 15:36   ` Kamil Konieczny
2024-06-13  9:17 ` [PATCH i-g-t 00/27] " 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=20240607135758.31421-5-ville.syrjala@linux.intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=igt-dev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox