fei                36 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 				struct c8sectpfei *fei)
fei                54 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "dvb_dmx_init failed (errno = %d)\n",
fei                65 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "dvb_dmxdev_init failed (errno = %d)\n",
fei                76 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "add_frontend failed (errno = %d)\n", result);
fei                84 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "add_frontend failed (%d)\n", result);
fei                91 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "connect_frontend (%d)\n", result);
fei               126 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c static struct c8sectpfe *c8sectpfe_create(struct c8sectpfei *fei,
fei               142 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	c8sectpfe->device = fei->dev;
fei               145 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 					THIS_MODULE, fei->dev, ids);
fei               147 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		dev_err(fei->dev, "dvb_register_adapter failed (errno = %d)\n",
fei               152 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	c8sectpfe->adapter.priv = fei;
fei               154 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	for (i = 0; i < fei->tsin_count; i++) {
fei               157 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		c8sectpfe->demux[i].c8sectpfei = fei;
fei               160 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 				start_feed, stop_feed, fei);
fei               162 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 			dev_err(fei->dev,
fei               173 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	c8sectpfe->num_feeds = fei->tsin_count;
fei               200 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 					struct c8sectpfei *fei)
fei               205 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	for (n = 0; n < fei->tsin_count; n++) {
fei               207 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		tsin = fei->channel_data[n];
fei               228 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 				struct c8sectpfei *fei,
fei               236 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	*c8sectpfe = c8sectpfe_create(fei, start_feed, stop_feed);
fei               240 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	for (n = 0; n < fei->tsin_count; n++) {
fei               241 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 		tsin = fei->channel_data[n];
fei               249 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 			dev_err(fei->dev, "dvb_register_frontend failed (%d)\n",
fei               260 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.c 	c8sectpfe_tuner_unregister_frontend(*c8sectpfe, fei);
fei                54 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.h 					struct c8sectpfei *fei,
fei                59 drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.h 						struct c8sectpfei *fei);
fei                49 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static int load_c8sectpfe_fw(struct c8sectpfei *fei);
fei                63 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = from_timer(fei, t, timer);
fei                68 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	for (chan_num = 0; chan_num < fei->tsin_count; chan_num++) {
fei                69 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		channel = fei->channel_data[chan_num];
fei                76 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->timer.expires = jiffies +	msecs_to_jiffies(POLL_MSECS);
fei                77 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	add_timer(&fei->timer);
fei                83 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei;
fei                91 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei = channel->fei;
fei               106 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dma_sync_single_for_cpu(fei->dev,
fei               113 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev,
fei               119 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			&fei->c8sectpfe[0]->
fei               138 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = stdemux->c8sectpfei;
fei               150 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "%s:%d Error bailing\n"
fei               164 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dev_err(fei->dev, "%s:%d Error bailing\n"
fei               170 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!atomic_read(&fei->fw_loaded)) {
fei               171 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		ret = load_c8sectpfe_fw(fei);
fei               176 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	mutex_lock(&fei->lock);
fei               178 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	channel = fei->channel_data[stdemux->tsin_index];
fei               184 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tmp = readl(fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id));
fei               186 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id));
fei               193 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dma_sync_single_for_device(fei->dev,
fei               200 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (fei->global_feed_count == 0) {
fei               201 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->timer.expires = jiffies +
fei               204 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		add_timer(&fei->timer);
fei               209 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_dbg(fei->dev, "Starting channel=%p\n", channel);
fei               216 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			fei->io + C8SECTPFE_IB_BUFF_STRT(channel->tsin_id));
fei               218 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			fei->io + C8SECTPFE_IB_BUFF_END(channel->tsin_id));
fei               221 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			fei->io + C8SECTPFE_IB_READ_PNT(channel->tsin_id));
fei               223 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			fei->io + C8SECTPFE_IB_WRT_PNT(channel->tsin_id));
fei               238 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			, fei->io + C8SECTPFE_IB_SYS(channel->tsin_id));
fei               243 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_dbg(fei->dev, "%s:%d Starting DMA feed on stdemux=%p\n"
fei               248 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->global_feed_count++;
fei               250 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	mutex_unlock(&fei->lock);
fei               260 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = stdemux->c8sectpfei;
fei               267 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!atomic_read(&fei->fw_loaded)) {
fei               268 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		ret = load_c8sectpfe_fw(fei);
fei               273 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	mutex_lock(&fei->lock);
fei               275 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	channel = fei->channel_data[stdemux->tsin_index];
fei               280 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tmp = readl(fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id));
fei               282 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id));
fei               288 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dma_sync_single_for_device(fei->dev,
fei               295 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		channel = fei->channel_data[stdemux->tsin_index];
fei               300 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(0, fei->io + C8SECTPFE_IB_SYS(channel->tsin_id));
fei               309 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(idlereq, fei->io + DMA_IDLE_REQ);
fei               316 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dev_warn(fei->dev,
fei               333 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_dbg(fei->dev,
fei               342 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dma_sync_single_for_device(fei->dev,
fei               350 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (--fei->global_feed_count == 0) {
fei               351 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_dbg(fei->dev, "%s:%d global_feed_count=%d\n"
fei               352 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			, __func__, __LINE__, fei->global_feed_count);
fei               354 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		del_timer(&fei->timer);
fei               357 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	mutex_unlock(&fei->lock);
fei               362 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static struct channel_info *find_channel(struct c8sectpfei *fei, int tsin_num)
fei               367 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (!fei->channel_data[i])
fei               370 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (fei->channel_data[i]->tsin_id == tsin_num)
fei               371 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			return fei->channel_data[i];
fei               377 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static void c8sectpfe_getconfig(struct c8sectpfei *fei)
fei               379 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfe_hw *hw = &fei->hw_stats;
fei               381 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_ib = readl(fei->io + SYS_CFG_NUM_IB);
fei               382 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_mib = readl(fei->io + SYS_CFG_NUM_MIB);
fei               383 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_swts = readl(fei->io + SYS_CFG_NUM_SWTS);
fei               384 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_tsout = readl(fei->io + SYS_CFG_NUM_TSOUT);
fei               385 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_ccsc = readl(fei->io + SYS_CFG_NUM_CCSC);
fei               386 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_ram = readl(fei->io + SYS_CFG_NUM_RAM);
fei               387 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	hw->num_tp = readl(fei->io + SYS_CFG_NUM_TP);
fei               389 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "C8SECTPFE hw supports the following:\n");
fei               390 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Input Blocks: %d\n", hw->num_ib);
fei               391 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Merged Input Blocks: %d\n", hw->num_mib);
fei               392 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Software Transport Stream Inputs: %d\n"
fei               394 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Transport Stream Output: %d\n", hw->num_tsout);
fei               395 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Cable Card Converter: %d\n", hw->num_ccsc);
fei               396 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "RAMs supported by C8SECTPFE: %d\n", hw->num_ram);
fei               397 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Tango TPs supported by C8SECTPFE: %d\n"
fei               403 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = priv;
fei               406 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	unsigned long tmp = readl(fei->io + DMA_IDLE_REQ);
fei               412 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	for_each_set_bit(bit, &tmp, fei->hw_stats.num_ib) {
fei               414 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		chan = find_channel(fei, bit);
fei               420 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(0, fei->io + DMA_IDLE_REQ);
fei               426 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static void free_input_block(struct c8sectpfei *fei, struct channel_info *tsin)
fei               428 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!fei || !tsin)
fei               432 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (!dma_mapping_error(fei->dev, tsin->back_buffer_busaddr))
fei               433 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dma_unmap_single(fei->dev, tsin->back_buffer_busaddr,
fei               439 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (!dma_mapping_error(fei->dev, tsin->pid_buffer_busaddr))
fei               440 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dma_unmap_single(fei->dev, tsin->pid_buffer_busaddr,
fei               448 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static int configure_memdma_and_inputblock(struct c8sectpfei *fei,
fei               455 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!fei || !tsin)
fei               458 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev, "%s:%d Configuring channel=%p tsin=%d\n"
fei               478 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	tsin->back_buffer_busaddr = dma_map_single(fei->dev,
fei               483 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (dma_mapping_error(fei->dev, tsin->back_buffer_busaddr)) {
fei               484 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "failed to map back_buffer\n");
fei               514 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	tsin->pid_buffer_busaddr = dma_map_single(fei->dev,
fei               519 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (dma_mapping_error(fei->dev, tsin->pid_buffer_busaddr)) {
fei               520 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "failed to map pid_bitmap\n");
fei               526 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dma_sync_single_for_device(fei->dev,
fei               534 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	tsin->pstate = pinctrl_lookup_state(fei->pinctrl, tsin_pin_name);
fei               536 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "%s: pinctrl_lookup_state couldn't find %s state\n"
fei               542 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	ret = pinctrl_select_state(fei->pinctrl, tsin->pstate);
fei               545 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "%s: pinctrl_select_state failed\n"
fei               551 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	tmp = readl(fei->io + SYS_INPUT_CLKEN);
fei               553 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tmp, fei->io + SYS_INPUT_CLKEN);
fei               566 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tmp, fei->io + C8SECTPFE_IB_IP_FMT_CFG(tsin->tsin_id));
fei               571 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->io + C8SECTPFE_IB_SYNCLCKDRP_CFG(tsin->tsin_id));
fei               573 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(TS_PKT_SIZE, fei->io + C8SECTPFE_IB_PKT_LEN(tsin->tsin_id));
fei               579 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tsin->fifo, fei->io + C8SECTPFE_IB_BUFF_STRT(tsin->tsin_id));
fei               581 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->io + C8SECTPFE_IB_BUFF_END(tsin->tsin_id));
fei               583 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tsin->fifo, fei->io + C8SECTPFE_IB_READ_PNT(tsin->tsin_id));
fei               584 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tsin->fifo, fei->io + C8SECTPFE_IB_WRT_PNT(tsin->tsin_id));
fei               587 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->io + PIDF_BASE(tsin->tsin_id));
fei               589 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev, "chan=%d PIDF_BASE=0x%x pid_bus_addr=%pad\n",
fei               590 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tsin->tsin_id, readl(fei->io + PIDF_BASE(tsin->tsin_id)),
fei               604 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(tsin->tsin_id));
fei               606 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev, "chan=%d setting wp: %d, rp: %d, buf: %d-%d\n",
fei               608 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		readl(fei->io + C8SECTPFE_IB_WRT_PNT(tsin->tsin_id)),
fei               609 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		readl(fei->io + C8SECTPFE_IB_READ_PNT(tsin->tsin_id)),
fei               610 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		readl(fei->io + C8SECTPFE_IB_BUFF_STRT(tsin->tsin_id)),
fei               611 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		readl(fei->io + C8SECTPFE_IB_BUFF_END(tsin->tsin_id)));
fei               614 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	tsin->irec = fei->io + DMA_MEMDMA_OFFSET + DMA_DMEM_OFFSET +
fei               615 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			readl(fei->io + DMA_PTRREC_BASE);
fei               647 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	free_input_block(fei, tsin);
fei               653 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = priv;
fei               655 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_err(fei->dev, "%s: error handling not yet implemented\n"
fei               670 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei;
fei               676 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei = devm_kzalloc(dev, sizeof(struct c8sectpfei), GFP_KERNEL);
fei               677 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!fei)
fei               680 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->dev = dev;
fei               683 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->io = devm_ioremap_resource(dev, res);
fei               684 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (IS_ERR(fei->io))
fei               685 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		return PTR_ERR(fei->io);
fei               689 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->sram = devm_ioremap_resource(dev, res);
fei               690 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (IS_ERR(fei->sram))
fei               691 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		return PTR_ERR(fei->sram);
fei               693 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->sram_size = resource_size(res);
fei               695 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->idle_irq = platform_get_irq_byname(pdev, "c8sectpfe-idle-irq");
fei               696 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (fei->idle_irq < 0)
fei               697 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		return fei->idle_irq;
fei               699 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->error_irq = platform_get_irq_byname(pdev, "c8sectpfe-error-irq");
fei               700 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (fei->error_irq < 0)
fei               701 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		return fei->error_irq;
fei               703 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	platform_set_drvdata(pdev, fei);
fei               705 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->c8sectpfeclk = devm_clk_get(dev, "c8sectpfe");
fei               706 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (IS_ERR(fei->c8sectpfeclk)) {
fei               708 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		return PTR_ERR(fei->c8sectpfeclk);
fei               711 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	ret = clk_prepare_enable(fei->c8sectpfeclk);
fei               718 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(0, fei->io + SYS_INPUT_CLKEN);
fei               721 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(MEMDMAENABLE, fei->io + SYS_OTHER_CLKEN);
fei               724 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	memset_io(fei->sram, 0x0, fei->sram_size);
fei               726 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	c8sectpfe_getconfig(fei);
fei               728 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	ret = devm_request_irq(dev, fei->idle_irq, c8sectpfe_idle_irq_handler,
fei               729 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			0, "c8sectpfe-idle-irq", fei);
fei               735 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	ret = devm_request_irq(dev, fei->error_irq,
fei               737 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 				"c8sectpfe-error-irq", fei);
fei               743 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->tsin_count = of_get_child_count(np);
fei               745 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (fei->tsin_count > C8SECTPFE_MAX_TSIN_CHAN ||
fei               746 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->tsin_count > fei->hw_stats.num_ib) {
fei               753 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	fei->pinctrl = devm_pinctrl_get(dev);
fei               755 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (IS_ERR(fei->pinctrl)) {
fei               757 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		ret = PTR_ERR(fei->pinctrl);
fei               764 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		fei->channel_data[index] = devm_kzalloc(dev,
fei               768 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (!fei->channel_data[index]) {
fei               773 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tsin = fei->channel_data[index];
fei               775 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tsin->fei = fei;
fei               784 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		if (tsin->tsin_id > fei->hw_stats.num_ib) {
fei               787 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 				tsin->tsin_id, fei->hw_stats.num_ib);
fei               838 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 				, fei->channel_data[index]->tsin_id);
fei               852 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_dbg(fei->dev,
fei               854 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			fei->channel_data[index], index,
fei               863 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	timer_setup(&fei->timer, c8sectpfe_timer_interrupt, 0);
fei               865 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	mutex_init(&fei->lock);
fei               868 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	ret = c8sectpfe_tuner_register_frontend(&fei->c8sectpfe[0],
fei               869 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 					(void *)fei,
fei               878 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	c8sectpfe_debugfs_init(fei);
fei               883 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	clk_disable_unprepare(fei->c8sectpfeclk);
fei               889 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct c8sectpfei *fei = platform_get_drvdata(pdev);
fei               893 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	wait_for_completion(&fei->fw_ack);
fei               895 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	c8sectpfe_tuner_unregister_frontend(fei->c8sectpfe[0], fei);
fei               900 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	for (i = 0; i < fei->tsin_count; i++) {
fei               901 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		channel = fei->channel_data[i];
fei               902 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		free_input_block(fei, channel);
fei               905 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	c8sectpfe_debugfs_exit(fei);
fei               907 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Stopping memdma SLIM core\n");
fei               908 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (readl(fei->io + DMA_CPU_RUN))
fei               909 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(0x0,  fei->io + DMA_CPU_RUN);
fei               912 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (readl(fei->io + SYS_INPUT_CLKEN))
fei               913 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(0, fei->io + SYS_INPUT_CLKEN);
fei               915 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (readl(fei->io + SYS_OTHER_CLKEN))
fei               916 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		writel(0, fei->io + SYS_OTHER_CLKEN);
fei               918 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (fei->c8sectpfeclk)
fei               919 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		clk_disable_unprepare(fei->c8sectpfeclk);
fei               925 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static int configure_channels(struct c8sectpfei *fei)
fei               929 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	struct device_node *child, *np = fei->dev->of_node;
fei               934 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tsin = fei->channel_data[index];
fei               936 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		ret = configure_memdma_and_inputblock(fei,
fei               937 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 						fei->channel_data[index]);
fei               940 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dev_err(fei->dev,
fei               950 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	for (index = 0; index < fei->tsin_count; index++) {
fei               951 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		tsin = fei->channel_data[index];
fei               952 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		free_input_block(fei, tsin);
fei               958 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c c8sectpfe_elf_sanity_check(struct c8sectpfei *fei, const struct firmware *fw)
fei               964 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "failed to load %s\n", FIRMWARE_MEMDMA);
fei               969 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Image is too small\n");
fei               978 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Unsupported class: %d\n", class);
fei               983 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Unsupported firmware endianness\n");
fei               988 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Image is too small\n");
fei               993 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Image is corrupted (bad magic)\n");
fei              1003 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Invalid ELF magic\n");
fei              1008 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Unsupported ELF header type\n");
fei              1013 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "Firmware size is too small\n");
fei              1021 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static void load_imem_segment(struct c8sectpfei *fei, Elf32_Phdr *phdr,
fei              1035 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev,
fei              1057 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static void load_dmem_segment(struct c8sectpfei *fei, Elf32_Phdr *phdr,
fei              1065 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_dbg(fei->dev,
fei              1077 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static int load_slim_core_fw(const struct firmware *fw, struct c8sectpfei *fei)
fei              1084 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	if (!fw || !fei)
fei              1101 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dev_err(fei->dev,
fei              1114 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dst = (u8 __iomem *) fei->io + DMA_MEMDMA_IMEM;
fei              1120 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			load_imem_segment(fei, phdr, fw, dst, i);
fei              1122 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			dst = (u8 __iomem *) fei->io + DMA_MEMDMA_DMEM;
fei              1128 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 			load_dmem_segment(fei, phdr, fw, dst, i);
fei              1136 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c static int load_c8sectpfe_fw(struct c8sectpfei *fei)
fei              1141 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Loading firmware: %s\n", FIRMWARE_MEMDMA);
fei              1143 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	err = request_firmware(&fw, FIRMWARE_MEMDMA, fei->dev);
fei              1147 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	err = c8sectpfe_elf_sanity_check(fei, fw);
fei              1149 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "c8sectpfe_elf_sanity_check failed err=(%d)\n"
fei              1155 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	err = load_slim_core_fw(fw, fei);
fei              1157 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "load_slim_core_fw failed err=(%d)\n", err);
fei              1162 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	err = configure_channels(fei);
fei              1164 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 		dev_err(fei->dev, "configure_channels failed err=(%d)\n", err);
fei              1172 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(0x1, fei->io + DMA_PER_STBUS_SYNC);
fei              1174 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	dev_info(fei->dev, "Boot the memdma SLIM core\n");
fei              1175 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	writel(0x1,  fei->io + DMA_CPU_RUN);
fei              1177 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c 	atomic_set(&fei->fw_loaded, 1);
fei                54 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.h 	struct c8sectpfei *fei;
fei               226 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c void c8sectpfe_debugfs_init(struct c8sectpfei *fei)
fei               235 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->root = root;
fei               237 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->regset =  devm_kzalloc(fei->dev, sizeof(*fei->regset), GFP_KERNEL);
fei               238 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	if (!fei->regset)
fei               241 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->regset->regs = fei_sys_regs;
fei               242 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->regset->nregs = ARRAY_SIZE(fei_sys_regs);
fei               243 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->regset->base = fei->io;
fei               246 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 				fei->regset);
fei               248 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 		dev_err(fei->dev,
fei               260 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c void c8sectpfe_debugfs_exit(struct c8sectpfei *fei)
fei               262 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	debugfs_remove_recursive(fei->root);
fei               263 drivers/media/platform/sti/c8sectpfe/c8sectpfe-debugfs.c 	fei->root = NULL;
fei              2135 fs/cifs/inode.c int cifs_fiemap(struct inode *inode, struct fiemap_extent_info *fei, u64 start,
fei              2163 fs/cifs/inode.c 		rc = server->ops->fiemap(tcon, cfile, fei, start, len);
fei              3230 fs/cifs/smb2ops.c 		       struct fiemap_extent_info *fei, u64 start, u64 len)
fei              3238 fs/cifs/smb2ops.c 	if (fiemap_check_flags(fei, FIEMAP_FLAG_SYNC))
fei              3275 fs/cifs/smb2ops.c 		rc = fiemap_fill_next_extent(fei,
fei               117 include/linux/nvme-tcp.h 	__le32			fei;