gpu: drm: exynos: Notify the plugged state while probing 05/157305/1 accepted/tizen_4.0_unified tizen_4.0 accepted/tizen/4.0/unified/20171101.064815 accepted/tizen/unified/20171031.055643 submit/tizen/20171031.014243 submit/tizen_4.0/20171101.031710 tizen_4.0.IoT.p2_release
authorDongwoo Lee <dwoo08.lee@samsung.com>
Mon, 23 Oct 2017 00:47:19 +0000 (09:47 +0900)
committerDongwoo Lee <dwoo08.lee@samsung.com>
Tue, 24 Oct 2017 06:42:46 +0000 (15:42 +0900)
Since commit 38b49e08, hdmi driver can notify the connection state
via extcon framework. However, if hdmi cable is already connected
before the system boot, there is no interrupt for hdmi connection,
and thus it cannot be informed to userspace. To prevent the situation
that cable is connected, but uninformed in userspace, this patch
makes hdmi driver check the plugged state and notifies it explicitly
at probing.

Change-Id: I432f30df4effef27c7f393a4659c02cc035d5e6d
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
drivers/gpu/drm/exynos/exynos_hdmi.c

index 06f8d9efbfaff0d80287bcd0240a7d642397d96c..d0759fae10e93c85f9a0675d0b8ade3561996d70 100644 (file)
@@ -1988,6 +1988,7 @@ static int hdmi_extcon_init(struct hdmi_context *hdata)
 {
        struct device *dev = hdata->dev;
        struct extcon_dev *edev;
+       enum drm_connector_status plug;
        int ret;
 
        edev = devm_extcon_dev_allocate(dev, extcon_cable_list);
@@ -2000,6 +2001,11 @@ static int hdmi_extcon_init(struct hdmi_context *hdata)
 
        hdata->edev = edev;
 
+       /* Notify the plugged state when hdmi is already connected */
+       plug = hdmi_detect(&hdata->connector, false);
+       if (plug == connector_status_connected)
+               extcon_set_cable_state(edev, "HDMI", 1);
+
        return 0;
 }