Unverified Commit b10db9a4 authored by Maxime Ripard's avatar Maxime Ripard
Browse files

drm/vc4: hdmi: Use local vc4_hdmi directly



The function vc4_hdmi_connector_detect access its vc4_hdmi struct by
dereferencing the pointer in the structure vc4_dev. This will cause some
issues when we will have multiple HDMI controllers, so let's just use the
local variable for now instead of dereferencing that pointer all the time,
and we'll fix the local variable later.

Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Tested-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Tested-by: default avatarHoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: default avatarEric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/ef92c5582d3b2894128b2272a8ada7cbc20be3d9.1599120059.git-series.maxime@cerno.tech
parent 13311457
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -125,20 +125,20 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force)
	struct vc4_dev *vc4 = to_vc4_dev(dev);
	struct vc4_hdmi *vc4_hdmi = vc4->hdmi;

	if (vc4->hdmi->hpd_gpio) {
		if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^
		    vc4->hdmi->hpd_active_low)
	if (vc4_hdmi->hpd_gpio) {
		if (gpio_get_value_cansleep(vc4_hdmi->hpd_gpio) ^
		    vc4_hdmi->hpd_active_low)
			return connector_status_connected;
		cec_phys_addr_invalidate(vc4->hdmi->cec_adap);
		cec_phys_addr_invalidate(vc4_hdmi->cec_adap);
		return connector_status_disconnected;
	}

	if (drm_probe_ddc(vc4->hdmi->ddc))
	if (drm_probe_ddc(vc4_hdmi->ddc))
		return connector_status_connected;

	if (HDMI_READ(VC4_HDMI_HOTPLUG) & VC4_HDMI_HOTPLUG_CONNECTED)
		return connector_status_connected;
	cec_phys_addr_invalidate(vc4->hdmi->cec_adap);
	cec_phys_addr_invalidate(vc4_hdmi->cec_adap);
	return connector_status_disconnected;
}