configure.ac | 2 +- src/via_driver.h | 3 +++ src/via_outputs.c | 5 ++++- src/via_tmds.c | 8 +++++++- src/via_vt1632.c | 8 +++++++- 5 files changed, 22 insertions(+), 4 deletions(-)
New commits: commit 710a8a15a8ff5ac7693e24c7f339d0ead7108b02 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Aug 22 20:31:02 2016 -0700 Version bumped to 0.5.136 Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/configure.ac b/configure.ac index 15e31dc..c62e027 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ(2.57) AC_INIT([xf86-video-openchrome], - [0.5.135], + [0.5.136], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/openchrome], [xf86-video-openchrome]) commit ef42c82ede738d064d8bf6285fbb780d41afc3a4 Author: Kevin Brace <kevinbr...@gmx.com> Date: Mon Aug 22 20:25:52 2016 -0700 Designating DVI dynamically for xrandr The code was updated so that DVI designation for xrandr will have a numbering convention that will look like, DVI-1, DVI-2, etc. If both integrated and external TMDS transmitters are detected in the same system, the integrated one will be assigned DVI-1 first. The code to facilitate this was borrowed from xf86-video-r128 DDX. Suggested-by: Eric Kudzin <knoppix1...@yahoo.com> Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_driver.h b/src/via_driver.h index 7b8a3e7..21ec0b9 100644 --- a/src/via_driver.h +++ b/src/via_driver.h @@ -376,6 +376,9 @@ typedef struct _VIA { #endif /* HAVE_DEBUG */ video_via_regs* VideoRegs; + + /* Keeping track of the number of DVI connectors. */ + unsigned int numberDVI; } VIARec, *VIAPtr; #define VIAPTR(p) ((VIAPtr)((p)->driverPrivate)) diff --git a/src/via_outputs.c b/src/via_outputs.c index 2fa9d9f..ca85839 100644 --- a/src/via_outputs.c +++ b/src/via_outputs.c @@ -376,6 +376,9 @@ viaOutputDetect(ScrnInfoPtr pScrn) pBIOSInfo->analog = NULL; + /* Initialize the number of DVI connectors. */ + pVia->numberDVI = 0; + /* Read off the VIA Technologies IGP pin strapping for display detection purposes. */ viaProbePinStrapping(pScrn); diff --git a/src/via_tmds.c b/src/via_tmds.c index d44afd5..43bcbfe 100644 --- a/src/via_tmds.c +++ b/src/via_tmds.c @@ -499,9 +499,11 @@ viaTMDSInit(ScrnInfoPtr pScrn) { xf86OutputPtr output; vgaHWPtr hwp = VGAHWPTR(pScrn); + VIAPtr pVia = VIAPTR(pScrn); VIATMDSRecPtr pVIATMDSRec = NULL; CARD8 sr13, sr5a, cr3e; Bool status = FALSE; + char outputNameBuffer[32]; DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Entered viaTMDSInit.\n")); @@ -551,7 +553,10 @@ viaTMDSInit(ScrnInfoPtr pScrn) goto exit; } - output = xf86OutputCreate(pScrn, &via_tmds_funcs, "DVI-1"); + /* The code to dynamically designate the particular DVI (i.e., DVI-1, + * DVI-2, etc.) for xrandr was borrowed from xf86-video-r128 DDX. */ + sprintf(outputNameBuffer, "DVI-%d", (pVia->numberDVI + 1)); + output = xf86OutputCreate(pScrn, &via_tmds_funcs, outputNameBuffer); if (!output) { free(pVIATMDSRec); xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -572,6 +577,7 @@ viaTMDSInit(ScrnInfoPtr pScrn) output->interlaceAllowed = FALSE; output->doubleScanAllowed = FALSE; + pVia->numberDVI++; status = TRUE; exit: DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, diff --git a/src/via_vt1632.c b/src/via_vt1632.c index 7bcfb83..55d9f47 100644 --- a/src/via_vt1632.c +++ b/src/via_vt1632.c @@ -399,12 +399,14 @@ Bool viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus) { xf86OutputPtr output; + VIAPtr pVia = VIAPTR(pScrn); viaVT1632RecPtr pVIAVT1632Rec = NULL; I2CDevPtr pI2CDevice = NULL; I2CSlaveAddr i2cAddr = 0x10; CARD8 buf; CARD16 vendorID, deviceID; Bool status = FALSE; + char outputNameBuffer[32]; DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Entered viaVT1632Init.\n")); @@ -478,7 +480,10 @@ viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus) pVIAVT1632Rec->DotclockMin / 1000, pVIAVT1632Rec->DotclockMax / 1000); - output = xf86OutputCreate(pScrn, &via_vt1632_funcs, "DVI-2"); + /* The code to dynamically designate the particular DVI (i.e., DVI-1, + * DVI-2, etc.) for xrandr was borrowed from xf86-video-r128 DDX. */ + sprintf(outputNameBuffer, "DVI-%d", (pVia->numberDVI + 1)); + output = xf86OutputCreate(pScrn, &via_vt1632_funcs, outputNameBuffer); if (!output) { free(pVIAVT1632Rec); xf86DestroyI2CDevRec(pI2CDevice, TRUE); @@ -502,6 +507,7 @@ viaVT1632Init(ScrnInfoPtr pScrn, I2CBusPtr pI2CBus) via_vt1632_dump_registers(pScrn, pI2CDevice); + pVia->numberDVI++; status = TRUE; exit: DEBUG(xf86DrvMsg(pScrn->scrnIndex, X_INFO, commit 288a47e2e66e3ca61c971c68b64fa354f210cb46 Author: Kevin Brace <kevinbr...@gmx.com> Date: Sat Aug 20 19:54:53 2016 -0700 Changed KM400 chipset family pin strapping message KM400 chipset family (KM400, KM400A, KN400, and P4M800) has FPDP (Flat Panel Display Port), DVP0 (Digital Video Port 0), and DVP1, hence, pin strapping information is same as other AGP based VIA Chrome IGPs like P4M800 Pro and CN400 chipsets. Currently, pin strapping is not really used by the code. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/src/via_outputs.c b/src/via_outputs.c index 0ebd8aa..2fa9d9f 100644 --- a/src/via_outputs.c +++ b/src/via_outputs.c @@ -170,7 +170,6 @@ viaProbePinStrapping(ScrnInfoPtr pScrn) switch (pVia->Chipset) { case VIA_CLE266: - case VIA_KM400: /* 3C5.12[4] - FPD17 pin strapping * 0: TMDS transmitter (DVI) / capture device @@ -233,6 +232,7 @@ viaProbePinStrapping(ScrnInfoPtr pScrn) break; + case VIA_KM400: case VIA_K8M800: case VIA_PM800: case VIA_P4M800PRO: _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel