Lines Matching refs:sg_req

322 	struct tegra_dma_sg_req *sg_req = NULL;  in tegra_dma_sg_req_get()  local
327 sg_req = list_first_entry(&tdc->free_sg_req, in tegra_dma_sg_req_get()
328 typeof(*sg_req), node); in tegra_dma_sg_req_get()
329 list_del(&sg_req->node); in tegra_dma_sg_req_get()
331 return sg_req; in tegra_dma_sg_req_get()
335 sg_req = kzalloc(sizeof(struct tegra_dma_sg_req), GFP_ATOMIC); in tegra_dma_sg_req_get()
336 if (!sg_req) in tegra_dma_sg_req_get()
338 return sg_req; in tegra_dma_sg_req_get()
427 struct tegra_dma_sg_req *sg_req) in tegra_dma_start() argument
429 struct tegra_dma_channel_regs *ch_regs = &sg_req->ch_regs; in tegra_dma_start()
489 struct tegra_dma_sg_req *sg_req; in tdc_start_head_req() local
494 sg_req = list_first_entry(&tdc->pending_sg_req, in tdc_start_head_req()
495 typeof(*sg_req), node); in tdc_start_head_req()
496 tegra_dma_start(tdc, sg_req); in tdc_start_head_req()
497 sg_req->configured = true; in tdc_start_head_req()
518 struct tegra_dma_sg_req *sg_req, unsigned long status) in get_current_xferred_count() argument
520 return sg_req->req_len - (status & TEGRA_APBDMA_STATUS_COUNT_MASK) - 4; in get_current_xferred_count()
788 struct tegra_dma_sg_req *sg_req; in tegra_dma_tx_status() local
813 list_for_each_entry(sg_req, &tdc->pending_sg_req, node) { in tegra_dma_tx_status()
814 dma_desc = sg_req->dma_desc; in tegra_dma_tx_status()
932 struct tegra_dma_sg_req *sg_req = NULL; in tegra_dma_prep_slave_sg() local
992 sg_req = tegra_dma_sg_req_get(tdc); in tegra_dma_prep_slave_sg()
993 if (!sg_req) { in tegra_dma_prep_slave_sg()
1002 sg_req->ch_regs.apb_ptr = apb_ptr; in tegra_dma_prep_slave_sg()
1003 sg_req->ch_regs.ahb_ptr = mem; in tegra_dma_prep_slave_sg()
1004 sg_req->ch_regs.csr = csr; in tegra_dma_prep_slave_sg()
1005 tegra_dma_prep_wcount(tdc, &sg_req->ch_regs, len); in tegra_dma_prep_slave_sg()
1006 sg_req->ch_regs.apb_seq = apb_seq; in tegra_dma_prep_slave_sg()
1007 sg_req->ch_regs.ahb_seq = ahb_seq; in tegra_dma_prep_slave_sg()
1008 sg_req->configured = false; in tegra_dma_prep_slave_sg()
1009 sg_req->last_sg = false; in tegra_dma_prep_slave_sg()
1010 sg_req->dma_desc = dma_desc; in tegra_dma_prep_slave_sg()
1011 sg_req->req_len = len; in tegra_dma_prep_slave_sg()
1013 list_add_tail(&sg_req->node, &dma_desc->tx_list); in tegra_dma_prep_slave_sg()
1015 sg_req->last_sg = true; in tegra_dma_prep_slave_sg()
1044 struct tegra_dma_sg_req *sg_req = NULL; in tegra_dma_prep_dma_cyclic() local
1124 sg_req = tegra_dma_sg_req_get(tdc); in tegra_dma_prep_dma_cyclic()
1125 if (!sg_req) { in tegra_dma_prep_dma_cyclic()
1132 sg_req->ch_regs.apb_ptr = apb_ptr; in tegra_dma_prep_dma_cyclic()
1133 sg_req->ch_regs.ahb_ptr = mem; in tegra_dma_prep_dma_cyclic()
1134 sg_req->ch_regs.csr = csr; in tegra_dma_prep_dma_cyclic()
1135 tegra_dma_prep_wcount(tdc, &sg_req->ch_regs, len); in tegra_dma_prep_dma_cyclic()
1136 sg_req->ch_regs.apb_seq = apb_seq; in tegra_dma_prep_dma_cyclic()
1137 sg_req->ch_regs.ahb_seq = ahb_seq; in tegra_dma_prep_dma_cyclic()
1138 sg_req->configured = false; in tegra_dma_prep_dma_cyclic()
1139 sg_req->half_done = false; in tegra_dma_prep_dma_cyclic()
1140 sg_req->last_sg = false; in tegra_dma_prep_dma_cyclic()
1141 sg_req->dma_desc = dma_desc; in tegra_dma_prep_dma_cyclic()
1142 sg_req->req_len = len; in tegra_dma_prep_dma_cyclic()
1144 list_add_tail(&sg_req->node, &dma_desc->tx_list); in tegra_dma_prep_dma_cyclic()
1148 sg_req->last_sg = true; in tegra_dma_prep_dma_cyclic()
1190 struct tegra_dma_sg_req *sg_req; in tegra_dma_free_chan_resources() local
1220 sg_req = list_first_entry(&sg_req_list, typeof(*sg_req), node); in tegra_dma_free_chan_resources()
1221 list_del(&sg_req->node); in tegra_dma_free_chan_resources()
1222 kfree(sg_req); in tegra_dma_free_chan_resources()