drm/i915/bios: add DP max link rate to VBT child device struct
authorJani Nikula <jani.nikula@intel.com>
Thu, 18 Jan 2018 15:33:10 +0000 (17:33 +0200)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 7 Feb 2018 20:32:14 +0000 (12:32 -0800)
Update VBT defs to reflect revision 216. While at it, default the
expected child device struct size to sizeof the size rather than a
hardcoded value.

v2: Fix bit order (David)

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180118153310.32437-1-jani.nikula@intel.com
(cherry picked from commit c4fb60b9aba9f939d3f8575df23fd8d5958ec6ed)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/intel_bios.c
drivers/gpu/drm/i915/intel_vbt_defs.h

index 4c42cc4b193b8798a23053d40733ae8b20a9cc8b..f7f771749e4809dcedbea023bea54e4be4ac1537 100644 (file)
@@ -1329,11 +1329,13 @@ parse_general_definitions(struct drm_i915_private *dev_priv,
                expected_size = LEGACY_CHILD_DEVICE_CONFIG_SIZE;
        } else if (bdb->version == 195) {
                expected_size = 37;
-       } else if (bdb->version <= 197) {
+       } else if (bdb->version <= 215) {
                expected_size = 38;
+       } else if (bdb->version <= 216) {
+               expected_size = 39;
        } else {
-               expected_size = 38;
-               BUILD_BUG_ON(sizeof(*child) < 38);
+               expected_size = sizeof(*child);
+               BUILD_BUG_ON(sizeof(*child) < 39);
                DRM_DEBUG_DRIVER("Expected child device config size for VBT version %u not known; assuming %u\n",
                                 bdb->version, expected_size);
        }
index e3d7745a91518a6c031d03ffb0e9de551cfb11bc..98dff6058d3c92a50dddc0d0634879d9efdcbdbd 100644 (file)
@@ -412,6 +412,8 @@ struct child_device_config {
        u16 dp_gpio_pin_num;                                    /* 195 */
        u8 dp_iboost_level:4;                                   /* 196 */
        u8 hdmi_iboost_level:4;                                 /* 196 */
+       u8 dp_max_link_rate:2;                                  /* 216 CNL+ */
+       u8 dp_max_link_rate_reserved:6;                         /* 216 */
 } __packed;
 
 struct bdb_general_definitions {