[Openchrome-devel] drm-openchrome: Branch 'drm-next-4.17' - 3 commits - drivers/gpu/drm

Kevin Brace kevinbrace at kemper.freedesktop.org
Wed Apr 4 05:29:32 UTC 2018


 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 <kevinbrace at gmx.com>
Date:   Tue Apr 3 22:21:46 2018 -0700

    drm/openchrome: Version bumped to 3.0.80
    
    Signed-off-by: Kevin Brace <kevinbrace at 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 <kevinbrace at gmx.com>
Date:   Tue Apr 3 22:20:23 2018 -0700

    drm/openchrome: Improve integrated DVI transmitter display detection
    
    Signed-off-by: Kevin Brace <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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__);
 }


More information about the Openchrome-devel mailing list