pt3 209 drivers/media/common/saa7146/saa7146_video.c struct saa7146_pgtable *pt3 = &buf->pt[2]; pt3 246 drivers/media/common/saa7146/saa7146_video.c ptr3 = pt3->cpu; pt3 265 drivers/media/common/saa7146/saa7146_video.c pt3->offset = pt1->offset+o2; pt3 112 drivers/media/pci/pt3/pt3.c static inline void pt3_lnb_ctrl(struct pt3_board *pt3, bool on) pt3 114 drivers/media/pci/pt3/pt3.c iowrite32((on ? 0x0f : 0x0c), pt3->regs[0] + REG_SYSTEM_W); pt3 119 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3; pt3 123 drivers/media/pci/pt3/pt3.c pt3 = fe->dvb->priv; pt3 125 drivers/media/pci/pt3/pt3.c if (pt3->adaps[i]->fe == fe) pt3 126 drivers/media/pci/pt3/pt3.c return pt3->adaps[i]; pt3 137 drivers/media/pci/pt3/pt3.c pt3_set_tuner_power(struct pt3_board *pt3, bool tuner_on, bool amp_on) pt3 145 drivers/media/pci/pt3/pt3.c return pt3_demod_write(pt3->adaps[PT3_NUM_FE - 1], &rv, 1); pt3 151 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3; pt3 162 drivers/media/pci/pt3/pt3.c pt3 = adap->dvb_adap.priv; pt3 163 drivers/media/pci/pt3/pt3.c if (mutex_lock_interruptible(&pt3->lock)) pt3 166 drivers/media/pci/pt3/pt3.c pt3->lna_on_cnt++; pt3 168 drivers/media/pci/pt3/pt3.c pt3->lna_on_cnt--; pt3 170 drivers/media/pci/pt3/pt3.c if (val && pt3->lna_on_cnt <= 1) { pt3 171 drivers/media/pci/pt3/pt3.c pt3->lna_on_cnt = 1; pt3 172 drivers/media/pci/pt3/pt3.c ret = pt3_set_tuner_power(pt3, true, true); pt3 173 drivers/media/pci/pt3/pt3.c } else if (!val && pt3->lna_on_cnt <= 0) { pt3 174 drivers/media/pci/pt3/pt3.c pt3->lna_on_cnt = 0; pt3 175 drivers/media/pci/pt3/pt3.c ret = pt3_set_tuner_power(pt3, true, false); pt3 178 drivers/media/pci/pt3/pt3.c mutex_unlock(&pt3->lock); pt3 186 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3; pt3 196 drivers/media/pci/pt3/pt3.c pt3 = adap->dvb_adap.priv; pt3 197 drivers/media/pci/pt3/pt3.c if (mutex_lock_interruptible(&pt3->lock)) pt3 200 drivers/media/pci/pt3/pt3.c pt3->lnb_on_cnt++; pt3 202 drivers/media/pci/pt3/pt3.c pt3->lnb_on_cnt--; pt3 204 drivers/media/pci/pt3/pt3.c if (on && pt3->lnb_on_cnt <= 1) { pt3 205 drivers/media/pci/pt3/pt3.c pt3->lnb_on_cnt = 1; pt3 206 drivers/media/pci/pt3/pt3.c pt3_lnb_ctrl(pt3, true); pt3 207 drivers/media/pci/pt3/pt3.c } else if (!on && pt3->lnb_on_cnt <= 0) { pt3 208 drivers/media/pci/pt3/pt3.c pt3->lnb_on_cnt = 0; pt3 209 drivers/media/pci/pt3/pt3.c pt3_lnb_ctrl(pt3, false); pt3 211 drivers/media/pci/pt3/pt3.c mutex_unlock(&pt3->lock); pt3 242 drivers/media/pci/pt3/pt3.c static int pt3_fe_init(struct pt3_board *pt3) pt3 247 drivers/media/pci/pt3/pt3.c pt3_i2c_reset(pt3); pt3 248 drivers/media/pci/pt3/pt3.c ret = pt3_init_all_demods(pt3); pt3 250 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, "Failed to init demod chips\n"); pt3 256 drivers/media/pci/pt3/pt3.c fe = pt3->adaps[i]->fe; pt3 259 drivers/media/pci/pt3/pt3.c ret = pt3_demod_write(pt3->adaps[i], pt3 262 drivers/media/pci/pt3/pt3.c ret = pt3_demod_write(pt3->adaps[i], pt3 265 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, pt3 275 drivers/media/pci/pt3/pt3.c ret = pt3_set_tuner_power(pt3, true, false); pt3 277 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, "Failed to control tuner module\n"); pt3 283 drivers/media/pci/pt3/pt3.c fe = pt3->adaps[i]->fe; pt3 285 drivers/media/pci/pt3/pt3.c ret = pt3_demod_write(pt3->adaps[i], pt3 288 drivers/media/pci/pt3/pt3.c ret = pt3_demod_write(pt3->adaps[i], pt3 291 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, pt3 299 drivers/media/pci/pt3/pt3.c fe = pt3->adaps[i]->fe; pt3 305 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, pt3 310 drivers/media/pci/pt3/pt3.c ret = pt3_init_all_mxl301rf(pt3); pt3 312 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, "Failed to init TERR-tuners\n"); pt3 316 drivers/media/pci/pt3/pt3.c ret = pt3_set_tuner_power(pt3, true, true); pt3 318 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, "Failed to control tuner module\n"); pt3 327 drivers/media/pci/pt3/pt3.c fe = pt3->adaps[i]->fe; pt3 338 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, pt3 346 drivers/media/pci/pt3/pt3.c fe = pt3->adaps[i]->fe; pt3 361 drivers/media/pci/pt3/pt3.c dev_warn(&pt3->pdev->dev, "FE[%d] failed to standby\n", i); pt3 368 drivers/media/pci/pt3/pt3.c static int pt3_attach_fe(struct pt3_board *pt3, int i) pt3 381 drivers/media/pci/pt3/pt3.c cl = dvb_module_probe("tc90522", info->type, &pt3->i2c_adap, pt3 385 drivers/media/pci/pt3/pt3.c pt3->adaps[i]->i2c_demod = cl; pt3 407 drivers/media/pci/pt3/pt3.c pt3->adaps[i]->i2c_tuner = cl; pt3 409 drivers/media/pci/pt3/pt3.c dvb_adap = &pt3->adaps[one_adapter ? 0 : i]->dvb_adap; pt3 413 drivers/media/pci/pt3/pt3.c pt3->adaps[i]->fe = cfg.fe; pt3 417 drivers/media/pci/pt3/pt3.c dvb_module_release(pt3->adaps[i]->i2c_tuner); pt3 419 drivers/media/pci/pt3/pt3.c dvb_module_release(pt3->adaps[i]->i2c_demod); pt3 526 drivers/media/pci/pt3/pt3.c static int pt3_alloc_adapter(struct pt3_board *pt3, int index) pt3 536 drivers/media/pci/pt3/pt3.c pt3->adaps[index] = adap; pt3 541 drivers/media/pci/pt3/pt3.c THIS_MODULE, &pt3->pdev->dev, adapter_nr); pt3 543 drivers/media/pci/pt3/pt3.c dev_err(&pt3->pdev->dev, pt3 549 drivers/media/pci/pt3/pt3.c da = &pt3->adaps[0]->dvb_adap; pt3 551 drivers/media/pci/pt3/pt3.c adap->dvb_adap.priv = pt3; pt3 560 drivers/media/pci/pt3/pt3.c dev_err(&pt3->pdev->dev, "failed to init dmx dev\n"); pt3 568 drivers/media/pci/pt3/pt3.c dev_err(&pt3->pdev->dev, "failed to init dmxdev\n"); pt3 574 drivers/media/pci/pt3/pt3.c dev_err(&pt3->pdev->dev, "failed to alloc DMA buffers\n"); pt3 590 drivers/media/pci/pt3/pt3.c pt3->adaps[index] = NULL; pt3 594 drivers/media/pci/pt3/pt3.c static void pt3_cleanup_adapter(struct pt3_board *pt3, int index) pt3 599 drivers/media/pci/pt3/pt3.c adap = pt3->adaps[index]; pt3 622 drivers/media/pci/pt3/pt3.c pt3->adaps[index] = NULL; pt3 629 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3 = dev_get_drvdata(dev); pt3 634 drivers/media/pci/pt3/pt3.c adap = pt3->adaps[i]; pt3 641 drivers/media/pci/pt3/pt3.c pt3_lnb_ctrl(pt3, false); pt3 642 drivers/media/pci/pt3/pt3.c pt3_set_tuner_power(pt3, false, false); pt3 648 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3 = dev_get_drvdata(dev); pt3 652 drivers/media/pci/pt3/pt3.c ret = pt3_fe_init(pt3); pt3 656 drivers/media/pci/pt3/pt3.c if (pt3->lna_on_cnt > 0) pt3 657 drivers/media/pci/pt3/pt3.c pt3_set_tuner_power(pt3, true, true); pt3 658 drivers/media/pci/pt3/pt3.c if (pt3->lnb_on_cnt > 0) pt3 659 drivers/media/pci/pt3/pt3.c pt3_lnb_ctrl(pt3, true); pt3 662 drivers/media/pci/pt3/pt3.c adap = pt3->adaps[i]; pt3 666 drivers/media/pci/pt3/pt3.c dev_err(&pt3->pdev->dev, "failed to alloc DMA bufs\n"); pt3 681 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3; pt3 684 drivers/media/pci/pt3/pt3.c pt3 = pci_get_drvdata(pdev); pt3 686 drivers/media/pci/pt3/pt3.c pt3_cleanup_adapter(pt3, i); pt3 687 drivers/media/pci/pt3/pt3.c i2c_del_adapter(&pt3->i2c_adap); pt3 688 drivers/media/pci/pt3/pt3.c kfree(pt3->i2c_buf); pt3 689 drivers/media/pci/pt3/pt3.c pci_iounmap(pt3->pdev, pt3->regs[0]); pt3 690 drivers/media/pci/pt3/pt3.c pci_iounmap(pt3->pdev, pt3->regs[1]); pt3 693 drivers/media/pci/pt3/pt3.c kfree(pt3); pt3 701 drivers/media/pci/pt3/pt3.c struct pt3_board *pt3; pt3 730 drivers/media/pci/pt3/pt3.c pt3 = kzalloc(sizeof(*pt3), GFP_KERNEL); pt3 731 drivers/media/pci/pt3/pt3.c if (!pt3) { pt3 735 drivers/media/pci/pt3/pt3.c pci_set_drvdata(pdev, pt3); pt3 736 drivers/media/pci/pt3/pt3.c pt3->pdev = pdev; pt3 737 drivers/media/pci/pt3/pt3.c mutex_init(&pt3->lock); pt3 738 drivers/media/pci/pt3/pt3.c pt3->regs[0] = pci_ioremap_bar(pdev, 0); pt3 739 drivers/media/pci/pt3/pt3.c pt3->regs[1] = pci_ioremap_bar(pdev, 2); pt3 740 drivers/media/pci/pt3/pt3.c if (pt3->regs[0] == NULL || pt3->regs[1] == NULL) { pt3 746 drivers/media/pci/pt3/pt3.c ver = ioread32(pt3->regs[0] + REG_VERSION); pt3 754 drivers/media/pci/pt3/pt3.c pt3->num_bufs = clamp_val(num_bufs, MIN_DATA_BUFS, MAX_DATA_BUFS); pt3 756 drivers/media/pci/pt3/pt3.c pt3->i2c_buf = kmalloc(sizeof(*pt3->i2c_buf), GFP_KERNEL); pt3 757 drivers/media/pci/pt3/pt3.c if (pt3->i2c_buf == NULL) { pt3 761 drivers/media/pci/pt3/pt3.c i2c = &pt3->i2c_adap; pt3 767 drivers/media/pci/pt3/pt3.c i2c_set_adapdata(i2c, pt3); pt3 773 drivers/media/pci/pt3/pt3.c ret = pt3_alloc_adapter(pt3, i); pt3 777 drivers/media/pci/pt3/pt3.c ret = pt3_attach_fe(pt3, i); pt3 786 drivers/media/pci/pt3/pt3.c ret = pt3_fe_init(pt3); pt3 800 drivers/media/pci/pt3/pt3.c pt3_cleanup_adapter(pt3, i--); pt3 803 drivers/media/pci/pt3/pt3.c kfree(pt3->i2c_buf); pt3 805 drivers/media/pci/pt3/pt3.c if (pt3->regs[0]) pt3 806 drivers/media/pci/pt3/pt3.c pci_iounmap(pdev, pt3->regs[0]); pt3 807 drivers/media/pci/pt3/pt3.c if (pt3->regs[1]) pt3 808 drivers/media/pci/pt3/pt3.c pci_iounmap(pdev, pt3->regs[1]); pt3 810 drivers/media/pci/pt3/pt3.c kfree(pt3); pt3 174 drivers/media/pci/pt3/pt3.h extern void pt3_i2c_reset(struct pt3_board *pt3); pt3 175 drivers/media/pci/pt3/pt3.h extern int pt3_init_all_demods(struct pt3_board *pt3); pt3 176 drivers/media/pci/pt3/pt3.h extern int pt3_init_all_mxl301rf(struct pt3_board *pt3); pt3 26 drivers/media/pci/pt3/pt3_dma.c struct pt3_board *pt3 = adap->dvb_adap.priv; pt3 32 drivers/media/pci/pt3/pt3_dma.c stat = ioread32(pt3->regs[0] + base + OFST_STATUS); pt3 36 drivers/media/pci/pt3/pt3_dma.c iowrite32(0x02, pt3->regs[0] + base + OFST_DMA_CTL); pt3 38 drivers/media/pci/pt3/pt3_dma.c stat = ioread32(pt3->regs[0] + base + OFST_STATUS); pt3 48 drivers/media/pci/pt3/pt3_dma.c struct pt3_board *pt3 = adap->dvb_adap.priv; pt3 51 drivers/media/pci/pt3/pt3_dma.c iowrite32(0x02, pt3->regs[0] + base + OFST_DMA_CTL); pt3 53 drivers/media/pci/pt3/pt3_dma.c pt3->regs[0] + base + OFST_DMA_DESC_L); pt3 55 drivers/media/pci/pt3/pt3_dma.c pt3->regs[0] + base + OFST_DMA_DESC_H); pt3 56 drivers/media/pci/pt3/pt3_dma.c iowrite32(0x01, pt3->regs[0] + base + OFST_DMA_CTL); pt3 129 drivers/media/pci/pt3/pt3_dma.c struct pt3_board *pt3; pt3 132 drivers/media/pci/pt3/pt3_dma.c pt3 = adap->dvb_adap.priv; pt3 134 drivers/media/pci/pt3/pt3_dma.c dma_free_coherent(&pt3->pdev->dev, DATA_BUF_SZ, pt3 139 drivers/media/pci/pt3/pt3_dma.c dma_free_coherent(&pt3->pdev->dev, PAGE_SIZE, pt3 147 drivers/media/pci/pt3/pt3_dma.c struct pt3_board *pt3; pt3 155 drivers/media/pci/pt3/pt3_dma.c pt3 = adap->dvb_adap.priv; pt3 158 drivers/media/pci/pt3/pt3_dma.c for (i = 0; i < pt3->num_bufs; i++) { pt3 159 drivers/media/pci/pt3/pt3_dma.c p = dma_alloc_coherent(&pt3->pdev->dev, DATA_BUF_SZ, pt3 174 drivers/media/pci/pt3/pt3_dma.c p = dma_alloc_coherent(&pt3->pdev->dev, PAGE_SIZE, pt3 126 drivers/media/pci/pt3/pt3_i2c.c static int wait_i2c_result(struct pt3_board *pt3, u32 *result, int max_wait) pt3 132 drivers/media/pci/pt3/pt3_i2c.c v = ioread32(pt3->regs[0] + REG_I2C_R); pt3 145 drivers/media/pci/pt3/pt3_i2c.c static int send_i2c_cmd(struct pt3_board *pt3, u32 addr) pt3 150 drivers/media/pci/pt3/pt3_i2c.c if (wait_i2c_result(pt3, NULL, 50)) { pt3 151 drivers/media/pci/pt3/pt3_i2c.c dev_warn(&pt3->pdev->dev, "(%s) prev. transaction stalled\n", pt3 156 drivers/media/pci/pt3/pt3_i2c.c iowrite32(PT3_I2C_RUN | addr, pt3->regs[0] + REG_I2C_W); pt3 159 drivers/media/pci/pt3/pt3_i2c.c if (wait_i2c_result(pt3, &ret, 500) || (ret & STAT_SEQ_ERROR)) { pt3 160 drivers/media/pci/pt3/pt3_i2c.c dev_warn(&pt3->pdev->dev, "(%s) failed.\n", __func__); pt3 170 drivers/media/pci/pt3/pt3_i2c.c int pt3_init_all_demods(struct pt3_board *pt3) pt3 172 drivers/media/pci/pt3/pt3_i2c.c ioread32(pt3->regs[0] + REG_I2C_R); pt3 173 drivers/media/pci/pt3/pt3_i2c.c return send_i2c_cmd(pt3, PT3_CMD_ADDR_INIT_DEMOD); pt3 177 drivers/media/pci/pt3/pt3_i2c.c int pt3_init_all_mxl301rf(struct pt3_board *pt3) pt3 180 drivers/media/pci/pt3/pt3_i2c.c return send_i2c_cmd(pt3, PT3_CMD_ADDR_INIT_TUNER); pt3 183 drivers/media/pci/pt3/pt3_i2c.c void pt3_i2c_reset(struct pt3_board *pt3) pt3 185 drivers/media/pci/pt3/pt3_i2c.c iowrite32(PT3_I2C_RESET, pt3->regs[0] + REG_I2C_W); pt3 194 drivers/media/pci/pt3/pt3_i2c.c struct pt3_board *pt3; pt3 199 drivers/media/pci/pt3/pt3_i2c.c pt3 = i2c_get_adapdata(adap); pt3 200 drivers/media/pci/pt3/pt3_i2c.c cbuf = pt3->i2c_buf; pt3 204 drivers/media/pci/pt3/pt3_i2c.c dev_warn(&pt3->pdev->dev, pt3 211 drivers/media/pci/pt3/pt3_i2c.c memcpy_toio(pt3->regs[1] + PT3_I2C_BASE + PT3_CMD_ADDR_NORMAL / 2, pt3 214 drivers/media/pci/pt3/pt3_i2c.c if (send_i2c_cmd(pt3, PT3_CMD_ADDR_NORMAL) < 0) pt3 217 drivers/media/pci/pt3/pt3_i2c.c p = pt3->regs[1] + PT3_I2C_BASE;