2071,7 → 2071,7 |
|
int bttv_start(struct bttv *btv) |
{ |
|
struct pci_regs *reg; |
BYTE dv, bus; |
DWORD dw; |
|
2092,23 → 2092,27 |
printk(KERN_INFO "bttv: using %d buffers with %dk (%dk total) for capture\n", |
gbuffers,gbufsize/1024,gbuffers*gbufsize/1024); |
|
if(pci_present()) { |
|
pci_class(PCI_CLASS_MULTIMEDIA_VIDEO<<8,0,&bus,&dv); |
|
if (pci_present()) { |
|
reg = (struct pci_regs *) pci_class((0x0400) << 8,0,&bus,&dv) ; |
if (reg != NULL) { |
btv->dev->bus->number = bus; |
btv->dev->devfn = dv; |
btv->dev->devfn = dv; |
btv->dev->base_address[0] = (reg->IoBaseAddress-0x08); |
btv->dev->irq = reg->InterruptLine; |
} else { |
return -1; |
} |
|
pcibios_read_config_dword(bus, dv, PCI_BASE_ADDRESS_0, (DWORD *)&(btv->dev->base_address[0])); |
pcibios_read_config_byte(bus, dv, PCI_INTERRUPT_LINE, (BYTE *)&(btv->dev->irq)); |
|
pcibios_read_config_dword(bus,dv,PCI_COMMAND,&dw); |
oldpci_command = dw; |
dw |= (PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); |
pcibios_write_config_dword(bus,dv,PCI_COMMAND,dw); |
|
} else return -1; |
printk(KERN_INFO "PCI INFO bus=%d devfn=%d irq=%d base=%08lx\n",bus,dv,btv->dev->irq,btv->dev->base_address[0]); |
|
pcibios_read_config_dword(bus,dv,PCI_COMMAND,&dw); |
oldpci_command = dw; |
dw |= (PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); |
pcibios_write_config_dword(bus,dv,PCI_COMMAND,dw); |
|
} |
|
i2c_init_all(); |
|
bttv_check_chipset(); |