dmarx             277 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data dmarx;
dmarx             486 drivers/tty/serial/amba-pl011.c 		uap->dmarx.chan = chan;
dmarx             488 drivers/tty/serial/amba-pl011.c 		uap->dmarx.auto_poll_rate = false;
dmarx             492 drivers/tty/serial/amba-pl011.c 				uap->dmarx.auto_poll_rate = false;
dmarx             493 drivers/tty/serial/amba-pl011.c 				uap->dmarx.poll_rate = plat->dma_rx_poll_rate;
dmarx             500 drivers/tty/serial/amba-pl011.c 				uap->dmarx.auto_poll_rate = true;
dmarx             501 drivers/tty/serial/amba-pl011.c 				uap->dmarx.poll_rate =  100;
dmarx             505 drivers/tty/serial/amba-pl011.c 				uap->dmarx.poll_timeout =
dmarx             508 drivers/tty/serial/amba-pl011.c 				uap->dmarx.poll_timeout = 3000;
dmarx             510 drivers/tty/serial/amba-pl011.c 			uap->dmarx.auto_poll_rate = of_property_read_bool(
dmarx             512 drivers/tty/serial/amba-pl011.c 			if (uap->dmarx.auto_poll_rate) {
dmarx             517 drivers/tty/serial/amba-pl011.c 					uap->dmarx.poll_rate = x;
dmarx             519 drivers/tty/serial/amba-pl011.c 					uap->dmarx.poll_rate = 100;
dmarx             522 drivers/tty/serial/amba-pl011.c 					uap->dmarx.poll_timeout = x;
dmarx             524 drivers/tty/serial/amba-pl011.c 					uap->dmarx.poll_timeout = 3000;
dmarx             528 drivers/tty/serial/amba-pl011.c 			 dma_chan_name(uap->dmarx.chan));
dmarx             536 drivers/tty/serial/amba-pl011.c 	if (uap->dmarx.chan)
dmarx             537 drivers/tty/serial/amba-pl011.c 		dma_release_channel(uap->dmarx.chan);
dmarx             831 drivers/tty/serial/amba-pl011.c 	struct dma_chan *rxchan = uap->dmarx.chan;
dmarx             832 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data *dmarx = &uap->dmarx;
dmarx             840 drivers/tty/serial/amba-pl011.c 	sgbuf = uap->dmarx.use_buf_b ?
dmarx             841 drivers/tty/serial/amba-pl011.c 		&uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a;
dmarx             851 drivers/tty/serial/amba-pl011.c 		uap->dmarx.running = false;
dmarx             859 drivers/tty/serial/amba-pl011.c 	dmarx->cookie = dmaengine_submit(desc);
dmarx             864 drivers/tty/serial/amba-pl011.c 	uap->dmarx.running = true;
dmarx             883 drivers/tty/serial/amba-pl011.c 		&uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a;
dmarx             887 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data *dmarx = &uap->dmarx;
dmarx             890 drivers/tty/serial/amba-pl011.c 	if (uap->dmarx.poll_rate) {
dmarx             892 drivers/tty/serial/amba-pl011.c 		dmataken = sgbuf->sg.length - dmarx->last_residue;
dmarx             916 drivers/tty/serial/amba-pl011.c 	if (uap->dmarx.poll_rate)
dmarx             917 drivers/tty/serial/amba-pl011.c 		dmarx->last_residue = sgbuf->sg.length;
dmarx             952 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data *dmarx = &uap->dmarx;
dmarx             953 drivers/tty/serial/amba-pl011.c 	struct dma_chan *rxchan = dmarx->chan;
dmarx             954 drivers/tty/serial/amba-pl011.c 	struct pl011_sgbuf *sgbuf = dmarx->use_buf_b ?
dmarx             955 drivers/tty/serial/amba-pl011.c 		&dmarx->sgbuf_b : &dmarx->sgbuf_a;
dmarx             968 drivers/tty/serial/amba-pl011.c 						   dmarx->cookie, &state);
dmarx             975 drivers/tty/serial/amba-pl011.c 	uap->dmarx.running = false;
dmarx             986 drivers/tty/serial/amba-pl011.c 	pl011_dma_rx_chars(uap, pending, dmarx->use_buf_b, true);
dmarx             989 drivers/tty/serial/amba-pl011.c 	dmarx->use_buf_b = !dmarx->use_buf_b;
dmarx            1001 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data *dmarx = &uap->dmarx;
dmarx            1002 drivers/tty/serial/amba-pl011.c 	struct dma_chan *rxchan = dmarx->chan;
dmarx            1003 drivers/tty/serial/amba-pl011.c 	bool lastbuf = dmarx->use_buf_b;
dmarx            1004 drivers/tty/serial/amba-pl011.c 	struct pl011_sgbuf *sgbuf = dmarx->use_buf_b ?
dmarx            1005 drivers/tty/serial/amba-pl011.c 		&dmarx->sgbuf_b : &dmarx->sgbuf_a;
dmarx            1022 drivers/tty/serial/amba-pl011.c 	rxchan->device->device_tx_status(rxchan, dmarx->cookie, &state);
dmarx            1028 drivers/tty/serial/amba-pl011.c 	uap->dmarx.running = false;
dmarx            1029 drivers/tty/serial/amba-pl011.c 	dmarx->use_buf_b = !lastbuf;
dmarx            1065 drivers/tty/serial/amba-pl011.c 	struct uart_amba_port *uap = from_timer(uap, t, dmarx.timer);
dmarx            1067 drivers/tty/serial/amba-pl011.c 	struct pl011_dmarx_data *dmarx = &uap->dmarx;
dmarx            1068 drivers/tty/serial/amba-pl011.c 	struct dma_chan *rxchan = uap->dmarx.chan;
dmarx            1076 drivers/tty/serial/amba-pl011.c 	sgbuf = dmarx->use_buf_b ? &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a;
dmarx            1077 drivers/tty/serial/amba-pl011.c 	rxchan->device->device_tx_status(rxchan, dmarx->cookie, &state);
dmarx            1078 drivers/tty/serial/amba-pl011.c 	if (likely(state.residue < dmarx->last_residue)) {
dmarx            1079 drivers/tty/serial/amba-pl011.c 		dmataken = sgbuf->sg.length - dmarx->last_residue;
dmarx            1080 drivers/tty/serial/amba-pl011.c 		size = dmarx->last_residue - state.residue;
dmarx            1084 drivers/tty/serial/amba-pl011.c 			dmarx->last_residue =  state.residue;
dmarx            1085 drivers/tty/serial/amba-pl011.c 		dmarx->last_jiffies = jiffies;
dmarx            1093 drivers/tty/serial/amba-pl011.c 	if (jiffies_to_msecs(jiffies - dmarx->last_jiffies)
dmarx            1094 drivers/tty/serial/amba-pl011.c 			> uap->dmarx.poll_timeout) {
dmarx            1102 drivers/tty/serial/amba-pl011.c 		uap->dmarx.running = false;
dmarx            1104 drivers/tty/serial/amba-pl011.c 		del_timer(&uap->dmarx.timer);
dmarx            1106 drivers/tty/serial/amba-pl011.c 		mod_timer(&uap->dmarx.timer,
dmarx            1107 drivers/tty/serial/amba-pl011.c 			jiffies + msecs_to_jiffies(uap->dmarx.poll_rate));
dmarx            1134 drivers/tty/serial/amba-pl011.c 	if (!uap->dmarx.chan)
dmarx            1138 drivers/tty/serial/amba-pl011.c 	ret = pl011_sgbuf_init(uap->dmarx.chan, &uap->dmarx.sgbuf_a,
dmarx            1146 drivers/tty/serial/amba-pl011.c 	ret = pl011_sgbuf_init(uap->dmarx.chan, &uap->dmarx.sgbuf_b,
dmarx            1151 drivers/tty/serial/amba-pl011.c 		pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_a,
dmarx            1176 drivers/tty/serial/amba-pl011.c 		if (uap->dmarx.poll_rate) {
dmarx            1177 drivers/tty/serial/amba-pl011.c 			timer_setup(&uap->dmarx.timer, pl011_dma_rx_poll, 0);
dmarx            1178 drivers/tty/serial/amba-pl011.c 			mod_timer(&uap->dmarx.timer,
dmarx            1180 drivers/tty/serial/amba-pl011.c 				msecs_to_jiffies(uap->dmarx.poll_rate));
dmarx            1181 drivers/tty/serial/amba-pl011.c 			uap->dmarx.last_residue = PL011_DMA_BUFFER_SIZE;
dmarx            1182 drivers/tty/serial/amba-pl011.c 			uap->dmarx.last_jiffies = jiffies;
dmarx            1215 drivers/tty/serial/amba-pl011.c 		dmaengine_terminate_all(uap->dmarx.chan);
dmarx            1217 drivers/tty/serial/amba-pl011.c 		pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_a, DMA_FROM_DEVICE);
dmarx            1218 drivers/tty/serial/amba-pl011.c 		pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_b, DMA_FROM_DEVICE);
dmarx            1219 drivers/tty/serial/amba-pl011.c 		if (uap->dmarx.poll_rate)
dmarx            1220 drivers/tty/serial/amba-pl011.c 			del_timer_sync(&uap->dmarx.timer);
dmarx            1232 drivers/tty/serial/amba-pl011.c 	return uap->using_rx_dma && uap->dmarx.running;
dmarx            1365 drivers/tty/serial/amba-pl011.c 			if (uap->dmarx.poll_rate) {
dmarx            1366 drivers/tty/serial/amba-pl011.c 				uap->dmarx.last_jiffies = jiffies;
dmarx            1367 drivers/tty/serial/amba-pl011.c 				uap->dmarx.last_residue	= PL011_DMA_BUFFER_SIZE;
dmarx            1368 drivers/tty/serial/amba-pl011.c 				mod_timer(&uap->dmarx.timer,
dmarx            1370 drivers/tty/serial/amba-pl011.c 					msecs_to_jiffies(uap->dmarx.poll_rate));
dmarx            1969 drivers/tty/serial/amba-pl011.c 	if (uap->dmarx.auto_poll_rate)
dmarx            1970 drivers/tty/serial/amba-pl011.c 		uap->dmarx.poll_rate = DIV_ROUND_UP(10000000, baud);