[CVS] v4l2 board.c,1.1,1.2 generic.c,1.6,1.7 rage128.c,1.2,1.3 rage128.h,1.2,1.3
Status: Beta
Brought to you by:
volodya
From: <gat...@li...> - 2005-03-12 17:44:10
|
Update of /cvsroot/gatos/v4l2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20442 Modified Files: board.c generic.c rage128.c rage128.h Log Message: fixes a bug with rage128 cards (kept switching the audio mux back to input from tuner) removes some debugging messages Index: board.c =================================================================== RCS file: /cvsroot/gatos/v4l2/board.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- board.c 9 Mar 2005 20:34:42 -0000 1.1 +++ board.c 12 Mar 2005 17:44:00 -0000 1.2 @@ -220,9 +220,9 @@ if (card->driver_data & RAGE128CHIP){ if (card->mux == 2) { - BTWRITE(card,0x3f,1); //set to tv for audio + BTWRITE(card,BT829_P_IO,1); //set to tv for audio } else { - BTWRITE(card,0x3f,0); //set to input for audio + BTWRITE(card,BT829_P_IO,0); //set to input for audio } } else if (card->driver_data & MACH64CHIP){ u32 tmp; Index: generic.c =================================================================== RCS file: /cvsroot/gatos/v4l2/generic.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- generic.c 9 Mar 2005 20:34:42 -0000 1.6 +++ generic.c 12 Mar 2005 17:44:00 -0000 1.7 @@ -689,6 +689,7 @@ /* set CAGC and CKILL (chroma agc and low color detector) */ temp = BTREAD(card,BT829_SCLOOP); + //temp |= BT829_CKILL | BT829_CAGC | BT829_PEAK; temp |= BT829_CKILL | BT829_CAGC; /* When decoding SECAM video this filter must be enabled */ @@ -701,7 +702,10 @@ /* break this into flags or remove since it is default? */ BTWRITE(card,BT829_WC_UP,0xCF); BTWRITE(card,BT829_WC_DN,0x7F); - BTWRITE(card,BT829_P_IO,0x0); + +// if (card->driver_data & MACH64CHIP){ +// BTWRITE(card,BT829_P_IO,0x0); +// } /* free the card */ up(&card->lock); @@ -2054,7 +2058,6 @@ return -EINVAL; } add_frame_to_queue(&card->frame_queue,b->index); - return 0; } /* Exchange a buffer with the driver (dequeue)*/ @@ -2516,12 +2519,14 @@ if (card->driver_data & RAGE128CHIP) { /* force the rage128 to let us read the bios... not sure why this works but it does (found by trial and error) */ - if (*(biosptr) == 0x0) { + if (*(biosptr) == 0x0 || *(biosptr) == 0xFF) { printk (KERN_INFO "ERROR reading from bios, attempting to fix!\n"); R128_I2C_CNTL_1 = 0x0; iounmap(card->atifb); card->atifb=ioremap(pci_resource_start(dev, 0),pci_resource_len(dev, 0)); - } + } else { +printk (KERN_INFO "reading from bios, worked! %d \n", *(biosptr)); + } } /* now read in some values from the rom */ if (card->driver_data & MACH64CHIP){ @@ -2545,6 +2550,7 @@ ptr = biosptr + *((u16*)ptr) + 0x0E; /* before using divide by 100!!!! */ card->refclock = *((u16*)ptr); +printk (KERN_INFO "refclock is %d\n", refclock); } /* now unmap the rom so we dont waste ram */ @@ -2893,7 +2899,7 @@ /* check if we have any frame captures ready */ status = R128_CAP_INT_STATUS; mask = R128_CAP_INT_CNTL; -printk (KERN_INFO "Cap Status is 0x%08x mask is 0x%08x\n", status, mask); +//printk (KERN_INFO "Cap Status is 0x%08x mask is 0x%08x\n", status, mask); if (status & 1){ handled = 1; @@ -2912,7 +2918,7 @@ status = R128_GEN_INT_STATUS; mask = R128_GEN_INT_CNTL; -printk (KERN_INFO "Gen Status is 0x%08x mask is 0x%08x\n", status, mask); +//printk (KERN_INFO "Gen Status is 0x%08x mask is 0x%08x\n", status, mask); /* check if dma transfer finished */ if (status & (1<<16)) { Index: rage128.h =================================================================== RCS file: /cvsroot/gatos/v4l2/rage128.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- rage128.h 9 Mar 2005 20:34:42 -0000 1.2 +++ rage128.h 12 Mar 2005 17:44:00 -0000 1.3 @@ -21,7 +21,9 @@ #define R128_CLOCK_FREQ 80000 /* 7.5kHz .. 100kHz */ +#define R128_CLOCK_CNTL_INDEX (*((u32*)(card->MMR+0x0008))) #define R128_CLOCK_CNTL_INDEX0 (*(( u8*)(card->MMR+0x0008))) +#define R128_CLOCK_CNTL_INDEX1 (*(( u8*)(card->MMR+0x0009))) #define R128_CLOCK_CNTL_DATA (*((u32*)(card->MMR+0x000C))) #define FCP_CNTL 0x012 #define R128_PLL_WR_EN (1 << 7) Index: rage128.c =================================================================== RCS file: /cvsroot/gatos/v4l2/rage128.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- rage128.c 9 Mar 2005 20:34:42 -0000 1.2 +++ rage128.c 12 Mar 2005 17:44:00 -0000 1.3 @@ -41,7 +41,7 @@ printk (KERN_INFO "Error initializing r128 card\n"); return -ENODEV; } - printk (KERN_INFO "device id 0x%08x revision %d\n",id, rev); + printk (KERN_INFO "Rage128 device id 0x%08x revision %d\n",id, rev); /* figure out what i2c mode to use */ if (i2c_init(card) != 0){ @@ -206,7 +206,7 @@ /* enable streaming (turn on interrupts) */ R128_CLOCK_CNTL_INDEX0 = (FCP_CNTL & 0x1F) | R128_PLL_WR_EN; - R128_CLOCK_CNTL_DATA = 0x001; // was 101 + R128_CLOCK_CNTL_DATA = 0x101; // was 101 R128_CLOCK_CNTL_INDEX0 = (FCP_CNTL & 0x1F) & ~R128_PLL_WR_EN; BTWRITE(card,BT829_VACTIVE_LO,LO(generic_tvnorms[card->tvnorm].sheight)); @@ -322,9 +322,7 @@ R128_CLOCK_CNTL_DATA = 0x404; R128_CLOCK_CNTL_INDEX0 = (FCP_CNTL & 0x1F) & ~R128_PLL_WR_EN; -printk (KERN_INFO "dis R128_CAP0_TRIG_CNTL is 0x%08x\n", R128_CAP0_TRIG_CNTL); R128_CAP0_TRIG_CNTL = 0x00000000; -printk (KERN_INFO "dis R128_CAP0_TRIG_CNTL is now 0x%08x\n", R128_CAP0_TRIG_CNTL); //make sure DMA transfers have stopped R128_BUS_CNTL |= R128_BUS_MASTER_RESET; } |