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

Kevin Brace kevinbrace at kemper.freedesktop.org
Sun Oct 15 04:06:05 UTC 2017


 drivers/gpu/drm/openchrome/via_drv.c |    1 
 drivers/gpu/drm/openchrome/via_drv.h |    7 +++++-
 drivers/gpu/drm/openchrome/via_fp.c  |   39 +++++++----------------------------
 3 files changed, 15 insertions(+), 32 deletions(-)

New commits:
commit 8f2603c13bdb248f89b1b7c08e6e296bd724bf88
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Oct 14 21:04:24 2017 -0700

    Version bumped to 3.0.46
    
    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 76157b7401d1..7fdec63d80e7 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -34,7 +34,7 @@
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		0
-#define DRIVER_PATCHLEVEL	45
+#define DRIVER_PATCHLEVEL	46
 
 #include <linux/module.h>
 
commit 8df55496bdfff086b8662d8e1f9ef207a9f739b6
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Sat Oct 14 20:42:49 2017 -0700

    Discontinue the use of DMI for detecting FP availability
    
    The use of DMI (Desktop Management Interface) is awkward, so it will
    be discontinued. The detection of Quanta IL1 netbook is done via DMI,
    but this will be changed to PCI Subvendor and Subdevice ID in the near
    future. Quanta IL1 netbook?s FP is connected to DVP1 since it is a TTL
    interface FP, not LVDS interface FP. Because of this, a special flag
    register will be used to properly recognize / control the FP of this
    computer.
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/via_drv.c b/drivers/gpu/drm/openchrome/via_drv.c
index b775346ad808..c5af338ede70 100644
--- a/drivers/gpu/drm/openchrome/via_drv.c
+++ b/drivers/gpu/drm/openchrome/via_drv.c
@@ -246,6 +246,7 @@ via_device_init(struct via_device *dev_priv)
 
     /* Temporary implementation. */
     dev_priv->is_via_nanobook = false;
+    dev_priv->is_quanta_il1 = false;
 
     ret = via_vram_init(dev_priv);
     if (ret) {
diff --git a/drivers/gpu/drm/openchrome/via_drv.h b/drivers/gpu/drm/openchrome/via_drv.h
index 3c4394b31007..76157b7401d1 100644
--- a/drivers/gpu/drm/openchrome/via_drv.h
+++ b/drivers/gpu/drm/openchrome/via_drv.h
@@ -196,6 +196,11 @@ struct via_device {
 	 * FP and DVI to be properly detected. */
 	bool is_via_nanobook;
 
+	/* Quanta IL1 netbook has its FP connected to DVP1
+	 * rather than LVDS, hence, a special flag register
+	 * is needed for properly controlling its FP. */
+	bool is_quanta_il1;
+
 	bool int_fp1_presence;
 	u32 int_fp1_di_port;
 
diff --git a/drivers/gpu/drm/openchrome/via_fp.c b/drivers/gpu/drm/openchrome/via_fp.c
index d22db455f78e..473316c0504a 100644
--- a/drivers/gpu/drm/openchrome/via_fp.c
+++ b/drivers/gpu/drm/openchrome/via_fp.c
@@ -1025,32 +1025,6 @@ struct drm_connector_helper_funcs via_lcd_connector_helper_funcs = {
 	.best_encoder = via_best_encoder,
 };
 
-static int __init via_ttl_lvds_dmi_callback(const struct dmi_system_id *id)
-{
-	DRM_INFO("LVDS is TTL type for %s\n", id->ident);
-	return 1;
-}
-
-static const struct dmi_system_id via_ttl_lvds[] = {
-	{
-		.callback = via_ttl_lvds_dmi_callback,
-		.ident = "VIA Quanta Netbook",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "QCI"),
-			DMI_MATCH(DMI_PRODUCT_VERSION, "VT6413A"),
-		},
-	}, {
-		.callback = via_ttl_lvds_dmi_callback,
-		.ident = "Amilo Pro V2030",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
-			DMI_MATCH(DMI_PRODUCT_NAME, "AMILO PRO V2030"),
-		},
-	},
-
-	{ }
-};
-
 /*
  * Probe (pre-initialization detection) FP.
  */
@@ -1157,6 +1131,14 @@ void via_fp_probe(struct drm_device *dev)
 				dev_priv->int_fp2_presence = true;
 				dev_priv->int_fp2_di_port =
 						VIA_DI_PORT_LVDS2;
+			} else if (dev_priv->is_quanta_il1) {
+				/* From the Quanta IL1 schematic. */
+				dev_priv->int_fp1_presence = true;
+				dev_priv->int_fp1_di_port =
+						VIA_DI_PORT_DVP1;
+				dev_priv->int_fp2_presence = false;
+				dev_priv->int_fp2_di_port =
+						VIA_DI_PORT_NONE;
 
 			/* 3C5.13[7:6] - Integrated LVDS / DVI
 			 *               Mode Select (DVP1D15-14 pin
@@ -1326,11 +1308,6 @@ via_lvds_init(struct drm_device *dev)
 
 	enc->base.possible_crtcs = BIT(1);
 
-	/* There has to be a way to detect TTL LVDS
-	 * For now we use the DMI to handle this */
-	if (dmi_check_system(via_ttl_lvds))
-		enc->di_port = VIA_DI_PORT_DFPL | VIA_DI_PORT_DVP1;
-
 	if (dev_priv->int_fp1_presence) {
 		enc->di_port = dev_priv->int_fp1_di_port;
 	} else if (dev_priv->int_fp2_presence) {


More information about the Openchrome-devel mailing list