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 <kevinbr...@gmx.com> Date: Sat Oct 14 21:04:24 2017 -0700 Version bumped to 3.0.46 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 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 <kevinbr...@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 <kevinbr...@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) { _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel