return encoder && to_lvds_encoder(&encoder->base)->is_dual_link;
}
-static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder)
+static bool compute_is_dual_link_lvds(struct intel_lvds_encoder *lvds_encoder,
+ const struct drm_display_mode *fixed_mode)
{
struct drm_device *dev = lvds_encoder->base.base.dev;
unsigned int val;
return dev_priv->params.lvds_channel_mode == 2;
/* single channel LVDS is limited to 112 MHz */
- if (lvds_encoder->attached_connector->panel.fixed_mode->clock > 112999)
+ if (fixed_mode->clock > 112999)
return true;
if (dmi_check_system(intel_dual_link_lvds))
intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
intel_backlight_setup(intel_connector, INVALID_PIPE);
- lvds_encoder->is_dual_link = compute_is_dual_link_lvds(lvds_encoder);
+ lvds_encoder->is_dual_link = compute_is_dual_link_lvds(lvds_encoder, fixed_mode);
drm_dbg_kms(&dev_priv->drm, "detected %s-link lvds configuration\n",
lvds_encoder->is_dual_link ? "dual" : "single");