version 1.4, 2001/01/22 05:01:52
|
version 1.5, 2001/01/31 14:19:02
|
Line 346 static int ringDMA (struct cvdv_cards *c
|
Line 346 static int ringDMA (struct cvdv_cards *c
|
|
|
count = ring_read_rest(&(card->rbuf)); |
count = ring_read_rest(&(card->rbuf)); |
if (count < 2048) { |
if (count < 2048) { |
card->DMAABusy = 0; |
//card->DMAABusy = 0; |
wake_up_interruptible(&(card->wqA)); |
wake_up_interruptible(&(card->wqA)); |
return 0; |
return 0; |
} |
} |
Line 372 static int ringDMA (struct cvdv_cards *c
|
Line 372 static int ringDMA (struct cvdv_cards *c
|
if (count > size) count = size & 0xfffffffc; |
if (count > size) count = size & 0xfffffffc; |
if (count>=2048) count &=0xfffff800; |
if (count>=2048) count &=0xfffff800; |
count &=0xfffffffc; |
count &=0xfffffffc; |
|
|
if (!size && |
if (!size && |
!card->DecoderOpen){ |
!card->DecoderOpen ){ |
printk(KERN_DEBUG LOGNAME |
printk(KERN_DEBUG LOGNAME |
": -- PREPARE IT ALREADY\n"); |
": -- PREPARE IT ALREADY\n"); |
Prepare(card); |
Prepare(card); |
|
card->startingV = 1; |
|
card->startingA = 1; |
} |
} |
|
|
if (count > size) count = size & 0xfffffffc; |
if (count > size) count = size & 0xfffffffc; |
/* |
|
printk(KERN_DEBUG LOGNAME |
/* printk(KERN_DEBUG LOGNAME |
": -- stat: %d length: %d size: %d startV: %d startA: %d\n", |
": -- stat: %d length: %d size: %d startV: %d startA: %d\n", |
stat,count,size, card->startingV, card->startingA); |
stat,count,size, card->startingV, card->startingA); |
*/ |
*/ |
Line 487 void L64014Intr(int irq, void *dev_id, s
|
Line 489 void L64014Intr(int irq, void *dev_id, s
|
u_char dio_index, lsi_index_low, lsi_index_high; |
u_char dio_index, lsi_index_low, lsi_index_high; |
u8 control,mask,stat; |
u8 control,mask,stat; |
int try; |
int try; |
|
int count; |
|
|
//save registers |
//save registers |
dio_index = inb(margi->link.io.BasePort1 + DIO_CONTROL_INDEX); |
dio_index = inb(margi->link.io.BasePort1 + DIO_CONTROL_INDEX); |
Line 522 void L64014Intr(int irq, void *dev_id, s
|
Line 525 void L64014Intr(int irq, void *dev_id, s
|
if(card->use_ring){ |
if(card->use_ring){ |
L64021Intr(card); |
L64021Intr(card); |
} |
} |
|
count = ring_read_rest(&(card->rbuf)); |
|
if (count) card->DMAABusy=1; |
if (card->DMAABusy){ |
if (card->DMAABusy){ |
|
|
#ifdef USE_BH |
#ifdef USE_BH |
Line 621 int L64014Init(struct cvdv_cards *card)
|
Line 626 int L64014Init(struct cvdv_cards *card)
|
L64021Init(card); |
L64021Init(card); |
|
|
// Find out how much DRAM we have |
// Find out how much DRAM we have |
card->DRAMSize = 0x00200000; // maximum size |
card->DRAMSize = 0x00100000; // maximum size |
do { |
do { |
printk(KERN_DEBUG LOGNAME |
printk(KERN_DEBUG LOGNAME |
": Probing DRAM Size: 0x%08X (%d kByte) ... ", |
": Probing DRAM Size: 0x%08X (%d kByte) ... ", |