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

Kevin Brace kevinbrace at kemper.freedesktop.org
Fri Mar 30 05:56:17 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 6567610104d837c152b825952c7f3dfd6f46d037
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Thu Mar 29 22:55:45 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 a86c9b5250a5..73071fcc22c9 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         "20180329"
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		0
-#define DRIVER_PATCHLEVEL	79
+#define DRIVER_PATCHLEVEL	80
 
 #include <linux/module.h>
 
commit 6db62c4aa0be6ca205f1a02922656f840bd0e95b
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Thu Mar 29 22:54:53 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 1fb4f39c6f5a..b830785d346f 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 fbf4926a1c3cf015e60de64404ea099956fe2cec
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Thu Mar 29 22:53:56 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 7b936fda7c9f..1fb4f39c6f5a 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