Lines Matching refs:dma_st
601 struct at91_adc_dma dma_st; member
1155 if (st->dma_st.dma_chan) in at91_adc_reenable_trigger()
1176 status = dmaengine_tx_status(st->dma_st.dma_chan, in at91_adc_dma_size_done()
1177 st->dma_st.dma_chan->cookie, in at91_adc_dma_size_done()
1183 i = st->dma_st.rx_buf_sz - state.residue; in at91_adc_dma_size_done()
1186 if (i >= st->dma_st.buf_idx) in at91_adc_dma_size_done()
1187 size = i - st->dma_st.buf_idx; in at91_adc_dma_size_done()
1189 size = st->dma_st.rx_buf_sz + i - st->dma_st.buf_idx; in at91_adc_dma_size_done()
1208 if (!st->dma_st.dma_chan) in at91_adc_dma_start()
1212 st->dma_st.buf_idx = 0; in at91_adc_dma_start()
1218 st->dma_st.rx_buf_sz = 0; in at91_adc_dma_start()
1228 st->dma_st.rx_buf_sz += chan->scan_type.storagebits / 8; in at91_adc_dma_start()
1230 st->dma_st.rx_buf_sz *= st->dma_st.watermark; in at91_adc_dma_start()
1233 desc = dmaengine_prep_dma_cyclic(st->dma_st.dma_chan, in at91_adc_dma_start()
1234 st->dma_st.rx_dma_buf, in at91_adc_dma_start()
1235 st->dma_st.rx_buf_sz, in at91_adc_dma_start()
1236 st->dma_st.rx_buf_sz / 2, in at91_adc_dma_start()
1251 dmaengine_terminate_async(st->dma_st.dma_chan); in at91_adc_dma_start()
1258 dma_async_issue_pending(st->dma_st.dma_chan); in at91_adc_dma_start()
1261 st->dma_st.dma_ts = iio_get_time_ns(indio_dev); in at91_adc_dma_start()
1272 if (st->dma_st.dma_chan) in at91_adc_buffer_check_use_irq()
1379 if (st->dma_st.dma_chan) in at91_adc_buffer_postdisable()
1390 if (st->dma_st.dma_chan) in at91_adc_buffer_postdisable()
1391 dmaengine_terminate_sync(st->dma_st.dma_chan); in at91_adc_buffer_postdisable()
1496 sample_size = div_s64(st->dma_st.rx_buf_sz, st->dma_st.watermark); in at91_adc_trigger_handler_dma()
1504 interval = div_s64((ns - st->dma_st.dma_ts), sample_count); in at91_adc_trigger_handler_dma()
1512 &st->dma_st.rx_buf[st->dma_st.buf_idx], in at91_adc_trigger_handler_dma()
1516 (st->dma_st.rx_buf + st->dma_st.buf_idx), in at91_adc_trigger_handler_dma()
1517 (st->dma_st.dma_ts + interval * sample_index)); in at91_adc_trigger_handler_dma()
1521 st->dma_st.buf_idx += sample_size; in at91_adc_trigger_handler_dma()
1523 if (st->dma_st.buf_idx >= st->dma_st.rx_buf_sz) in at91_adc_trigger_handler_dma()
1524 st->dma_st.buf_idx = 0; in at91_adc_trigger_handler_dma()
1528 st->dma_st.dma_ts = iio_get_time_ns(indio_dev); in at91_adc_trigger_handler_dma()
1544 if (st->dma_st.dma_chan) in at91_adc_trigger_handler()
1720 } else if (iio_buffer_enabled(indio) && st->dma_st.dma_chan) { in at91_adc_interrupt()
2030 if (st->dma_st.dma_chan) in at91_adc_dma_init()
2033 st->dma_st.dma_chan = dma_request_chan(dev, "rx"); in at91_adc_dma_init()
2034 if (IS_ERR(st->dma_st.dma_chan)) { in at91_adc_dma_init()
2036 st->dma_st.dma_chan = NULL; in at91_adc_dma_init()
2040 st->dma_st.rx_buf = dma_alloc_coherent(st->dma_st.dma_chan->device->dev, in at91_adc_dma_init()
2042 &st->dma_st.rx_dma_buf, in at91_adc_dma_init()
2044 if (!st->dma_st.rx_buf) { in at91_adc_dma_init()
2051 config.src_addr = (phys_addr_t)(st->dma_st.phys_addr in at91_adc_dma_init()
2057 if (dmaengine_slave_config(st->dma_st.dma_chan, &config)) { in at91_adc_dma_init()
2063 dma_chan_name(st->dma_st.dma_chan)); in at91_adc_dma_init()
2068 dma_free_coherent(st->dma_st.dma_chan->device->dev, pages * PAGE_SIZE, in at91_adc_dma_init()
2069 st->dma_st.rx_buf, st->dma_st.rx_dma_buf); in at91_adc_dma_init()
2071 dma_release_channel(st->dma_st.dma_chan); in at91_adc_dma_init()
2072 st->dma_st.dma_chan = NULL; in at91_adc_dma_init()
2086 if (!st->dma_st.dma_chan) in at91_adc_dma_disable()
2090 dmaengine_terminate_sync(st->dma_st.dma_chan); in at91_adc_dma_disable()
2092 dma_free_coherent(st->dma_st.dma_chan->device->dev, pages * PAGE_SIZE, in at91_adc_dma_disable()
2093 st->dma_st.rx_buf, st->dma_st.rx_dma_buf); in at91_adc_dma_disable()
2094 dma_release_channel(st->dma_st.dma_chan); in at91_adc_dma_disable()
2095 st->dma_st.dma_chan = NULL; in at91_adc_dma_disable()
2114 st->dma_st.watermark = val; in at91_adc_set_watermark()
2184 return sysfs_emit(buf, "%d\n", !!st->dma_st.dma_chan); in at91_adc_get_fifo_state()
2193 return sysfs_emit(buf, "%d\n", st->dma_st.watermark); in at91_adc_get_watermark()
2254 st->dma_st.watermark = 1; in at91_adc_buffer_and_trigger_init()
2400 st->dma_st.phys_addr = res->start; in at91_adc_probe()