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);