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 <kevinbr...@gmx.com> Date: Tue Apr 3 22:21:46 2018 -0700 drm/openchrome: Version bumped to 3.0.80 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 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 <kevinbr...@gmx.com> Date: Tue Apr 3 22:20:23 2018 -0700 drm/openchrome: Improve integrated DVI transmitter display detection Signed-off-by: Kevin Brace <kevinbr...@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 <kevinbr...@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 <kevinbr...@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__); } _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel