drivers/gpu/drm/openchrome/via_analog.c |   30 ++++++++++++++++++++----------
 drivers/gpu/drm/openchrome/via_drv.h    |    4 ++--
 2 files changed, 22 insertions(+), 12 deletions(-)

New commits:
commit 6cbbb5f9f686e226bf2579a37df184f4fe467a59
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 14 09:57:49 2018 -0700

    drm/openchrome: Version bumped to 3.0.77
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_drv.h 
b/drivers/gpu/drm/openchrome/via_drv.h
index 070599f2c8a8..e112272c1b82 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -30,11 +30,11 @@
 #define DRIVER_AUTHOR       "OpenChrome Project"
 #define DRIVER_NAME         "openchrome"
 #define DRIVER_DESC         "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE         "20180213"
+#define DRIVER_DATE         "20180314"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      76
+#define DRIVER_PATCHLEVEL      77
 
 #include <linux/module.h>
 
commit 210ec48c4c9927c68b929b56ebb291d418775f6a
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 14 09:54:43 2018 -0700

    drm/openchrome: Only recognize analog interface type EDID for analog (VGA)
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_analog.c 
b/drivers/gpu/drm/openchrome/via_analog.c
index f113aa959675..48580f87b345 100644
--- a/drivers/gpu/drm/openchrome/via_analog.c
+++ b/drivers/gpu/drm/openchrome/via_analog.c
@@ -223,8 +223,6 @@ via_analog_detect(struct drm_connector *connector, bool 
force)
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       drm_mode_connector_update_edid_property(connector, edid);
-
        if (con->i2c_bus & VIA_I2C_BUS1) {
                i2c_bus = via_find_ddc_bus(0x26);
        } else {
@@ -234,10 +232,11 @@ via_analog_detect(struct drm_connector *connector, bool 
force)
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
                if (edid) {
-                       drm_mode_connector_update_edid_property(connector,
-                                                               edid);
+                       if (!(edid->input & DRM_EDID_INPUT_DIGITAL)) {
+                               ret = connector_status_connected;
+                       }
+
                        kfree(edid);
-                       ret = connector_status_connected;
                        goto exit;
                }
        }
@@ -251,10 +250,11 @@ via_analog_detect(struct drm_connector *connector, bool 
force)
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
                if (edid) {
-                       drm_mode_connector_update_edid_property(connector,
-                                                               edid);
+                       if (!(edid->input & DRM_EDID_INPUT_DIGITAL)) {
+                               ret = connector_status_connected;
+                       }
+
                        kfree(edid);
-                       ret = connector_status_connected;
                        goto exit;
                }
        }
@@ -291,7 +291,12 @@ static int via_analog_get_modes(struct drm_connector 
*connector)
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
                if (edid) {
-                       count = drm_add_edid_modes(connector, edid);
+                       if (!(edid->input & DRM_EDID_INPUT_DIGITAL)) {
+                               
drm_mode_connector_update_edid_property(connector,
+                                                                       edid);
+                               count = drm_add_edid_modes(connector, edid);
+                       }
+
                        kfree(edid);
                        goto exit;
                }
@@ -306,7 +311,12 @@ static int via_analog_get_modes(struct drm_connector 
*connector)
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
                if (edid) {
-                       count = drm_add_edid_modes(connector, edid);
+                       if (!(edid->input & DRM_EDID_INPUT_DIGITAL)) {
+                               
drm_mode_connector_update_edid_property(connector,
+                                                                       edid);
+                               count = drm_add_edid_modes(connector, edid);
+                       }
+
                        kfree(edid);
                        goto exit;
                }
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to