Commit 7fb56536 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/hdmi: propagate errors from intel_hdmi_init_connector()



Propagate errors from intel_hdmi_init_connector() to be able to handle
them at callers. This is similar to intel_dp_init_connector().

Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Reported-and-tested-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Closes: https://lore.kernel.org/r/20241031105145.2140590-1-senozhatsky@chromium.org


Reviewed-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/cdaf9e32cc4880c46e120933438c37b4d87be12e.1735568047.git.jani.nikula@intel.com


Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent e1980a97
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -3039,7 +3039,7 @@ void intel_infoframe_init(struct intel_digital_port *dig_port)
	}
}

void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
bool intel_hdmi_init_connector(struct intel_digital_port *dig_port,
			       struct intel_connector *intel_connector)
{
	struct intel_display *display = to_intel_display(dig_port);
@@ -3056,17 +3056,17 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
		    intel_encoder->base.base.id, intel_encoder->base.name);

	if (DISPLAY_VER(display) < 12 && drm_WARN_ON(dev, port == PORT_A))
		return;
		return false;

	if (drm_WARN(dev, dig_port->max_lanes < 4,
		     "Not enough lanes (%d) for HDMI on [ENCODER:%d:%s]\n",
		     dig_port->max_lanes, intel_encoder->base.base.id,
		     intel_encoder->base.name))
		return;
		return false;

	ddc_pin = intel_hdmi_ddc_pin(intel_encoder);
	if (!ddc_pin)
		return;
		return false;

	drm_connector_init_with_ddc(dev, connector,
				    &intel_hdmi_connector_funcs,
@@ -3111,6 +3111,8 @@ void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
					   &conn_info);
	if (!intel_hdmi->cec_notifier)
		drm_dbg_kms(display->drm, "CEC notifier get failed\n");

	return true;
}

/*
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ struct intel_encoder;
struct intel_hdmi;
union hdmi_infoframe;

void intel_hdmi_init_connector(struct intel_digital_port *dig_port,
bool intel_hdmi_init_connector(struct intel_digital_port *dig_port,
			       struct intel_connector *intel_connector);
bool intel_hdmi_compute_has_hdmi_sink(struct intel_encoder *encoder,
				      const struct intel_crtc_state *crtc_state,