• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/media/dvb/bt8xx/

Lines Matching defs:bt

69 #define btwrite(dat,adr)    bmtwrite((dat), (bt->bt878_mem+(adr)))
70 #define btread(adr) bmtread(bt->bt878_mem+(adr))
81 static void bt878_mem_free(struct bt878 *bt)
83 if (bt->buf_cpu) {
84 pci_free_consistent(bt->dev, bt->buf_size, bt->buf_cpu,
85 bt->buf_dma);
86 bt->buf_cpu = NULL;
89 if (bt->risc_cpu) {
90 pci_free_consistent(bt->dev, bt->risc_size, bt->risc_cpu,
91 bt->risc_dma);
92 bt->risc_cpu = NULL;
96 static int bt878_mem_alloc(struct bt878 *bt)
98 if (!bt->buf_cpu) {
99 bt->buf_size = 128 * 1024;
101 bt->buf_cpu =
102 pci_alloc_consistent(bt->dev, bt->buf_size,
103 &bt->buf_dma);
105 if (!bt->buf_cpu)
108 memset(bt->buf_cpu, 0, bt->buf_size);
111 if (!bt->risc_cpu) {
112 bt->risc_size = PAGE_SIZE;
113 bt->risc_cpu =
114 pci_alloc_consistent(bt->dev, bt->risc_size,
115 &bt->risc_dma);
117 if (!bt->risc_cpu) {
118 bt878_mem_free(bt);
122 memset(bt->risc_cpu, 0, bt->risc_size);
142 #define RISC_FLUSH() bt->risc_pos = 0
143 #define RISC_INSTR(instr) bt->risc_cpu[bt->risc_pos++] = cpu_to_le32(instr)
145 static int bt878_make_risc(struct bt878 *bt)
147 bt->block_bytes = bt->buf_size >> 4;
148 bt->block_count = 1 << 4;
149 bt->line_bytes = bt->block_bytes;
150 bt->line_count = bt->block_count;
152 while (bt->line_bytes > 4095) {
153 bt->line_bytes >>= 1;
154 bt->line_count <<= 1;
157 if (bt->line_count > 255) {
165 static void bt878_risc_program(struct bt878 *bt, u32 op_sync_orin)
175 bt->line_count, bt->line_bytes);
176 for (line = 0; line < bt->line_count; line++) {
178 if (!(buf_pos % bt->block_bytes))
182 bt->block_bytes) +
183 (bt->block_count -
185 bt->block_count) | bt->
189 bt->line_bytes);
190 RISC_INSTR(bt->buf_dma + buf_pos);
191 buf_pos += bt->line_bytes;
198 RISC_INSTR(bt->risc_dma);
200 btwrite((bt->line_count << 16) | bt->line_bytes, BT878_APACK_LEN);
207 void bt878_start(struct bt878 *bt, u32 controlreg, u32 op_sync_orin,
216 bt878_risc_program(bt, op_sync_orin);
220 btwrite(bt->risc_dma, BT878_ARISC_START);
241 void bt878_stop(struct bt878 *bt)
259 bt->nr, i, stat);
273 struct bt878 *bt;
275 bt = (struct bt878 *) dev_id;
283 /* dprintk("bt878(%d) debug: irq count %d, stat 0x%8.8x, mask 0x%8.8x\n",bt->nr,count,stat,mask); */
290 bt->nr,
301 bt->nr,
314 bt->nr,
323 bt->finished_block = (stat & BT878_ARISCS) >> 28;
324 tasklet_schedule(&bt->tasklet);
332 bt->nr);
340 bt878_device_control(struct bt878 *bt, unsigned int cmd, union dst_gpio_packet *mp)
345 if (mutex_lock_interruptible(&bt->gpio_lock))
351 retval = bttv_gpio_enable(bt->bttv_nr,
357 retval = bttv_write_gpio(bt->bttv_nr,
364 retval = bttv_read_gpio(bt->bttv_nr, &mp->rd.value);
369 bt->TS_Size = mp->psize;
376 mutex_unlock(&bt->gpio_lock);
409 struct bt878 *bt;
447 bt = &bt878[bt878_num];
448 bt->dev = dev;
449 bt->nr = bt878_num;
450 bt->shutdown = 0;
452 bt->id = dev->device;
453 bt->irq = dev->irq;
454 bt->bt878_adr = pci_resource_start(dev, 0);
461 pci_read_config_byte(dev, PCI_CLASS_REVISION, &bt->revision);
466 bt878_num, bt->id, bt->revision, dev->bus->number,
469 bt->irq, lat, bt->bt878_adr);
481 bt->bt878_mem = (unsigned char *) bt->bt878_adr;
483 bt->bt878_mem = ioremap(bt->bt878_adr, 0x1000);
489 result = request_irq(bt->irq, bt878_irq,
491 (void *) bt);
500 bt878_num, bt->irq);
507 pci_set_drvdata(dev, bt);
515 if ((result = bt878_mem_alloc(bt))) {
520 bt878_make_risc(bt);
527 free_irq(bt->irq, bt);
529 release_mem_region(pci_resource_start(bt->dev, 0),
530 pci_resource_len(bt->dev, 0));
539 struct bt878 *bt = pci_get_drvdata(pci_dev);
542 printk("bt878(%d): unloading\n", bt->nr);
552 pci_read_config_byte(bt->dev, PCI_COMMAND, &command);
555 pci_write_config_byte(bt->dev, PCI_COMMAND, command);
557 free_irq(bt->irq, bt);
558 printk(KERN_DEBUG "bt878_mem: 0x%p.\n", bt->bt878_mem);
559 if (bt->bt878_mem)
560 iounmap(bt->bt878_mem);
562 release_mem_region(pci_resource_start(bt->dev, 0),
563 pci_resource_len(bt->dev, 0));
568 bt->shutdown = 1;
569 bt878_mem_free(bt);