Lines Matching defs:connector

209 	struct intel_connector *connector = intel_dp->attached_connector;
220 connector->base.base.id, connector->base.name,
233 struct intel_connector *connector = intel_dp->attached_connector;
248 connector->base.base.id, connector->base.name,
450 struct intel_connector *connector = intel_dp->attached_connector;
451 int edp_max_rate = connector->panel.vbt.edp.max_link_rate;
924 intel_dp_output_format(struct intel_connector *connector,
927 struct intel_dp *intel_dp = intel_attached_dp(connector);
972 intel_dp_sink_format(struct intel_connector *connector,
975 const struct drm_display_info *info = &connector->base.display_info;
984 intel_dp_mode_min_output_bpp(struct intel_connector *connector,
989 sink_format = intel_dp_sink_format(connector, mode);
991 output_format = intel_dp_output_format(connector, sink_format);
1017 struct intel_connector *connector = intel_dp->attached_connector;
1018 const struct drm_display_info *info = &connector->base.display_info;
1054 intel_dp_mode_valid_downstream(struct intel_connector *connector,
1058 struct intel_dp *intel_dp = intel_attached_dp(connector);
1059 const struct drm_display_info *info = &connector->base.display_info;
1067 int bpp = intel_dp_mode_min_output_bpp(connector, mode);
1086 sink_format = intel_dp_sink_format(connector, mode);
1094 !connector->base.ycbcr_420_allowed ||
1122 struct intel_connector *connector = to_intel_connector(_connector);
1123 struct intel_dp *intel_dp = intel_attached_dp(connector);
1124 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
1141 fixed_mode = intel_panel_fixed_mode(connector, mode);
1143 status = intel_panel_mode_valid(connector, mode);
1168 intel_dp_mode_min_output_bpp(connector, mode));
1173 * TBD pass the connector BPC,
1217 status = intel_dp_mode_valid_downstream(connector, mode, target_clock);
1309 struct intel_connector *connector = intel_dp->attached_connector;
1311 return connector->base.display_info.is_hdmi;
1458 static bool has_seamless_m_n(struct intel_connector *connector)
1460 struct drm_i915_private *i915 = to_i915(connector->base.dev);
1467 intel_panel_drrs_type(connector) == DRRS_TYPE_SEAMLESS;
1473 struct intel_connector *connector = to_intel_connector(conn_state->connector);
1477 if (has_seamless_m_n(connector))
1478 return intel_panel_highest_mode(connector, adjusted_mode)->clock;
2116 static bool can_enable_drrs(struct intel_connector *connector,
2120 struct drm_i915_private *i915 = to_i915(connector->base.dev);
2142 intel_panel_drrs_type(connector) == DRRS_TYPE_SEAMLESS;
2146 intel_dp_drrs_compute_config(struct intel_connector *connector,
2150 struct drm_i915_private *i915 = to_i915(connector->base.dev);
2152 intel_panel_downclock_mode(connector, &pipe_config->hw.adjusted_mode);
2159 if (has_seamless_m_n(connector) && !pipe_config->bigjoiner_pipes)
2162 if (!can_enable_drrs(connector, pipe_config, downclock_mode)) {
2169 pipe_config->msa_timing_delay = connector->panel.vbt.edp.drrs_msa_timing_delay;
2191 struct intel_connector *connector = intel_dp->attached_connector;
2199 return connector->base.display_info.has_audio;
2212 struct intel_connector *connector = intel_dp->attached_connector;
2213 const struct drm_display_info *info = &connector->base.display_info;
2220 if (ycbcr_420_only && !connector->base.ycbcr_420_allowed) {
2225 crtc_state->sink_format = intel_dp_sink_format(connector, adjusted_mode);
2228 crtc_state->output_format = intel_dp_output_format(connector, crtc_state->sink_format);
2234 !connector->base.ycbcr_420_allowed ||
2239 crtc_state->output_format = intel_dp_output_format(connector,
2254 struct drm_connector *connector = conn_state->connector;
2261 connector->base.id, connector->name,
2274 struct intel_connector *connector = intel_dp->attached_connector;
2284 fixed_mode = intel_panel_fixed_mode(connector, adjusted_mode);
2286 ret = intel_panel_compute_config(connector, adjusted_mode);
2294 if (!connector->base.interlace_allowed &&
2371 intel_dp_drrs_compute_config(connector, pipe_config, output_bpp);
2484 struct intel_connector *connector = intel_dp->attached_connector;
2488 connector->base.base.id, connector->base.name,
2489 connector->panel.vbt.backlight.hdr_dpcd_refresh_timeout);
2492 connector->panel.vbt.backlight.hdr_dpcd_refresh_timeout);
2666 struct drm_connector *connector = &intel_connector->base;
2671 max_lanes = connector->display_info.hdmi.max_lanes;
2672 rate_per_lane = connector->display_info.hdmi.max_frl_rate_per_lane;
2675 if (connector->display_info.hdmi.dsc_cap.v_1p2) {
2676 max_dsc_lanes = connector->display_info.hdmi.dsc_cap.max_lanes;
2677 dsc_rate_per_lane = connector->display_info.hdmi.dsc_cap.max_frl_rate_per_lane;
2837 struct drm_connector *connector = &intel_connector->base;
2838 int hdmi_throughput = connector->display_info.hdmi.dsc_cap.clk_per_slice;
2839 int hdmi_max_slices = connector->display_info.hdmi.dsc_cap.max_slices;
2854 struct drm_connector *connector = &intel_connector->base;
2856 bool hdmi_all_bpp = connector->display_info.hdmi.dsc_cap.all_bpp;
2859 connector->display_info.hdmi.dsc_cap.total_chunk_kbytes * 1024;
2878 struct drm_connector *connector;
2886 connector = &intel_connector->base;
2887 hdmi_is_dsc_1_2 = connector->display_info.hdmi.dsc_cap.v_1p2;
3035 static void intel_edp_mso_mode_fixup(struct intel_connector *connector,
3038 struct intel_dp *intel_dp = intel_attached_dp(connector);
3039 struct drm_i915_private *i915 = to_i915(connector->base.dev);
3056 connector->base.base.id, connector->base.name,
3064 struct intel_connector *connector = intel_dp->attached_connector;
3066 if (connector->panel.vbt.edp.bpp && pipe_bpp > connector->panel.vbt.edp.bpp) {
3082 pipe_bpp, connector->panel.vbt.edp.bpp);
3083 connector->panel.vbt.edp.bpp = pipe_bpp;
3090 struct intel_connector *connector = intel_dp->attached_connector;
3091 struct drm_display_info *info = &connector->base.display_info;
3865 struct drm_connector *connector = &intel_connector->base;
3868 connector->edid_corrupt ||
4274 struct intel_connector *connector;
4280 for_each_intel_connector_iter(connector, &conn_iter) {
4282 connector->base.state;
4317 struct intel_connector *connector = intel_dp->attached_connector;
4319 return connector->base.status == connector_status_connected ||
4408 struct intel_connector *connector;
4414 for_each_intel_connector_iter(connector, &conn_iter) {
4416 connector->base.state;
4694 * In cases where there's a connector physically connected but it can't be used
4717 struct intel_connector *connector = intel_dp->attached_connector;
4718 const struct drm_edid *fixed_edid = connector->panel.fixed_edid;
4729 return drm_edid_read_ddc(&connector->base, &intel_dp->aux.ddc);
4737 struct intel_connector *connector = intel_dp->attached_connector;
4766 connector->base.base.id, connector->base.name,
4798 struct intel_connector *connector = intel_dp->attached_connector;
4813 connector->base.ycbcr_420_allowed = intel_dp_can_ycbcr420(intel_dp);
4817 connector->base.base.id, connector->base.name,
4819 str_yes_no(connector->base.ycbcr_420_allowed),
4827 struct intel_connector *connector = intel_dp->attached_connector;
4834 connector->detect_edid = drm_edid;
4837 drm_edid_connector_update(&connector->base, drm_edid);
4839 vrr_capable = intel_vrr_is_capable(connector);
4841 connector->base.base.id, connector->base.name, str_yes_no(vrr_capable));
4842 drm_connector_set_vrr_capable_property(&connector->base, vrr_capable);
4856 struct intel_connector *connector = intel_dp->attached_connector;
4859 drm_edid_free(connector->detect_edid);
4860 connector->detect_edid = NULL;
4870 connector->base.ycbcr_420_allowed = false;
4872 drm_connector_set_vrr_capable_property(&connector->base,
4877 intel_dp_detect(struct drm_connector *connector,
4881 struct drm_i915_private *dev_priv = to_i915(connector->dev);
4882 struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
4888 connector->base.id, connector->name);
4939 * If we are in MST mode then this connector
4969 to_intel_connector(connector)->detect_edid)
4985 drm_dp_set_subconnector_property(connector,
4993 intel_dp_force(struct drm_connector *connector)
4995 struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
5004 connector->base.id, connector->name);
5007 if (connector->status != connector_status_connected)
5017 static int intel_dp_get_modes(struct drm_connector *connector)
5019 struct intel_connector *intel_connector = to_intel_connector(connector);
5023 num_modes = drm_edid_connector_add_modes(connector);
5036 mode = drm_dp_downstream_mode(connector->dev,
5040 drm_mode_probed_add(connector, mode);
5049 intel_dp_connector_register(struct drm_connector *connector)
5051 struct drm_i915_private *i915 = to_i915(connector->dev);
5052 struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
5057 ret = intel_connector_register(connector);
5063 intel_dp->aux.name, connector->kdev->kobj.name);
5066 intel_dp->aux.dev = connector->kdev;
5069 drm_dp_cec_register_connector(&intel_dp->aux, connector);
5081 drm_connector_attach_hdr_output_metadata_property(connector);
5088 intel_dp_connector_unregister(struct drm_connector *connector)
5090 struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
5094 intel_connector_unregister(connector);
5134 struct drm_connector *connector;
5138 drm_for_each_connector_iter(connector, &conn_iter) {
5143 if (!connector->has_tile ||
5144 connector->tile_group->id != tile_group_id)
5148 connector);
5212 struct drm_connector *connector)
5215 drm_atomic_get_old_connector_state(&state->base, connector);
5276 static void intel_dp_oob_hotplug_event(struct drm_connector *connector)
5278 struct intel_encoder *encoder = intel_attached_encoder(to_intel_connector(connector));
5279 struct drm_i915_private *i915 = to_i915(connector->dev);
5397 intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connector)
5399 struct drm_i915_private *dev_priv = to_i915(connector->dev);
5403 drm_connector_attach_dp_subconnector_property(connector);
5406 intel_attach_force_audio_property(connector);
5408 intel_attach_broadcast_rgb_property(connector);
5410 drm_connector_attach_max_bpc_property(connector, 6, 10);
5412 drm_connector_attach_max_bpc_property(connector, 6, 12);
5416 drm_connector_attach_content_type_property(connector);
5417 intel_attach_hdmi_colorspace_property(connector);
5419 intel_attach_dp_colorspace_property(connector);
5423 drm_connector_attach_hdr_output_metadata_property(connector);
5426 drm_connector_attach_vrr_capable_property(connector);
5432 struct intel_connector *connector = intel_dp->attached_connector;
5433 struct drm_i915_private *i915 = to_i915(connector->base.dev);
5435 intel_panel_preferred_fixed_mode(connector);
5437 intel_attach_scaling_mode_property(&connector->base);
5439 drm_connector_set_panel_orientation_with_quirk(&connector->base,
5446 struct intel_connector *connector)
5466 intel_backlight_setup(connector, pipe);
5473 struct drm_connector *connector = &intel_connector->base;
5572 drm_edid = drm_edid_read_ddc(connector, &intel_dp->aux.ddc);
5579 connector->base.id, connector->name);
5582 if (drm_edid_connector_update(connector, drm_edid) ||
5583 !drm_edid_connector_add_modes(connector)) {
5584 drm_edid_connector_update(connector, NULL);
5636 struct drm_connector *connector;
5640 connector = &intel_connector->base;
5641 drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s]\n", connector->base.id,
5642 connector->name);
5644 /* Grab the locks before changing connector property*/
5645 mutex_lock(&connector->dev->mode_config.mutex);
5646 /* Set connector link status to BAD and send a Uevent to notify
5649 drm_connector_set_link_status_property(connector,
5651 mutex_unlock(&connector->dev->mode_config.mutex);
5653 drm_kms_helper_connector_hotplug_event(connector);
5660 struct drm_connector *connector = &intel_connector->base;
5712 "Adding %s connector on [ENCODER:%d:%s]\n",
5716 drm_connector_init(dev, connector, &intel_dp_connector_funcs, type);
5717 drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs);
5720 connector->interlace_allowed = true;
5746 intel_dp_add_properties(intel_dp, connector);
5774 drm_connector_cleanup(connector);