[Intel-gfx] [PATCH 2/2]IGD: workaround i2c bus issue in gfx driver side
Shaohua Li
shaohua.li at intel.com
Mon Mar 16 08:23:26 CET 2009
On Mon, Mar 16, 2009 at 03:02:28PM +0800, Wang, Zhenyu Z wrote:
> On 2009.03.16 14:45:28 +0800, Shaohua Li wrote:
> > In IGD, DPCUNIT_CLOCK_GATE_DISABLE bit should be set, otherwise i2c
> > access will be wrong.
> >
> > Signed-off-by: Shaohua Li <shaohua.li at intel.com>
> > ---
> > src/i830_driver.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > Index: xf86_video_intel/src/i830_driver.c
> > ===================================================================
> > --- xf86_video_intel.orig/src/i830_driver.c
> > +++ xf86_video_intel/src/i830_driver.c
> > @@ -1057,6 +1057,11 @@ I830PreInitDDC(ScrnInfoPtr pScrn)
> > pI830->ddc2 = FALSE;
> > }
> > }
> > +
> > + if (IS_IGD(pI830)) {
> > + /* Driver is using bit bashing for I2C, this bit should be set to 1 */
> > + OUTREG(DSPCLK_GATE_D, INREG(DSPCLK_GATE_D) | DPCUNIT_CLOCK_GATE_DISABLE);
> > + }
> > }
> >
> > static void
>
> Looks this should be in i830_init_clock_gating(), and KMS needs to be ported as well.
i830_init_clock_gating() is called a little later. The bit must be set
before any I2C access.
More information about the Intel-gfx
mailing list