Lines Matching refs:dev

22 static void dump_registers(struct saa7146_dev* dev)
28 pr_info("0x%03x: 0x%08x\n", i, saa7146_read(dev, i));
36 void saa7146_setgpio(struct saa7146_dev *dev, int port, u32 data) in saa7146_setgpio() argument
43 value = saa7146_read(dev, GPIO_CTRL); in saa7146_setgpio()
46 saa7146_write(dev, GPIO_CTRL, value); in saa7146_setgpio()
50 static inline int saa7146_wait_for_debi_done_sleep(struct saa7146_dev *dev, in saa7146_wait_for_debi_done_sleep() argument
60 if (saa7146_read(dev, MC2) & 2) in saa7146_wait_for_debi_done_sleep()
64 dev->name, __func__); in saa7146_wait_for_debi_done_sleep()
74 if (!(saa7146_read(dev, PSR) & SPCI_DEBI_S)) in saa7146_wait_for_debi_done_sleep()
76 saa7146_read(dev, MC2); in saa7146_wait_for_debi_done_sleep()
79 dev->name, __func__); in saa7146_wait_for_debi_done_sleep()
88 static inline int saa7146_wait_for_debi_done_busyloop(struct saa7146_dev *dev, in saa7146_wait_for_debi_done_busyloop() argument
96 if (saa7146_read(dev, MC2) & 2) in saa7146_wait_for_debi_done_busyloop()
100 dev->name, __func__); in saa7146_wait_for_debi_done_busyloop()
109 if (!(saa7146_read(dev, PSR) & SPCI_DEBI_S)) in saa7146_wait_for_debi_done_busyloop()
111 saa7146_read(dev, MC2); in saa7146_wait_for_debi_done_busyloop()
114 dev->name, __func__); in saa7146_wait_for_debi_done_busyloop()
123 int saa7146_wait_for_debi_done(struct saa7146_dev *dev, int nobusyloop) in saa7146_wait_for_debi_done() argument
126 return saa7146_wait_for_debi_done_sleep(dev, 50000, 250000); in saa7146_wait_for_debi_done()
128 return saa7146_wait_for_debi_done_busyloop(dev, 50000, 250000); in saa7146_wait_for_debi_done()
182 slen = dma_map_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE); in saa7146_vmalloc_build_pgtable()
192 dma_unmap_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE); in saa7146_vmalloc_build_pgtable()
206 dma_unmap_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE); in saa7146_vfree_destroy_pgtable()
217 dma_free_coherent(&pci->dev, pt->size, pt->cpu, pt->dma); in saa7146_pgtable_free()
226 cpu = dma_alloc_coherent(&pci->dev, PAGE_SIZE, &dma_addr, GFP_KERNEL); in saa7146_pgtable_alloc()
271 struct saa7146_dev *dev = dev_id; in interrupt_hw() local
276 ack_isr = isr = saa7146_read(dev, ISR); in interrupt_hw()
284 if (dev->ext) { in interrupt_hw()
285 if (dev->ext->irq_mask & isr) { in interrupt_hw()
286 if (dev->ext->irq_func) in interrupt_hw()
287 dev->ext->irq_func(dev, &isr); in interrupt_hw()
288 isr &= ~dev->ext->irq_mask; in interrupt_hw()
293 if (dev->vv_data && dev->vv_callback) in interrupt_hw()
294 dev->vv_callback(dev,isr); in interrupt_hw()
298 if (dev->vv_data && dev->vv_callback) in interrupt_hw()
299 dev->vv_callback(dev,isr); in interrupt_hw()
303 SAA7146_IER_DISABLE(dev, MASK_16|MASK_17); in interrupt_hw()
305 if (0 != dev->i2c_op) { in interrupt_hw()
306 dev->i2c_op = 0; in interrupt_hw()
307 wake_up(&dev->i2c_wq); in interrupt_hw()
309 u32 psr = saa7146_read(dev, PSR); in interrupt_hw()
310 u32 ssr = saa7146_read(dev, SSR); in interrupt_hw()
312 dev->name, isr, psr, ssr); in interrupt_hw()
320 SAA7146_IER_DISABLE(dev,isr); in interrupt_hw()
322 saa7146_write(dev, ISR, ack_isr); in interrupt_hw()
333 struct saa7146_dev *dev; in saa7146_init_one() local
337 dev = kzalloc(sizeof(struct saa7146_dev), GFP_KERNEL); in saa7146_init_one()
338 if (!dev) { in saa7146_init_one()
344 sprintf(dev->name, "saa7146 (%d)", saa7146_num); in saa7146_init_one()
357 dev->pci = pci; in saa7146_init_one()
360 dev->revision = pci->revision; in saa7146_init_one()
368 dev->mem = ioremap(pci_resource_start(pci, 0), in saa7146_init_one()
370 if (!dev->mem) { in saa7146_init_one()
384 saa7146_write(dev, IER, 0); in saa7146_init_one()
387 saa7146_write(dev, MC1, 0x30ff0000); in saa7146_init_one()
390 saa7146_write(dev, MC2, 0xf8000000); in saa7146_init_one()
394 dev->name, dev); in saa7146_init_one()
403 dev->d_rps0.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
404 &dev->d_rps0.dma_handle, in saa7146_init_one()
406 if (!dev->d_rps0.cpu_addr) in saa7146_init_one()
409 dev->d_rps1.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
410 &dev->d_rps1.dma_handle, in saa7146_init_one()
412 if (!dev->d_rps1.cpu_addr) in saa7146_init_one()
415 dev->d_i2c.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM, in saa7146_init_one()
416 &dev->d_i2c.dma_handle, GFP_KERNEL); in saa7146_init_one()
417 if (!dev->d_i2c.cpu_addr) in saa7146_init_one()
423 dev->mem, dev->revision, pci->irq, in saa7146_init_one()
425 dev->ext = ext; in saa7146_init_one()
427 mutex_init(&dev->v4l2_lock); in saa7146_init_one()
428 spin_lock_init(&dev->int_slock); in saa7146_init_one()
429 spin_lock_init(&dev->slock); in saa7146_init_one()
431 mutex_init(&dev->i2c_lock); in saa7146_init_one()
433 dev->module = THIS_MODULE; in saa7146_init_one()
434 init_waitqueue_head(&dev->i2c_wq); in saa7146_init_one()
437 saa7146_write(dev, PCI_BT_V1, 0x1c00101f); in saa7146_init_one()
443 if (ext->probe && ext->probe(dev)) { in saa7146_init_one()
444 DEB_D("ext->probe() failed for %p. skipping device.\n", dev); in saa7146_init_one()
448 if (ext->attach(dev, pci_ext)) { in saa7146_init_one()
449 DEB_D("ext->attach() failed for %p. skipping device.\n", dev); in saa7146_init_one()
455 pci_set_drvdata(pci, &dev->v4l2_dev); in saa7146_init_one()
464 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_i2c.cpu_addr, in saa7146_init_one()
465 dev->d_i2c.dma_handle); in saa7146_init_one()
467 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps1.cpu_addr, in saa7146_init_one()
468 dev->d_rps1.dma_handle); in saa7146_init_one()
470 dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps0.cpu_addr, in saa7146_init_one()
471 dev->d_rps0.dma_handle); in saa7146_init_one()
473 free_irq(pci->irq, (void *)dev); in saa7146_init_one()
475 iounmap(dev->mem); in saa7146_init_one()
481 kfree(dev); in saa7146_init_one()
488 struct saa7146_dev *dev = to_saa7146_dev(v4l2_dev); in saa7146_remove_one() local
493 { dev->d_i2c.cpu_addr, dev->d_i2c.dma_handle }, in saa7146_remove_one()
494 { dev->d_rps1.cpu_addr, dev->d_rps1.dma_handle }, in saa7146_remove_one()
495 { dev->d_rps0.cpu_addr, dev->d_rps0.dma_handle }, in saa7146_remove_one()
499 DEB_EE("dev:%p\n", dev); in saa7146_remove_one()
501 dev->ext->detach(dev); in saa7146_remove_one()
504 saa7146_write(dev, MC1, 0x00ff0000); in saa7146_remove_one()
507 saa7146_write(dev, IER, 0); in saa7146_remove_one()
509 free_irq(pdev->irq, dev); in saa7146_remove_one()
512 dma_free_coherent(&pdev->dev, SAA7146_RPS_MEM, p->addr, in saa7146_remove_one()
515 iounmap(dev->mem); in saa7146_remove_one()
518 kfree(dev); in saa7146_remove_one()