Hi Alan! Thanks for the patch. I can't test myself, but have forwarded your patch to Michael Lorenz, who came up with the original patch. I hope he'll find time to test it soon. Thomas
On Thu, Jul 11, 2013 at 11:55:00AM +0100, Alan wrote: > 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
