ichan              30 drivers/dma/ipu/ipu_idmac.c static int ipu_disable_channel(struct idmac *idmac, struct idmac_channel *ichan,
ichan             602 drivers/dma/ipu/ipu_idmac.c static int ipu_enable_channel(struct idmac *idmac, struct idmac_channel *ichan)
ichan             605 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan             613 drivers/dma/ipu/ipu_idmac.c 	ichan->active_buffer = 0;
ichan             614 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_ENABLED;
ichan             650 drivers/dma/ipu/ipu_idmac.c static int ipu_init_channel_buffer(struct idmac_channel *ichan,
ichan             657 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan             658 drivers/dma/ipu/ipu_idmac.c 	struct idmac *idmac = to_idmac(ichan->dma_chan.device);
ichan             698 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_READY;
ichan             729 drivers/dma/ipu/ipu_idmac.c static void ipu_update_channel_buffer(struct idmac_channel *ichan,
ichan             732 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan             742 drivers/dma/ipu/ipu_idmac.c 			ichan->status = IPU_CHANNEL_READY;
ichan             753 drivers/dma/ipu/ipu_idmac.c 			ichan->status = IPU_CHANNEL_READY;
ichan             773 drivers/dma/ipu/ipu_idmac.c static int ipu_submit_buffer(struct idmac_channel *ichan,
ichan             776 drivers/dma/ipu/ipu_idmac.c 	unsigned int chan_id = ichan->dma_chan.chan_id;
ichan             777 drivers/dma/ipu/ipu_idmac.c 	struct device *dev = &ichan->dma_chan.dev->device;
ichan             788 drivers/dma/ipu/ipu_idmac.c 	ipu_update_channel_buffer(ichan, buf_idx, sg_dma_address(sg));
ichan             798 drivers/dma/ipu/ipu_idmac.c static int ipu_submit_channel_buffers(struct idmac_channel *ichan,
ichan             805 drivers/dma/ipu/ipu_idmac.c 		if (!ichan->sg[i]) {
ichan             806 drivers/dma/ipu/ipu_idmac.c 			ichan->sg[i] = sg;
ichan             808 drivers/dma/ipu/ipu_idmac.c 			ret = ipu_submit_buffer(ichan, desc, sg, i);
ichan             822 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(tx->chan);
ichan             825 drivers/dma/ipu/ipu_idmac.c 	struct device *dev = &ichan->dma_chan.dev->device;
ichan             837 drivers/dma/ipu/ipu_idmac.c 	mutex_lock(&ichan->chan_mutex);
ichan             841 drivers/dma/ipu/ipu_idmac.c 	if (ichan->status < IPU_CHANNEL_READY) {
ichan             842 drivers/dma/ipu/ipu_idmac.c 		struct idmac_video_param *video = &ichan->params.video;
ichan             850 drivers/dma/ipu/ipu_idmac.c 		WARN_ON(ichan->sg[0] || ichan->sg[1]);
ichan             852 drivers/dma/ipu/ipu_idmac.c 		cookie = ipu_init_channel_buffer(ichan,
ichan             869 drivers/dma/ipu/ipu_idmac.c 	spin_lock_irqsave(&ichan->lock, flags);
ichan             871 drivers/dma/ipu/ipu_idmac.c 	list_add_tail(&desc->list, &ichan->queue);
ichan             873 drivers/dma/ipu/ipu_idmac.c 	ret = ipu_submit_channel_buffers(ichan, desc);
ichan             875 drivers/dma/ipu/ipu_idmac.c 	spin_unlock_irqrestore(&ichan->lock, flags);
ichan             882 drivers/dma/ipu/ipu_idmac.c 	if (ichan->status < IPU_CHANNEL_ENABLED) {
ichan             883 drivers/dma/ipu/ipu_idmac.c 		ret = ipu_enable_channel(idmac, ichan);
ichan             894 drivers/dma/ipu/ipu_idmac.c 		spin_lock_irqsave(&ichan->lock, flags);
ichan             896 drivers/dma/ipu/ipu_idmac.c 		spin_unlock_irqrestore(&ichan->lock, flags);
ichan             898 drivers/dma/ipu/ipu_idmac.c 		ichan->dma_chan.cookie = cookie;
ichan             902 drivers/dma/ipu/ipu_idmac.c 	mutex_unlock(&ichan->chan_mutex);
ichan             908 drivers/dma/ipu/ipu_idmac.c static int idmac_desc_alloc(struct idmac_channel *ichan, int n)
ichan             912 drivers/dma/ipu/ipu_idmac.c 	struct idmac *idmac = to_idmac(ichan->dma_chan.device);
ichan             920 drivers/dma/ipu/ipu_idmac.c 	ichan->n_tx_desc = n;
ichan             921 drivers/dma/ipu/ipu_idmac.c 	ichan->desc = desc;
ichan             922 drivers/dma/ipu/ipu_idmac.c 	INIT_LIST_HEAD(&ichan->queue);
ichan             923 drivers/dma/ipu/ipu_idmac.c 	INIT_LIST_HEAD(&ichan->free_list);
ichan             929 drivers/dma/ipu/ipu_idmac.c 		dma_async_tx_descriptor_init(txd, &ichan->dma_chan);
ichan             932 drivers/dma/ipu/ipu_idmac.c 		list_add(&desc->list, &ichan->free_list);
ichan             948 drivers/dma/ipu/ipu_idmac.c static int ipu_init_channel(struct idmac *idmac, struct idmac_channel *ichan)
ichan             950 drivers/dma/ipu/ipu_idmac.c 	union ipu_channel_param *params = &ichan->params;
ichan             952 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan             994 drivers/dma/ipu/ipu_idmac.c 	if (n_desc && !ichan->desc)
ichan             995 drivers/dma/ipu/ipu_idmac.c 		ret = idmac_desc_alloc(ichan, n_desc);
ichan            1007 drivers/dma/ipu/ipu_idmac.c static void ipu_uninit_channel(struct idmac *idmac, struct idmac_channel *ichan)
ichan            1009 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan            1029 drivers/dma/ipu/ipu_idmac.c 	ichan->sec_chan_en = false;
ichan            1056 drivers/dma/ipu/ipu_idmac.c 	ichan->n_tx_desc = 0;
ichan            1057 drivers/dma/ipu/ipu_idmac.c 	vfree(ichan->desc);
ichan            1058 drivers/dma/ipu/ipu_idmac.c 	ichan->desc = NULL;
ichan            1069 drivers/dma/ipu/ipu_idmac.c static int ipu_disable_channel(struct idmac *idmac, struct idmac_channel *ichan,
ichan            1072 drivers/dma/ipu/ipu_idmac.c 	enum ipu_channel channel = ichan->dma_chan.chan_id;
ichan            1105 drivers/dma/ipu/ipu_idmac.c 		     timeout && !ipu_irq_status(ichan->eof_irq); timeout--)
ichan            1123 drivers/dma/ipu/ipu_idmac.c static struct scatterlist *idmac_sg_next(struct idmac_channel *ichan,
ichan            1132 drivers/dma/ipu/ipu_idmac.c 	if ((*desc)->list.next == &ichan->queue)
ichan            1155 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = dev_id;
ichan            1156 drivers/dma/ipu/ipu_idmac.c 	struct device *dev = &ichan->dma_chan.dev->device;
ichan            1157 drivers/dma/ipu/ipu_idmac.c 	unsigned int chan_id = ichan->dma_chan.chan_id;
ichan            1168 drivers/dma/ipu/ipu_idmac.c 	dev_dbg(dev, "IDMAC irq %d, buf %d\n", irq, ichan->active_buffer);
ichan            1194 drivers/dma/ipu/ipu_idmac.c 	spin_lock(&ichan->lock);
ichan            1195 drivers/dma/ipu/ipu_idmac.c 	if (unlikely((ichan->active_buffer && (ready1 >> chan_id) & 1) ||
ichan            1196 drivers/dma/ipu/ipu_idmac.c 		     (!ichan->active_buffer && (ready0 >> chan_id) & 1)
ichan            1198 drivers/dma/ipu/ipu_idmac.c 		spin_unlock(&ichan->lock);
ichan            1202 drivers/dma/ipu/ipu_idmac.c 			ichan->active_buffer, ready0, ready1);
ichan            1206 drivers/dma/ipu/ipu_idmac.c 	if (unlikely(list_empty(&ichan->queue))) {
ichan            1207 drivers/dma/ipu/ipu_idmac.c 		ichan->sg[ichan->active_buffer] = NULL;
ichan            1208 drivers/dma/ipu/ipu_idmac.c 		spin_unlock(&ichan->lock);
ichan            1212 drivers/dma/ipu/ipu_idmac.c 			ichan->active_buffer, ready0, ready1);
ichan            1221 drivers/dma/ipu/ipu_idmac.c 	sg = &ichan->sg[ichan->active_buffer];
ichan            1222 drivers/dma/ipu/ipu_idmac.c 	sgnext = ichan->sg[!ichan->active_buffer];
ichan            1225 drivers/dma/ipu/ipu_idmac.c 		spin_unlock(&ichan->lock);
ichan            1229 drivers/dma/ipu/ipu_idmac.c 	desc = list_entry(ichan->queue.next, struct idmac_tx_desc, list);
ichan            1235 drivers/dma/ipu/ipu_idmac.c 		ichan->active_buffer, curbuf);
ichan            1238 drivers/dma/ipu/ipu_idmac.c 	sgnew = idmac_sg_next(ichan, &descnew, *sg);
ichan            1249 drivers/dma/ipu/ipu_idmac.c 		ichan->sg[!ichan->active_buffer] = sgnew;
ichan            1252 drivers/dma/ipu/ipu_idmac.c 			ipu_submit_buffer(ichan, descnew, sgnew, !ichan->active_buffer);
ichan            1257 drivers/dma/ipu/ipu_idmac.c 			ichan->status = IPU_CHANNEL_READY;
ichan            1263 drivers/dma/ipu/ipu_idmac.c 	sgnew = idmac_sg_next(ichan, &descnew, sgnew);
ichan            1277 drivers/dma/ipu/ipu_idmac.c 	    ipu_submit_buffer(ichan, descnew, sgnew, ichan->active_buffer) < 0) {
ichan            1281 drivers/dma/ipu/ipu_idmac.c 		spin_unlock(&ichan->lock);
ichan            1284 drivers/dma/ipu/ipu_idmac.c 		spin_lock(&ichan->lock);
ichan            1288 drivers/dma/ipu/ipu_idmac.c 	ichan->active_buffer = !ichan->active_buffer;
ichan            1294 drivers/dma/ipu/ipu_idmac.c 	spin_unlock(&ichan->lock);
ichan            1308 drivers/dma/ipu/ipu_idmac.c 		struct idmac_channel *ichan = ipu->channel + i;
ichan            1314 drivers/dma/ipu/ipu_idmac.c 		for (j = 0; j < ichan->n_tx_desc; j++) {
ichan            1315 drivers/dma/ipu/ipu_idmac.c 			desc = ichan->desc + j;
ichan            1316 drivers/dma/ipu/ipu_idmac.c 			spin_lock_irqsave(&ichan->lock, flags);
ichan            1318 drivers/dma/ipu/ipu_idmac.c 				list_move(&desc->list, &ichan->free_list);
ichan            1320 drivers/dma/ipu/ipu_idmac.c 					if (ichan->sg[0] == sg)
ichan            1321 drivers/dma/ipu/ipu_idmac.c 						ichan->sg[0] = NULL;
ichan            1322 drivers/dma/ipu/ipu_idmac.c 					else if (ichan->sg[1] == sg)
ichan            1323 drivers/dma/ipu/ipu_idmac.c 						ichan->sg[1] = NULL;
ichan            1327 drivers/dma/ipu/ipu_idmac.c 			spin_unlock_irqrestore(&ichan->lock, flags);
ichan            1338 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1353 drivers/dma/ipu/ipu_idmac.c 	mutex_lock(&ichan->chan_mutex);
ichan            1355 drivers/dma/ipu/ipu_idmac.c 	spin_lock_irqsave(&ichan->lock, flags);
ichan            1356 drivers/dma/ipu/ipu_idmac.c 	if (!list_empty(&ichan->free_list)) {
ichan            1357 drivers/dma/ipu/ipu_idmac.c 		desc = list_entry(ichan->free_list.next,
ichan            1367 drivers/dma/ipu/ipu_idmac.c 	spin_unlock_irqrestore(&ichan->lock, flags);
ichan            1369 drivers/dma/ipu/ipu_idmac.c 	mutex_unlock(&ichan->chan_mutex);
ichan            1379 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1386 drivers/dma/ipu/ipu_idmac.c 	ipu_select_buffer(chan->chan_id, ichan->active_buffer);
ichan            1399 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1405 drivers/dma/ipu/ipu_idmac.c 	mutex_lock(&ichan->chan_mutex);
ichan            1411 drivers/dma/ipu/ipu_idmac.c 	list_for_each_safe(list, tmp, &ichan->queue)
ichan            1414 drivers/dma/ipu/ipu_idmac.c 	ichan->sg[0] = NULL;
ichan            1415 drivers/dma/ipu/ipu_idmac.c 	ichan->sg[1] = NULL;
ichan            1419 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_INITIALIZED;
ichan            1421 drivers/dma/ipu/ipu_idmac.c 	mutex_unlock(&ichan->chan_mutex);
ichan            1428 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1434 drivers/dma/ipu/ipu_idmac.c 	ipu_disable_channel(idmac, ichan,
ichan            1435 drivers/dma/ipu/ipu_idmac.c 			    ichan->status >= IPU_CHANNEL_ENABLED);
ichan            1440 drivers/dma/ipu/ipu_idmac.c 	spin_lock_irqsave(&ichan->lock, flags);
ichan            1441 drivers/dma/ipu/ipu_idmac.c 	list_splice_init(&ichan->queue, &ichan->free_list);
ichan            1443 drivers/dma/ipu/ipu_idmac.c 	if (ichan->desc)
ichan            1444 drivers/dma/ipu/ipu_idmac.c 		for (i = 0; i < ichan->n_tx_desc; i++) {
ichan            1445 drivers/dma/ipu/ipu_idmac.c 			struct idmac_tx_desc *desc = ichan->desc + i;
ichan            1448 drivers/dma/ipu/ipu_idmac.c 				list_add(&desc->list, &ichan->free_list);
ichan            1453 drivers/dma/ipu/ipu_idmac.c 	ichan->sg[0] = NULL;
ichan            1454 drivers/dma/ipu/ipu_idmac.c 	ichan->sg[1] = NULL;
ichan            1455 drivers/dma/ipu/ipu_idmac.c 	spin_unlock_irqrestore(&ichan->lock, flags);
ichan            1459 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_INITIALIZED;
ichan            1466 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1469 drivers/dma/ipu/ipu_idmac.c 	mutex_lock(&ichan->chan_mutex);
ichan            1473 drivers/dma/ipu/ipu_idmac.c 	mutex_unlock(&ichan->chan_mutex);
ichan            1481 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = dev_id;
ichan            1483 drivers/dma/ipu/ipu_idmac.c 	       irq, ichan->dma_chan.chan_id);
ichan            1490 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = dev_id;
ichan            1492 drivers/dma/ipu/ipu_idmac.c 	       irq, ichan->dma_chan.chan_id);
ichan            1502 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1508 drivers/dma/ipu/ipu_idmac.c 	WARN_ON(ichan->status != IPU_CHANNEL_FREE);
ichan            1516 drivers/dma/ipu/ipu_idmac.c 	ichan->eof_irq = ret;
ichan            1522 drivers/dma/ipu/ipu_idmac.c 	ipu_disable_channel(idmac, ichan, true);
ichan            1524 drivers/dma/ipu/ipu_idmac.c 	ret = ipu_init_channel(idmac, ichan);
ichan            1528 drivers/dma/ipu/ipu_idmac.c 	ret = request_irq(ichan->eof_irq, idmac_interrupt, 0,
ichan            1529 drivers/dma/ipu/ipu_idmac.c 			  ichan->eof_name, ichan);
ichan            1537 drivers/dma/ipu/ipu_idmac.c 			ret = request_irq(ic_sof, ic_sof_irq, 0, "IC SOF", ichan);
ichan            1543 drivers/dma/ipu/ipu_idmac.c 			ret = request_irq(ic_eof, ic_eof_irq, 0, "IC EOF", ichan);
ichan            1550 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_INITIALIZED;
ichan            1553 drivers/dma/ipu/ipu_idmac.c 		chan->chan_id, ichan->eof_irq);
ichan            1558 drivers/dma/ipu/ipu_idmac.c 	ipu_uninit_channel(idmac, ichan);
ichan            1567 drivers/dma/ipu/ipu_idmac.c 	struct idmac_channel *ichan = to_idmac_chan(chan);
ichan            1570 drivers/dma/ipu/ipu_idmac.c 	mutex_lock(&ichan->chan_mutex);
ichan            1574 drivers/dma/ipu/ipu_idmac.c 	if (ichan->status > IPU_CHANNEL_FREE) {
ichan            1578 drivers/dma/ipu/ipu_idmac.c 				free_irq(ic_sof, ichan);
ichan            1583 drivers/dma/ipu/ipu_idmac.c 				free_irq(ic_eof, ichan);
ichan            1589 drivers/dma/ipu/ipu_idmac.c 		free_irq(ichan->eof_irq, ichan);
ichan            1593 drivers/dma/ipu/ipu_idmac.c 	ichan->status = IPU_CHANNEL_FREE;
ichan            1595 drivers/dma/ipu/ipu_idmac.c 	ipu_uninit_channel(idmac, ichan);
ichan            1597 drivers/dma/ipu/ipu_idmac.c 	mutex_unlock(&ichan->chan_mutex);
ichan            1631 drivers/dma/ipu/ipu_idmac.c 		struct idmac_channel *ichan = ipu->channel + i;
ichan            1632 drivers/dma/ipu/ipu_idmac.c 		struct dma_chan *dma_chan = &ichan->dma_chan;
ichan            1634 drivers/dma/ipu/ipu_idmac.c 		spin_lock_init(&ichan->lock);
ichan            1635 drivers/dma/ipu/ipu_idmac.c 		mutex_init(&ichan->chan_mutex);
ichan            1637 drivers/dma/ipu/ipu_idmac.c 		ichan->status		= IPU_CHANNEL_FREE;
ichan            1638 drivers/dma/ipu/ipu_idmac.c 		ichan->sec_chan_en	= false;
ichan            1639 drivers/dma/ipu/ipu_idmac.c 		snprintf(ichan->eof_name, sizeof(ichan->eof_name), "IDMAC EOF %d", i);
ichan            1658 drivers/dma/ipu/ipu_idmac.c 		struct idmac_channel *ichan = ipu->channel + i;
ichan            1660 drivers/dma/ipu/ipu_idmac.c 		idmac_terminate_all(&ichan->dma_chan);
ichan              79 drivers/net/wireless/ath/ath9k/ar9002_calib.c 				      struct ath9k_channel *ichan,
ichan              73 drivers/net/wireless/ath/ath9k/ar9003_calib.c 				      struct ath9k_channel *ichan,
ichan             300 drivers/net/wireless/ath/ath9k/common.c static void ath9k_cmn_update_ichannel(struct ath9k_channel *ichan,
ichan             306 drivers/net/wireless/ath/ath9k/common.c 	ichan->channel = chan->center_freq;
ichan             307 drivers/net/wireless/ath/ath9k/common.c 	ichan->chan = chan;
ichan             334 drivers/net/wireless/ath/ath9k/common.c 	ichan->channelFlags = flags;
ichan              25 drivers/net/wireless/ath/ath9k/htc_drv_main.c 					      struct ath9k_channel *ichan)
ichan              27 drivers/net/wireless/ath/ath9k/htc_drv_main.c 	if (IS_CHAN_5GHZ(ichan))
ichan             389 drivers/video/fbdev/mx3fb.c 	struct idmac_channel *ichan = mx3_fbi->idmac_channel;
ichan             390 drivers/video/fbdev/mx3fb.c 	struct dma_chan *dma_chan = &ichan->dma_chan;
ichan             415 drivers/video/fbdev/mx3fb.c 		       mx3_fbi->txd, cookie, list_empty(&ichan->queue) ? '-' : '+');
ichan             427 drivers/video/fbdev/mx3fb.c 		       mx3_fbi->txd, cookie, list_empty(&ichan->queue) ? '-' : '+');
ichan             799 drivers/video/fbdev/mx3fb.c 	struct idmac_channel *ichan = mx3_fbi->idmac_channel;
ichan             800 drivers/video/fbdev/mx3fb.c 	struct idmac_video_param *video = &ichan->params.video;
ichan             906 drivers/video/fbdev/mx3fb.c 	struct idmac_channel *ichan = mx3_fbi->idmac_channel;
ichan             909 drivers/video/fbdev/mx3fb.c 	dev_dbg(mx3fb->dev, "%s [%c]\n", __func__, list_empty(&ichan->queue) ? '-' : '+');
ichan            1425 drivers/video/fbdev/mx3fb.c static int init_fb_chan(struct mx3fb_data *mx3fb, struct idmac_channel *ichan)
ichan            1442 drivers/video/fbdev/mx3fb.c 	ichan->client = mx3fb;
ichan            1443 drivers/video/fbdev/mx3fb.c 	irq = ichan->eof_irq;
ichan            1445 drivers/video/fbdev/mx3fb.c 	if (ichan->dma_chan.chan_id != IDMAC_SDC_0)
ichan            1490 drivers/video/fbdev/mx3fb.c 	mx3fbi->idmac_channel	= ichan;
ichan            1491 drivers/video/fbdev/mx3fb.c 	mx3fbi->ipu_ch		= ichan->dma_chan.chan_id;
ichan            1498 drivers/video/fbdev/mx3fb.c 	disable_irq(ichan->eof_irq);
ichan            1499 drivers/video/fbdev/mx3fb.c 	dev_dbg(mx3fb->dev, "disabling irq %d\n", ichan->eof_irq);