I took a quick look and it seems that this bit doesn't exist on PM3,
only PM2.
Can you test this alternative patch ?
Thanks,
Alan.
On 07/11/13 10:31, Thomas Klausner wrote:
Hi!
You're the maintainer according to
http://cgit.freedesktop.org/xorg/doc/xorg-docs/tree/MAINTAINERS
Can you please take a look at and merge the patch?
Thanks,
Thomas
----- Forwarded message from Thomas Klausner <[email protected]> -----
Date: Tue, 4 Jun 2013 12:38:03 +0200
From: Thomas Klausner <[email protected]>
To: [email protected]
Cc: Thomas Klausner <[email protected]>
Subject: [PATCH:xf86-video-glint] Fix DDC2 on PGX32/Raptor 8P
When doing DDC2 on Permedia2 make sure to clear the USE_MONID bit
in the DDCdata register so the i2c bits actually do something.
From Michael Lorez <[email protected]>
---
src/pm2_dac.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/pm2_dac.c b/src/pm2_dac.c
index 85093ff..71a1ff0 100644
--- a/src/pm2_dac.c
+++ b/src/pm2_dac.c
@@ -458,8 +458,9 @@ Permedia2I2CPutBits(I2CBusPtr b, int scl, int sda)
{
GLINTPtr pGlint = (GLINTPtr) b->DriverPrivate.ptr;
int r = (pGlint->DDCBus == b) ? PMDDCData : VSSerialBusControl;
- CARD32 v = GLINT_READ_REG(r) & ~(ClkOut | DataOut);
+ CARD32 v = 0;
+
if (scl > 0) v |= ClkOut;
if (sda > 0) v |= DataOut;
diff --git a/src/glint_regs.h b/src/glint_regs.h
index dda2f2b..1f171fd 100644
--- a/src/glint_regs.h
+++ b/src/glint_regs.h
@@ -293,6 +293,7 @@
#define ClkIn (1<<1)
#define DataOut (1<<2)
#define ClkOut (1<<3)
+#define MonitorID (1<<9)
#define PMLineCount 0x3070
#define PMFifoControl 0x3078
diff --git a/src/pm2_dac.c b/src/pm2_dac.c
index 85093ff..ae9cdf6 100644
--- a/src/pm2_dac.c
+++ b/src/pm2_dac.c
@@ -460,6 +460,13 @@ Permedia2I2CPutBits(I2CBusPtr b, int scl, int sda)
int r = (pGlint->DDCBus == b) ? PMDDCData : VSSerialBusControl;
CARD32 v = GLINT_READ_REG(r) & ~(ClkOut | DataOut);
+ /*
+ * Seems this bit is only on PM2.
+ */
+ if (r == PMDDCData) {
+ v &= ~MonitorID; /* Clear monitor ID bit to force use of DDC */
+ }
+
if (scl > 0) v |= ClkOut;
if (sda > 0) v |= DataOut;
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel