Blob Blame History Raw
From f865f7e1c77914f32ee23cd3187ab75bd8307118 Mon Sep 17 00:00:00 2001
From: Jani Nikula <jani.nikula@intel.com>
Date: Thu, 24 Aug 2017 21:53:59 +0300
Subject: [PATCH] drm/i915/bios: amend child device config parameters
Mime-version: 1.0
Content-type: text/plain; charset=UTF-8
Content-transfer-encoding: 8bit
Git-commit: f865f7e1c77914f32ee23cd3187ab75bd8307118
Patch-mainline: v4.15-rc1
References: FATE#322643 bsc#1055900

Add both some new and some old fields to child device config
parameters. Prepare for switching to just one child device config. Use
naming from struct old_child_dev_config for common fields.

No functional changes.

Cc: Animesh Manna <animesh.manna@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrj채l채 <ville.syrjala@linux.intel.com>
Reviewed-by: Ville Syrj채l채 <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/bbf66c934eb5c655fd7dda6c1bb8f218c8edc209.1503600621.git.jani.nikula@intel.com
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/gpu/drm/i915/intel_vbt_defs.h |   31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -260,13 +260,28 @@ struct old_child_dev_config {
 /* This one contains field offsets that are known to be common for all BDB
  * versions. Notice that the meaning of the contents contents may still change,
  * but at least the offsets are consistent. */
-
 struct common_child_dev_config {
 	u16 handle;
 	u16 device_type;
-	u8 not_common1[12];
+	u8 i2c_speed;
+	u8 dp_onboard_redriver;					/* 158 */
+	u8 dp_ondock_redriver;					/* 158 */
+	u8 hdmi_level_shifter_value:4;				/* 169 */
+	u8 hdmi_max_data_rate:4;				/* 204 */
+	u16 dtd_buf_ptr;					/* 161 */
+	u8 edidless_efp:1;					/* 161 */
+	u8 compression_enable:1;				/* 198 */
+	u8 compression_method:1;				/* 198 */
+	u8 ganged_edp:1;					/* 202 */
+	u8 reserved0:4;
+	u8 compression_structure_index:4;			/* 198 */
+	u8 reserved1:4;
+	u8 slave_port;						/* 202 */
+	u8 reserved2;
+	u16 addin_offset;
 	u8 dvo_port;
-	u8 not_common2[2];
+	u8 i2c_pin;
+	u8 slave_addr;
 	u8 ddc_pin;
 	u16 edid_ptr;
 	u8 dvo_cfg; /* See DEVICE_CFG_* above */
@@ -281,7 +296,15 @@ struct common_child_dev_config {
 	u8 tmds_support:1;
 	u8 support_reserved:5;
 	u8 aux_channel;
-	u8 not_common3[11];
+	u8 dongle_detect;
+	u8 capabilities;
+	u8 dvo_wiring; /* See DEVICE_WIRE_* above */
+	u8 mipi_bridge_type;					/* 171 */
+	u16 extended_type;
+	u8 dvo_function;
+	u8 flags2;						/* 195 */
+	u8 dp_gpio_index;					/* 195 */
+	u16 dp_gpio_pin_num;					/* 195 */
 	u8 iboost_level;
 } __packed;