Lines Matching defs:dmae

847 	struct mmci_dmae_priv *dmae;
849 dmae = devm_kzalloc(mmc_dev(host->mmc), sizeof(*dmae), GFP_KERNEL);
850 if (!dmae)
853 host->dma_priv = dmae;
855 dmae->rx_channel = dma_request_chan(mmc_dev(host->mmc), "rx");
856 if (IS_ERR(dmae->rx_channel)) {
857 int ret = PTR_ERR(dmae->rx_channel);
858 dmae->rx_channel = NULL;
862 dmae->tx_channel = dma_request_chan(mmc_dev(host->mmc), "tx");
863 if (IS_ERR(dmae->tx_channel)) {
864 if (PTR_ERR(dmae->tx_channel) == -EPROBE_DEFER)
867 dmae->tx_channel = NULL;
875 if (dmae->rx_channel && !dmae->tx_channel)
876 dmae->tx_channel = dmae->rx_channel;
878 if (dmae->rx_channel)
879 rxname = dma_chan_name(dmae->rx_channel);
883 if (dmae->tx_channel)
884 txname = dma_chan_name(dmae->tx_channel);
895 if (dmae->tx_channel) {
896 struct device *dev = dmae->tx_channel->device->dev;
902 if (dmae->rx_channel) {
903 struct device *dev = dmae->rx_channel->device->dev;
910 if (!dmae->tx_channel || !dmae->rx_channel) {
924 struct mmci_dmae_priv *dmae = host->dma_priv;
926 if (dmae->rx_channel)
927 dma_release_channel(dmae->rx_channel);
928 if (dmae->tx_channel)
929 dma_release_channel(dmae->tx_channel);
930 dmae->rx_channel = dmae->tx_channel = NULL;
935 struct mmci_dmae_priv *dmae = host->dma_priv;
939 chan = dmae->rx_channel;
941 chan = dmae->tx_channel;
949 struct mmci_dmae_priv *dmae = host->dma_priv;
955 dmaengine_terminate_all(dmae->cur);
957 dmae->cur = NULL;
958 dmae->desc_current = NULL;
966 struct mmci_dmae_priv *dmae = host->dma_priv;
1005 dmae->cur = NULL;
1006 dmae->desc_current = NULL;
1014 struct mmci_dmae_priv *dmae = host->dma_priv;
1033 chan = dmae->rx_channel;
1036 chan = dmae->tx_channel;
1089 struct mmci_dmae_priv *dmae = host->dma_priv;
1090 struct mmci_dmae_next *nd = &dmae->next_data;
1098 if (dmae->cur && dmae->desc_current)
1102 return _mmci_dmae_prep_data(host, data, &dmae->cur,
1103 &dmae->desc_current);
1108 struct mmci_dmae_priv *dmae = host->dma_priv;
1112 ret = dma_submit_error(dmaengine_submit(dmae->desc_current));
1117 dma_async_issue_pending(dmae->cur);
1126 struct mmci_dmae_priv *dmae = host->dma_priv;
1127 struct mmci_dmae_next *next = &dmae->next_data;
1134 dmae->desc_current = next->desc;
1135 dmae->cur = next->chan;
1144 struct mmci_dmae_priv *dmae = host->dma_priv;
1152 struct mmci_dmae_next *next = &dmae->next_data;
1155 chan = dmae->rx_channel;
1157 chan = dmae->tx_channel;
1160 if (dmae->desc_current == next->desc)
1161 dmae->desc_current = NULL;
1163 if (dmae->cur == next->chan) {
1165 dmae->cur = NULL;