tsin 203 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c struct channel_info *tsin; tsin 207 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c tsin = fei->channel_data[n]; tsin 209 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c if (tsin) { tsin 210 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c if (tsin->frontend) { tsin 211 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c dvb_unregister_frontend(tsin->frontend); tsin 212 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c dvb_frontend_detach(tsin->frontend); tsin 215 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c i2c_put_adapter(tsin->i2c_adapter); tsin 217 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c if (tsin->i2c_client) { tsin 218 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c module_put(tsin->i2c_client->dev.driver->owner); tsin 219 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c i2c_unregister_device(tsin->i2c_client); tsin 232 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c struct channel_info *tsin; tsin 241 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c tsin = fei->channel_data[n]; tsin 243 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c res = c8sectpfe_frontend_attach(&frontend, *c8sectpfe, tsin, n); tsin 254 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c tsin->frontend = frontend; tsin 426 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static void free_input_block(struct c8sectpfei *fei, struct channel_info *tsin) tsin 428 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!fei || !tsin) tsin 431 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->back_buffer_busaddr) tsin 432 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!dma_mapping_error(fei->dev, tsin->back_buffer_busaddr)) tsin 433 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c dma_unmap_single(fei->dev, tsin->back_buffer_busaddr, tsin 436 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c kfree(tsin->back_buffer_start); tsin 438 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->pid_buffer_busaddr) tsin 439 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!dma_mapping_error(fei->dev, tsin->pid_buffer_busaddr)) tsin 440 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c dma_unmap_single(fei->dev, tsin->pid_buffer_busaddr, tsin 443 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c kfree(tsin->pid_buffer_start); tsin 449 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c struct channel_info *tsin) tsin 455 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!fei || !tsin) tsin 459 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c , __func__, __LINE__, tsin, tsin->tsin_id); tsin 461 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c init_completion(&tsin->idle_completion); tsin 463 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->back_buffer_start = kzalloc(FEI_BUFFER_SIZE + tsin 466 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!tsin->back_buffer_start) { tsin 472 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->back_buffer_aligned = tsin->back_buffer_start tsin 475 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->back_buffer_aligned = (void *) tsin 476 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c (((uintptr_t) tsin->back_buffer_aligned) & ~0x1F); tsin 478 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->back_buffer_busaddr = dma_map_single(fei->dev, tsin 479 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c (void *)tsin->back_buffer_aligned, tsin 483 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (dma_mapping_error(fei->dev, tsin->back_buffer_busaddr)) { tsin 494 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_start = kzalloc(2048, GFP_KERNEL); tsin 496 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!tsin->pid_buffer_start) { tsin 508 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_aligned = tsin->pid_buffer_start + tsin 511 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_aligned = (void *) tsin 512 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c (((uintptr_t) tsin->pid_buffer_aligned) & ~0x3ff); tsin 514 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_busaddr = dma_map_single(fei->dev, tsin 515 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_aligned, tsin 519 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (dma_mapping_error(fei->dev, tsin->pid_buffer_busaddr)) { tsin 527 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pid_buffer_busaddr, tsin 531 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c snprintf(tsin_pin_name, MAX_NAME, "tsin%d-%s", tsin->tsin_id, tsin 532 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c (tsin->serial_not_parallel ? "serial" : "parallel")); tsin 534 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->pstate = pinctrl_lookup_state(fei->pinctrl, tsin_pin_name); tsin 535 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (IS_ERR(tsin->pstate)) { tsin 538 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c ret = PTR_ERR(tsin->pstate); tsin 542 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c ret = pinctrl_select_state(fei->pinctrl, tsin->pstate); tsin 552 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tmp |= BIT(tsin->tsin_id); tsin 555 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->serial_not_parallel) tsin 558 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->invert_ts_clk) tsin 561 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->async_not_sync) tsin 566 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tmp, fei->io + C8SECTPFE_IB_IP_FMT_CFG(tsin->tsin_id)); tsin 571 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c fei->io + C8SECTPFE_IB_SYNCLCKDRP_CFG(tsin->tsin_id)); tsin 573 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(TS_PKT_SIZE, fei->io + C8SECTPFE_IB_PKT_LEN(tsin->tsin_id)); tsin 577 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->fifo = (tsin->tsin_id * FIFO_LEN); tsin 579 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo, fei->io + C8SECTPFE_IB_BUFF_STRT(tsin->tsin_id)); tsin 580 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo + FIFO_LEN - 1, tsin 581 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c fei->io + C8SECTPFE_IB_BUFF_END(tsin->tsin_id)); tsin 583 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo, fei->io + C8SECTPFE_IB_READ_PNT(tsin->tsin_id)); tsin 584 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo, fei->io + C8SECTPFE_IB_WRT_PNT(tsin->tsin_id)); tsin 586 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->pid_buffer_busaddr, tsin 587 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c fei->io + PIDF_BASE(tsin->tsin_id)); tsin 590 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->tsin_id, readl(fei->io + PIDF_BASE(tsin->tsin_id)), tsin 591 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c &tsin->pid_buffer_busaddr); tsin 604 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(tsin->tsin_id)); tsin 607 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->tsin_id, tsin 608 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c readl(fei->io + C8SECTPFE_IB_WRT_PNT(tsin->tsin_id)), tsin 609 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c readl(fei->io + C8SECTPFE_IB_READ_PNT(tsin->tsin_id)), tsin 610 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c readl(fei->io + C8SECTPFE_IB_BUFF_STRT(tsin->tsin_id)), tsin 611 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c readl(fei->io + C8SECTPFE_IB_BUFF_END(tsin->tsin_id))); tsin 614 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->irec = fei->io + DMA_MEMDMA_OFFSET + DMA_DMEM_OFFSET + tsin 620 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->irec += (tsin->tsin_id * DMA_PRDS_SIZE); tsin 622 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo, tsin->irec + DMA_PRDS_MEMBASE); tsin 624 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->fifo + FIFO_LEN - 1, tsin->irec + DMA_PRDS_MEMTOP); tsin 626 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel((188 + 7)&~7, tsin->irec + DMA_PRDS_PKTSIZE); tsin 628 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(0x1, tsin->irec + DMA_PRDS_TPENABLE); tsin 632 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->back_buffer_busaddr, tsin->irec + DMA_PRDS_BUSBASE_TP(0)); tsin 634 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tmp = tsin->back_buffer_busaddr + FEI_BUFFER_SIZE - 1; tsin 635 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tmp, tsin->irec + DMA_PRDS_BUSTOP_TP(0)); tsin 637 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->back_buffer_busaddr, tsin->irec + DMA_PRDS_BUSWP_TP(0)); tsin 638 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c writel(tsin->back_buffer_busaddr, tsin->irec + DMA_PRDS_BUSRP_TP(0)); tsin 641 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tasklet_init(&tsin->tsklet, channel_swdemux_tsklet, tsin 642 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c (unsigned long) tsin); tsin 647 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c free_input_block(fei, tsin); tsin 673 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c struct channel_info *tsin; tsin 773 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin = fei->channel_data[index]; tsin 775 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->fei = fei; tsin 777 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c ret = of_property_read_u32(child, "tsin-num", &tsin->tsin_id); tsin 784 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (tsin->tsin_id > fei->hw_stats.num_ib) { tsin 787 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->tsin_id, fei->hw_stats.num_ib); tsin 792 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->invert_ts_clk = of_property_read_bool(child, tsin 795 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->serial_not_parallel = of_property_read_bool(child, tsin 798 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->async_not_sync = of_property_read_bool(child, tsin 802 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c &tsin->dvb_card); tsin 814 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->i2c_adapter = tsin 816 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c if (!tsin->i2c_adapter) { tsin 824 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->rst_gpio = of_get_named_gpio(child, "reset-gpios", 0); tsin 826 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c ret = gpio_is_valid(tsin->rst_gpio); tsin 830 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->tsin_id, tsin->rst_gpio); tsin 834 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c ret = devm_gpio_request_one(dev, tsin->rst_gpio, tsin 844 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c gpio_direction_output(tsin->rst_gpio, 0); tsin 846 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c gpio_direction_output(tsin->rst_gpio, 1); tsin 850 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->demux_mapping = index; tsin 855 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->tsin_id, tsin->invert_ts_clk, tsin 856 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->serial_not_parallel, tsin->async_not_sync, tsin 857 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin->dvb_card); tsin 928 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c struct channel_info *tsin; tsin 934 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin = fei->channel_data[index]; tsin 951 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c tsin = fei->channel_data[index]; tsin 952 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c free_input_block(fei, tsin); tsin 109 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c struct channel_info *tsin, int chan_num) tsin 119 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c if (!tsin) tsin 122 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c switch (tsin->dvb_card) { tsin 128 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c if (tsin->dvb_card == STV0367_TDA18212_NIMA_1) tsin 131 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c tsin->i2c_adapter); tsin 132 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c else if (tsin->dvb_card == STV0367_TDA18212_NIMB_1) tsin 135 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c tsin->i2c_adapter); tsin 139 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c tsin->i2c_adapter); tsin 144 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c , __func__, dvb_card_str(tsin->dvb_card)); tsin 173 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c client = i2c_new_device(tsin->i2c_adapter, &tda18212_info); tsin 185 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c tsin->i2c_client = client; tsin 191 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c tsin->i2c_adapter, STV090x_DEMODULATOR_0); tsin 195 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c __func__, dvb_card_str(tsin->dvb_card)); tsin 200 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c &stv6110x_config, tsin->i2c_adapter); tsin 204 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c , __func__, dvb_card_str(tsin->dvb_card)); tsin 219 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c dvb_attach(lnbh24_attach, *fe, tsin->i2c_adapter, 0, 0, 0x9); tsin 225 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c __func__, dvb_card_str(tsin->dvb_card)); tsin 233 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c dvb_card_str(tsin->dvb_card)); tsin 14 drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.h struct c8sectpfe *c8sectpfe, struct channel_info *tsin,