drivers/gpu/drm/openchrome/via_drv.h  |    4 ++--
 drivers/gpu/drm/openchrome/via_tmds.c |   30 ++++++++----------------------
 2 files changed, 10 insertions(+), 24 deletions(-)

New commits:
commit 8a2cb9879f56e70df72cf9630454dc6ee82734b6
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Apr 3 22:21:46 2018 -0700

    drm/openchrome: Version bumped to 3.0.80
    
    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 535927afa908..95e0318ea3a7 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         "20180327"
+#define DRIVER_DATE         "20180403"
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           0
-#define DRIVER_PATCHLEVEL      79
+#define DRIVER_PATCHLEVEL      80
 #include <linux/module.h>
 
 #include "ttm/ttm_bo_api.h"
commit 51d01e444644b24e82819ffc7545ecea2c372008
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Apr 3 22:20:23 2018 -0700

    drm/openchrome: Improve integrated DVI transmitter display detection
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_tmds.c 
b/drivers/gpu/drm/openchrome/via_tmds.c
index ec6ab74c767f..535ebcfa1bc6 100644
--- a/drivers/gpu/drm/openchrome/via_tmds.c
+++ b/drivers/gpu/drm/openchrome/via_tmds.c
@@ -313,8 +313,6 @@ via_tmds_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_BUS2) {
                i2c_bus = via_find_ddc_bus(0x31);
        } else if (con->i2c_bus & VIA_I2C_BUS3) {
@@ -366,10 +364,14 @@ static int via_tmds_get_modes(struct drm_connector 
*connector)
 
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
-               if (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);
+                       DRM_DEBUG_KMS("DVI EDID information was obtained.\n");
                }
+
+               kfree(edid);
        }
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
commit af4935eb8c3380482dd068cc65651c44ee12600d
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Tue Apr 3 22:19:01 2018 -0700

    drm/openchrome: Discontinuing the support for DVI-A for DVI
    
    Supporting DVI-A causes display detection complications with analog (VGA)
    detection, so its support is discontinued.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_tmds.c 
b/drivers/gpu/drm/openchrome/via_tmds.c
index dda5c2893701..ec6ab74c767f 100644
--- a/drivers/gpu/drm/openchrome/via_tmds.c
+++ b/drivers/gpu/drm/openchrome/via_tmds.c
@@ -326,8 +326,7 @@ via_tmds_detect(struct drm_connector *connector, bool force)
        if (i2c_bus) {
                edid = drm_get_edid(&con->base, i2c_bus);
                if (edid) {
-                       if ((connector->connector_type == 
DRM_MODE_CONNECTOR_DVIA) ^
-                               (edid->input & DRM_EDID_INPUT_DIGITAL)) {
+                       if (edid->input & DRM_EDID_INPUT_DIGITAL) {
                                
drm_mode_connector_update_edid_property(connector, edid);
                                ret = connector_status_connected;
                        }
@@ -474,7 +473,7 @@ void via_tmds_init(struct drm_device *dev)
                goto exit;
        }
 
-       enc = kzalloc(sizeof(*enc) + 2 * sizeof(*con), GFP_KERNEL);
+       enc = kzalloc(sizeof(*enc) + sizeof(*con), GFP_KERNEL);
        if (!enc) {
                DRM_ERROR("Failed to allocate connector "
                                "and encoder.\n");
@@ -495,7 +494,6 @@ void via_tmds_init(struct drm_device *dev)
        dev_priv->number_dvi++;
 
 
-       /* Piece together our DVI-D connector. */
        con = &enc->cons[0];
        drm_connector_init(dev, &con->base, &via_dvi_connector_funcs,
                                DRM_MODE_CONNECTOR_DVID);
@@ -508,20 +506,6 @@ void via_tmds_init(struct drm_device *dev)
        INIT_LIST_HEAD(&con->props);
 
        drm_mode_connector_attach_encoder(&con->base, &enc->base);
-
-       /* Now handle the DVI-A case. */
-       con = &enc->cons[1];
-       drm_connector_init(dev, &con->base, &via_dvi_connector_funcs,
-                               DRM_MODE_CONNECTOR_DVIA);
-       drm_connector_helper_add(&con->base, &via_dvi_connector_helper_funcs);
-       drm_connector_register(&con->base);
-
-       con->i2c_bus = dev_priv->int_tmds_i2c_bus;
-       con->base.doublescan_allowed = false;
-       con->base.interlace_allowed = true;
-       INIT_LIST_HEAD(&con->props);
-
-       drm_mode_connector_attach_encoder(&con->base, &enc->base);
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
_______________________________________________
Openchrome-devel mailing list
Openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to