Lines Matching refs:cdata
201 const struct tegra_adma_chip_data *cdata; member
209 writel(val, tdma->base_addr + tdma->cdata->global_reg_offset + reg); in tdma_write()
214 return readl(tdma->base_addr + tdma->cdata->global_reg_offset + reg); in tdma_read()
219 writel(val, tdma->ch_base_addr + tdma->cdata->global_reg_offset + reg); in tdma_ch_global_write()
306 tdma_ch_global_write(tdma, tdma->cdata->global_int_clear, 0x1); in tegra_adma_init()
317 tdma->cdata->global_reg_offset + in tegra_adma_init()
323 if (tdma->cdata->set_global_pg_config) in tegra_adma_init()
324 tdma->cdata->set_global_pg_config(tdma); in tegra_adma_init()
341 if (sreq_index > tdma->cdata->ch_req_max) { in tegra_adma_request_alloc()
458 tdma_ch_write(tdc, ADMA_CH_TC - tdc->tdma->cdata->ch_tc_offset_diff, ch_regs->tc); in tegra_adma_start()
460 tdma_ch_write(tdc, ADMA_CH_LOWER_SRC_ADDR - tdc->tdma->cdata->ch_tc_offset_diff, in tegra_adma_start()
462 tdma_ch_write(tdc, ADMA_CH_LOWER_TRG_ADDR - tdc->tdma->cdata->ch_tc_offset_diff, in tegra_adma_start()
465 if (!tdc->tdma->cdata->global_ch_fifo_base) in tegra_adma_start()
486 tdc->tdma->cdata->ch_tc_offset_diff); in tegra_adma_get_residue()
658 const struct tegra_adma_chip_data *cdata = tdc->tdma->cdata; in tegra_adma_set_xfer_params() local
671 cdata->ch_req_mask, in tegra_adma_set_xfer_params()
672 cdata->ch_req_tx_shift); in tegra_adma_set_xfer_params()
682 cdata->ch_req_mask, in tegra_adma_set_xfer_params()
683 cdata->ch_req_rx_shift); in tegra_adma_set_xfer_params()
692 ch_regs->ctrl |= ADMA_CH_CTRL_DIR(adma_dir, cdata->ch_dir_mask, in tegra_adma_set_xfer_params()
693 cdata->ch_dir_shift) | in tegra_adma_set_xfer_params()
694 ADMA_CH_CTRL_MODE_CONTINUOUS(cdata->ch_mode_shift) | in tegra_adma_set_xfer_params()
696 ch_regs->config |= cdata->adma_get_burst_config(burst_size); in tegra_adma_set_xfer_params()
698 if (cdata->global_ch_config_base) in tegra_adma_set_xfer_params()
699 ch_regs->global_config |= cdata->ch_config; in tegra_adma_set_xfer_params()
701 ch_regs->config |= cdata->ch_config; in tegra_adma_set_xfer_params()
714 if (tdc->sreq_index > cdata->sreq_index_offset) in tegra_adma_set_xfer_params()
716 ADMA_CH_REG_FIELD_VAL(2, cdata->ch_fifo_size_mask, in tegra_adma_set_xfer_params()
720 ADMA_CH_REG_FIELD_VAL(3, cdata->ch_fifo_size_mask, in tegra_adma_set_xfer_params()
856 ch_reg->tc = tdma_ch_read(tdc, ADMA_CH_TC - tdma->cdata->ch_tc_offset_diff); in tegra_adma_runtime_suspend()
858 tdma->cdata->ch_tc_offset_diff); in tegra_adma_runtime_suspend()
860 tdma->cdata->ch_tc_offset_diff); in tegra_adma_runtime_suspend()
866 if (!tdc->tdma->cdata->global_ch_fifo_base) in tegra_adma_runtime_suspend()
895 if (tdma->cdata->set_global_pg_config) in tegra_adma_runtime_resume()
896 tdma->cdata->set_global_pg_config(tdma); in tegra_adma_runtime_resume()
911 tdma_ch_write(tdc, ADMA_CH_TC - tdma->cdata->ch_tc_offset_diff, ch_reg->tc); in tegra_adma_runtime_resume()
912 tdma_ch_write(tdc, ADMA_CH_LOWER_SRC_ADDR - tdma->cdata->ch_tc_offset_diff, in tegra_adma_runtime_resume()
914 tdma_ch_write(tdc, ADMA_CH_LOWER_TRG_ADDR - tdma->cdata->ch_tc_offset_diff, in tegra_adma_runtime_resume()
918 if (!tdc->tdma->cdata->global_ch_fifo_base) in tegra_adma_runtime_resume()
1018 const struct tegra_adma_chip_data *cdata; in tegra_adma_probe() local
1023 cdata = of_device_get_match_data(&pdev->dev); in tegra_adma_probe()
1024 if (!cdata) { in tegra_adma_probe()
1030 struct_size(tdma, channels, cdata->nr_channels), in tegra_adma_probe()
1036 tdma->cdata = cdata; in tegra_adma_probe()
1037 tdma->nr_channels = cdata->nr_channels; in tegra_adma_probe()
1054 ch_base_offset = cdata->ch_base_offset; in tegra_adma_probe()
1078 tdma->ch_base_addr = tdma->base_addr + cdata->ch_base_offset; in tegra_adma_probe()
1112 tdc->chan_addr = tdma->ch_base_addr + (cdata->ch_reg_size * i); in tegra_adma_probe()
1115 if (cdata->global_ch_fifo_base) in tegra_adma_probe()
1116 tdc->global_ch_fifo_offset = cdata->global_ch_fifo_base + (4 * i); in tegra_adma_probe()
1118 if (cdata->global_ch_config_base) in tegra_adma_probe()
1120 cdata->global_ch_config_base + (4 * i); in tegra_adma_probe()