Lines Matching full:connector

51 intel_panel_preferred_fixed_mode(struct intel_connector *connector)  in intel_panel_preferred_fixed_mode()  argument
53 return list_first_entry_or_null(&connector->panel.fixed_modes, in intel_panel_preferred_fixed_mode()
58 intel_panel_fixed_mode(struct intel_connector *connector, in intel_panel_fixed_mode() argument
65 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_fixed_mode()
96 intel_panel_downclock_mode(struct intel_connector *connector, in intel_panel_downclock_mode() argument
100 int min_vrefresh = connector->panel.vbt.seamless_drrs_min_refresh_rate; in intel_panel_downclock_mode()
104 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_downclock_mode()
118 intel_panel_highest_mode(struct intel_connector *connector, in intel_panel_highest_mode() argument
124 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_highest_mode()
132 int intel_panel_get_modes(struct intel_connector *connector) in intel_panel_get_modes() argument
137 list_for_each_entry(fixed_mode, &connector->panel.fixed_modes, head) { in intel_panel_get_modes()
140 mode = drm_mode_duplicate(connector->base.dev, fixed_mode); in intel_panel_get_modes()
142 drm_mode_probed_add(&connector->base, mode); in intel_panel_get_modes()
150 enum drrs_type intel_panel_drrs_type(struct intel_connector *connector) in intel_panel_drrs_type() argument
152 if (list_empty(&connector->panel.fixed_modes) || in intel_panel_drrs_type()
153 list_is_singular(&connector->panel.fixed_modes)) in intel_panel_drrs_type()
156 return connector->panel.vbt.drrs_type; in intel_panel_drrs_type()
159 int intel_panel_compute_config(struct intel_connector *connector, in intel_panel_compute_config() argument
163 intel_panel_fixed_mode(connector, adjusted_mode); in intel_panel_compute_config()
175 drm_dbg_kms(connector->base.dev, in intel_panel_compute_config()
176 … "[CONNECTOR:%d:%s] Requested mode vrefresh (%d Hz) does not match fixed mode vrefresh (%d Hz)\n", in intel_panel_compute_config()
177 connector->base.base.id, connector->base.name, in intel_panel_compute_config()
190 static void intel_panel_add_edid_alt_fixed_modes(struct intel_connector *connector) in intel_panel_add_edid_alt_fixed_modes() argument
192 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); in intel_panel_add_edid_alt_fixed_modes()
194 intel_panel_preferred_fixed_mode(connector); in intel_panel_add_edid_alt_fixed_modes()
197 list_for_each_entry_safe(mode, next, &connector->base.probed_modes, head) { in intel_panel_add_edid_alt_fixed_modes()
202 "[CONNECTOR:%d:%s] using alternate EDID fixed mode: " DRM_MODE_FMT "\n", in intel_panel_add_edid_alt_fixed_modes()
203 connector->base.base.id, connector->base.name, in intel_panel_add_edid_alt_fixed_modes()
206 list_move_tail(&mode->head, &connector->panel.fixed_modes); in intel_panel_add_edid_alt_fixed_modes()
210 static void intel_panel_add_edid_preferred_mode(struct intel_connector *connector) in intel_panel_add_edid_preferred_mode() argument
212 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); in intel_panel_add_edid_preferred_mode()
215 if (list_empty(&connector->base.probed_modes)) in intel_panel_add_edid_preferred_mode()
219 list_for_each_entry(scan, &connector->base.probed_modes, head) { in intel_panel_add_edid_preferred_mode()
227 fixed_mode = list_first_entry(&connector->base.probed_modes, in intel_panel_add_edid_preferred_mode()
231 "[CONNECTOR:%d:%s] using %s EDID fixed mode: " DRM_MODE_FMT "\n", in intel_panel_add_edid_preferred_mode()
232 connector->base.base.id, connector->base.name, in intel_panel_add_edid_preferred_mode()
238 list_move_tail(&fixed_mode->head, &connector->panel.fixed_modes); in intel_panel_add_edid_preferred_mode()
241 static void intel_panel_destroy_probed_modes(struct intel_connector *connector) in intel_panel_destroy_probed_modes() argument
243 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_panel_destroy_probed_modes()
246 list_for_each_entry_safe(mode, next, &connector->base.probed_modes, head) { in intel_panel_destroy_probed_modes()
248 "[CONNECTOR:%d:%s] not using EDID mode: " DRM_MODE_FMT "\n", in intel_panel_destroy_probed_modes()
249 connector->base.base.id, connector->base.name, in intel_panel_destroy_probed_modes()
256 void intel_panel_add_edid_fixed_modes(struct intel_connector *connector, in intel_panel_add_edid_fixed_modes() argument
259 intel_panel_add_edid_preferred_mode(connector); in intel_panel_add_edid_fixed_modes()
260 if (intel_panel_preferred_fixed_mode(connector) && use_alt_fixed_modes) in intel_panel_add_edid_fixed_modes()
261 intel_panel_add_edid_alt_fixed_modes(connector); in intel_panel_add_edid_fixed_modes()
262 intel_panel_destroy_probed_modes(connector); in intel_panel_add_edid_fixed_modes()
265 static void intel_panel_add_fixed_mode(struct intel_connector *connector, in intel_panel_add_fixed_mode() argument
269 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_panel_add_fixed_mode()
270 struct drm_display_info *info = &connector->base.display_info; in intel_panel_add_fixed_mode()
280 drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s] using %s fixed mode: " DRM_MODE_FMT "\n", in intel_panel_add_fixed_mode()
281 connector->base.base.id, connector->base.name, type, in intel_panel_add_fixed_mode()
284 list_add_tail(&fixed_mode->head, &connector->panel.fixed_modes); in intel_panel_add_fixed_mode()
287 void intel_panel_add_vbt_lfp_fixed_mode(struct intel_connector *connector) in intel_panel_add_vbt_lfp_fixed_mode() argument
289 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_panel_add_vbt_lfp_fixed_mode()
292 mode = connector->panel.vbt.lfp_lvds_vbt_mode; in intel_panel_add_vbt_lfp_fixed_mode()
296 intel_panel_add_fixed_mode(connector, in intel_panel_add_vbt_lfp_fixed_mode()
301 void intel_panel_add_vbt_sdvo_fixed_mode(struct intel_connector *connector) in intel_panel_add_vbt_sdvo_fixed_mode() argument
303 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_panel_add_vbt_sdvo_fixed_mode()
306 mode = connector->panel.vbt.sdvo_lvds_vbt_mode; in intel_panel_add_vbt_sdvo_fixed_mode()
310 intel_panel_add_fixed_mode(connector, in intel_panel_add_vbt_sdvo_fixed_mode()
315 void intel_panel_add_encoder_fixed_mode(struct intel_connector *connector, in intel_panel_add_encoder_fixed_mode() argument
318 intel_panel_add_fixed_mode(connector, in intel_panel_add_encoder_fixed_mode()
618 intel_panel_detect(struct drm_connector *connector, bool force) in intel_panel_detect() argument
620 struct drm_i915_private *i915 = to_i915(connector->dev); in intel_panel_detect()
629 intel_panel_mode_valid(struct intel_connector *connector, in intel_panel_mode_valid() argument
633 intel_panel_fixed_mode(connector, mode); in intel_panel_mode_valid()
650 int intel_panel_init(struct intel_connector *connector) in intel_panel_init() argument
652 struct intel_panel *panel = &connector->panel; in intel_panel_init()
656 drm_dbg_kms(connector->base.dev, in intel_panel_init()
657 "[CONNECTOR:%d:%s] DRRS type: %s\n", in intel_panel_init()
658 connector->base.base.id, connector->base.name, in intel_panel_init()
659 intel_drrs_type_str(intel_panel_drrs_type(connector))); in intel_panel_init()
664 void intel_panel_fini(struct intel_connector *connector) in intel_panel_fini() argument
666 struct intel_panel *panel = &connector->panel; in intel_panel_fini()
675 drm_mode_destroy(connector->base.dev, fixed_mode); in intel_panel_fini()