CVS: main/vidix/drivers mach64_vid.c,1.25,1.26
Update of /cvsroot/mplayer/main/vidix/drivers In directory mail:/var/tmp.root/cvs-serv20423 Modified Files: mach64_vid.c Log Message: reading pll in 32-bit instead of 8-bit +1, +2 Index: mach64_vid.c =================================================================== RCS file: /cvsroot/mplayer/main/vidix/drivers/mach64_vid.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- mach64_vid.c 20 Apr 2002 13:42:31 -0000 1.25 +++ mach64_vid.c 23 Apr 2002 01:31:01 -0000 1.26 @@ -147,20 +147,18 @@ uint32_t res; uint32_t in; - /* preserve unknown bits */ - in= INREG8(CLOCK_CNTL + 1); - if(__verbose>0)printf("[mach64] pll: %X\n", in); - in &= ~((PLL_WR_EN | PLL_ADDR)>>8); //clean some stuff + in= INREG(CLOCK_CNTL); + in &= ~((PLL_WR_EN | PLL_ADDR)); //clean some stuff + OUTREG(CLOCK_CNTL, in | (addr<<10)); - /* write addr byte */ - OUTREG8(CLOCK_CNTL + 1, in | (addr << 2)); /* read the register value */ - res = INREG8(CLOCK_CNTL + 2); + res = (INREG(CLOCK_CNTL)>>16)&0xFF; return res; } static __inline__ void OUTPLL(uint32_t addr,uint32_t val) { +//FIXME buggy but its not used /* write addr byte */ OUTREG8(CLOCK_CNTL + 1, (addr << 2) | PLL_WR_EN); /* write the register value */ @@ -737,6 +735,14 @@ dest_h = config->dest.h; besr.fourcc = config->fourcc; ecp = (INPLL(PLL_VCLK_CNTL) & PLL_ECP_DIV) >> 4; +#if 0 +{ +int i; +for(i=0; i<32; i++){ + printf("%X ", INPLL(i)); +} +} +#endif if(__verbose>0) printf("[mach64] ecp: %d\n", ecp); v_inc = src_h * mach64_get_vert_stretch();
participants (1)
-
Michael Niedermayer