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;