Lines Matching refs:sg_req
326 struct tegra_dma_sg_req *sg_req = NULL; in tegra_dma_sg_req_get() local
331 sg_req = list_first_entry(&tdc->free_sg_req, in tegra_dma_sg_req_get()
332 typeof(*sg_req), node); in tegra_dma_sg_req_get()
333 list_del(&sg_req->node); in tegra_dma_sg_req_get()
335 return sg_req; in tegra_dma_sg_req_get()
339 sg_req = kzalloc(sizeof(struct tegra_dma_sg_req), GFP_ATOMIC); in tegra_dma_sg_req_get()
340 if (!sg_req) in tegra_dma_sg_req_get()
342 return sg_req; in tegra_dma_sg_req_get()
447 struct tegra_dma_sg_req *sg_req) in tegra_dma_start() argument
449 struct tegra_dma_channel_regs *ch_regs = &sg_req->ch_regs; in tegra_dma_start()
509 struct tegra_dma_sg_req *sg_req; in tdc_start_head_req() local
514 sg_req = list_first_entry(&tdc->pending_sg_req, in tdc_start_head_req()
515 typeof(*sg_req), node); in tdc_start_head_req()
516 tegra_dma_start(tdc, sg_req); in tdc_start_head_req()
517 sg_req->configured = true; in tdc_start_head_req()
538 struct tegra_dma_sg_req *sg_req, unsigned long status) in get_current_xferred_count() argument
540 return sg_req->req_len - (status & TEGRA_APBDMA_STATUS_COUNT_MASK) - 4; in get_current_xferred_count()
805 struct tegra_dma_sg_req *sg_req; in tegra_dma_tx_status() local
830 list_for_each_entry(sg_req, &tdc->pending_sg_req, node) { in tegra_dma_tx_status()
831 dma_desc = sg_req->dma_desc; in tegra_dma_tx_status()
949 struct tegra_dma_sg_req *sg_req = NULL; in tegra_dma_prep_slave_sg() local
1007 sg_req = tegra_dma_sg_req_get(tdc); in tegra_dma_prep_slave_sg()
1008 if (!sg_req) { in tegra_dma_prep_slave_sg()
1017 sg_req->ch_regs.apb_ptr = apb_ptr; in tegra_dma_prep_slave_sg()
1018 sg_req->ch_regs.ahb_ptr = mem; in tegra_dma_prep_slave_sg()
1019 sg_req->ch_regs.csr = csr; in tegra_dma_prep_slave_sg()
1020 tegra_dma_prep_wcount(tdc, &sg_req->ch_regs, len); in tegra_dma_prep_slave_sg()
1021 sg_req->ch_regs.apb_seq = apb_seq; in tegra_dma_prep_slave_sg()
1022 sg_req->ch_regs.ahb_seq = ahb_seq; in tegra_dma_prep_slave_sg()
1023 sg_req->configured = false; in tegra_dma_prep_slave_sg()
1024 sg_req->last_sg = false; in tegra_dma_prep_slave_sg()
1025 sg_req->dma_desc = dma_desc; in tegra_dma_prep_slave_sg()
1026 sg_req->req_len = len; in tegra_dma_prep_slave_sg()
1028 list_add_tail(&sg_req->node, &dma_desc->tx_list); in tegra_dma_prep_slave_sg()
1030 sg_req->last_sg = true; in tegra_dma_prep_slave_sg()
1059 struct tegra_dma_sg_req *sg_req = NULL; in tegra_dma_prep_dma_cyclic() local
1136 sg_req = tegra_dma_sg_req_get(tdc); in tegra_dma_prep_dma_cyclic()
1137 if (!sg_req) { in tegra_dma_prep_dma_cyclic()
1144 sg_req->ch_regs.apb_ptr = apb_ptr; in tegra_dma_prep_dma_cyclic()
1145 sg_req->ch_regs.ahb_ptr = mem; in tegra_dma_prep_dma_cyclic()
1146 sg_req->ch_regs.csr = csr; in tegra_dma_prep_dma_cyclic()
1147 tegra_dma_prep_wcount(tdc, &sg_req->ch_regs, len); in tegra_dma_prep_dma_cyclic()
1148 sg_req->ch_regs.apb_seq = apb_seq; in tegra_dma_prep_dma_cyclic()
1149 sg_req->ch_regs.ahb_seq = ahb_seq; in tegra_dma_prep_dma_cyclic()
1150 sg_req->configured = false; in tegra_dma_prep_dma_cyclic()
1151 sg_req->last_sg = false; in tegra_dma_prep_dma_cyclic()
1152 sg_req->dma_desc = dma_desc; in tegra_dma_prep_dma_cyclic()
1153 sg_req->req_len = len; in tegra_dma_prep_dma_cyclic()
1155 list_add_tail(&sg_req->node, &dma_desc->tx_list); in tegra_dma_prep_dma_cyclic()
1159 sg_req->last_sg = true; in tegra_dma_prep_dma_cyclic()
1201 struct tegra_dma_sg_req *sg_req; in tegra_dma_free_chan_resources() local
1231 sg_req = list_first_entry(&sg_req_list, typeof(*sg_req), node); in tegra_dma_free_chan_resources()
1232 list_del(&sg_req->node); in tegra_dma_free_chan_resources()
1233 kfree(sg_req); in tegra_dma_free_chan_resources()