[openchrome-devel] drm-openchrome: Branch 'drm-next-4.18' - 2 commits - drivers/gpu/drm
Kevin Brace
kevinbrace at kemper.freedesktop.org
Mon May 21 17:00:53 UTC 2018
drivers/gpu/drm/openchrome/openchrome_drv.c | 11 +++++++++++
drivers/gpu/drm/openchrome/openchrome_drv.h | 10 ++++++++--
drivers/gpu/drm/openchrome/openchrome_fp.c | 8 ++++++++
3 files changed, 27 insertions(+), 2 deletions(-)
New commits:
commit f8c43487ce2da371c1582d4f18605ef03b55fd95
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Mon May 21 09:59:11 2018 -0700
drm/openchrome: Version bumped to 3.0.82
Code file names and indentation fix. Furthermore, special FP handling
code for Samsung NC20 netbook was added.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 24fc107a4f84..bfa7fbcdfa72 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -31,11 +31,11 @@
#define DRIVER_AUTHOR "OpenChrome Project"
#define DRIVER_NAME "openchrome"
#define DRIVER_DESC "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE "20180406"
+#define DRIVER_DATE "20180521"
#define DRIVER_MAJOR 3
#define DRIVER_MINOR 0
-#define DRIVER_PATCHLEVEL 81
+#define DRIVER_PATCHLEVEL 82
#include <linux/module.h>
#include "ttm/ttm_bo_api.h"
commit c8aadc2d98fce5d356c27d00a37405bc91cad885
Author: Kevin Brace <kevinbrace at gmx.com>
Date: Mon May 21 09:44:21 2018 -0700
Fix for Samsung NC20 netbook
Samsung NC20 netbook actually has the FP connected to VX800 chipset's
LVDS2 (LVDS Channel 2) rather than the more logical LVDS1 (LVDS Channel
1). The code previously assumed that computer device vendor connects FP
to LVDS1 if only one FP is in use. The fix is untested due to equipment
availability issues.
Signed-off-by: Kevin Brace <kevinbrace at gmx.com>
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c b/drivers/gpu/drm/openchrome/openchrome_drv.c
index c001c8230f48..5264dd00788c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -284,6 +284,17 @@ static void chip_revision_info(struct drm_device *dev)
dev_priv->is_quanta_il1 = false;
}
+ /* Samsung NC20 netbook has its FP connected to LVDS2
+ * rather than the more logical LVDS1, hence, a special
+ * flag register is needed for properly controlling its
+ * FP. */
+ if ((subsystem_vendor_id == 0x144d) &&
+ (subsystem_device_id == 0xc04e)) {
+ dev_priv->is_samsung_nc20 = true;
+ } else {
+ dev_priv->is_samsung_nc20 = false;
+ }
+
break;
/* VX855 / VX875 Chipset */
case PCI_DEVICE_ID_VIA_VX875:
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index c3f8d2a11d41..24fc107a4f84 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -210,6 +210,12 @@ struct via_device {
* is needed for properly controlling its FP. */
bool is_quanta_il1;
+ /* Samsung NC20 netbook has its FP connected to LVDS2
+ * rather than the more logical LVDS1, hence, a special
+ * flag register is needed for properly controlling its
+ * FP. */
+ bool is_samsung_nc20;
+
bool analog_presence;
u32 analog_i2c_bus;
diff --git a/drivers/gpu/drm/openchrome/openchrome_fp.c b/drivers/gpu/drm/openchrome/openchrome_fp.c
index 2966f1cef06f..a63600bd340d 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fp.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fp.c
@@ -1172,6 +1172,14 @@ void via_fp_probe(struct drm_device *dev)
dev_priv->int_fp2_di_port =
VIA_DI_PORT_NONE;
+ } else if (dev_priv->is_samsung_nc20) {
+ dev_priv->int_fp1_presence = false;
+ dev_priv->int_fp1_di_port =
+ VIA_DI_PORT_NONE;
+ dev_priv->int_fp2_presence = true;
+ dev_priv->int_fp2_di_port =
+ VIA_DI_PORT_LVDS2;
+
/* 3C5.13[7:6] - Integrated LVDS / DVI
* Mode Select (DVP1D15-14 pin
* strapping)
More information about the openchrome-devel
mailing list