aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-04-17 23:17:26 -0400
committerDan Williams <dan.j.williams@intel.com>2008-04-17 16:25:54 -0400
commitce4d65a5db77e1568c82d5151a746f627c4f6ed5 (patch)
tree1f3936d2984fc03125bde025796465f9cada9075 /drivers/dma
parent19242d7233df7d658405d4b7ee1758d21414cfaa (diff)
async_tx: kill ->device_dependency_added
DMA drivers no longer need to be notified of dependency submission events as async_tx_run_dependencies and async_tx_channel_switch will handle the scheduling and execution of dependent operations. [sfr@canb.auug.org.au: extend this for fsldma] Acked-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/dmaengine.c1
-rw-r--r--drivers/dma/fsldma.c8
-rw-r--r--drivers/dma/ioat_dma.c12
-rw-r--r--drivers/dma/iop-adma.c7
4 files changed, 0 insertions, 28 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index 9cb898a76bb3..af6911a75dae 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -362,7 +362,6 @@ int dma_async_device_register(struct dma_device *device)
362 362
363 BUG_ON(!device->device_alloc_chan_resources); 363 BUG_ON(!device->device_alloc_chan_resources);
364 BUG_ON(!device->device_free_chan_resources); 364 BUG_ON(!device->device_free_chan_resources);
365 BUG_ON(!device->device_dependency_added);
366 BUG_ON(!device->device_is_tx_complete); 365 BUG_ON(!device->device_is_tx_complete);
367 BUG_ON(!device->device_issue_pending); 366 BUG_ON(!device->device_issue_pending);
368 BUG_ON(!device->dev); 367 BUG_ON(!device->dev);
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c
index d8ae18dbf1a7..95b36b7934a5 100644
--- a/drivers/dma/fsldma.c
+++ b/drivers/dma/fsldma.c
@@ -658,13 +658,6 @@ static void fsl_dma_memcpy_issue_pending(struct dma_chan *chan)
658 fsl_chan_xfer_ld_queue(fsl_chan); 658 fsl_chan_xfer_ld_queue(fsl_chan);
659} 659}
660 660
661static void fsl_dma_dependency_added(struct dma_chan *chan)
662{
663 struct fsl_dma_chan *fsl_chan = to_fsl_chan(chan);
664
665 fsl_chan_ld_cleanup(fsl_chan);
666}
667
668/** 661/**
669 * fsl_dma_is_complete - Determine the DMA status 662 * fsl_dma_is_complete - Determine the DMA status
670 * @fsl_chan : Freescale DMA channel 663 * @fsl_chan : Freescale DMA channel
@@ -1089,7 +1082,6 @@ static int __devinit of_fsl_dma_probe(struct of_device *dev,
1089 fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy; 1082 fdev->common.device_prep_dma_memcpy = fsl_dma_prep_memcpy;
1090 fdev->common.device_is_tx_complete = fsl_dma_is_complete; 1083 fdev->common.device_is_tx_complete = fsl_dma_is_complete;
1091 fdev->common.device_issue_pending = fsl_dma_memcpy_issue_pending; 1084 fdev->common.device_issue_pending = fsl_dma_memcpy_issue_pending;
1092 fdev->common.device_dependency_added = fsl_dma_dependency_added;
1093 fdev->common.dev = &dev->dev; 1085 fdev->common.dev = &dev->dev;
1094 1086
1095 irq = irq_of_parse_and_map(dev->node, 0); 1087 irq = irq_of_parse_and_map(dev->node, 0);
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index 4017d9e7acd2..1517fe4e2d14 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -924,17 +924,6 @@ static void ioat_dma_memcpy_cleanup(struct ioat_dma_chan *ioat_chan)
924 spin_unlock_bh(&ioat_chan->cleanup_lock); 924 spin_unlock_bh(&ioat_chan->cleanup_lock);
925} 925}
926 926
927static void ioat_dma_dependency_added(struct dma_chan *chan)
928{
929 struct ioat_dma_chan *ioat_chan = to_ioat_chan(chan);
930 spin_lock_bh(&ioat_chan->desc_lock);
931 if (ioat_chan->pending == 0) {
932 spin_unlock_bh(&ioat_chan->desc_lock);
933 ioat_dma_memcpy_cleanup(ioat_chan);
934 } else
935 spin_unlock_bh(&ioat_chan->desc_lock);
936}
937
938/** 927/**
939 * ioat_dma_is_complete - poll the status of a IOAT DMA transaction 928 * ioat_dma_is_complete - poll the status of a IOAT DMA transaction
940 * @chan: IOAT DMA channel handle 929 * @chan: IOAT DMA channel handle
@@ -1316,7 +1305,6 @@ struct ioatdma_device *ioat_dma_probe(struct pci_dev *pdev,
1316 1305
1317 dma_cap_set(DMA_MEMCPY, device->common.cap_mask); 1306 dma_cap_set(DMA_MEMCPY, device->common.cap_mask);
1318 device->common.device_is_tx_complete = ioat_dma_is_complete; 1307 device->common.device_is_tx_complete = ioat_dma_is_complete;
1319 device->common.device_dependency_added = ioat_dma_dependency_added;
1320 switch (device->version) { 1308 switch (device->version) {
1321 case IOAT_VER_1_2: 1309 case IOAT_VER_1_2:
1322 device->common.device_prep_dma_memcpy = ioat1_dma_prep_memcpy; 1310 device->common.device_prep_dma_memcpy = ioat1_dma_prep_memcpy;
diff --git a/drivers/dma/iop-adma.c b/drivers/dma/iop-adma.c
index 21854cd7190f..2aa3df50c842 100644
--- a/drivers/dma/iop-adma.c
+++ b/drivers/dma/iop-adma.c
@@ -672,12 +672,6 @@ iop_adma_prep_dma_zero_sum(struct dma_chan *chan, dma_addr_t *dma_src,
672 return sw_desc ? &sw_desc->async_tx : NULL; 672 return sw_desc ? &sw_desc->async_tx : NULL;
673} 673}
674 674
675static void iop_adma_dependency_added(struct dma_chan *chan)
676{
677 struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
678 tasklet_schedule(&iop_chan->irq_tasklet);
679}
680
681static void iop_adma_free_chan_resources(struct dma_chan *chan) 675static void iop_adma_free_chan_resources(struct dma_chan *chan)
682{ 676{
683 struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan); 677 struct iop_adma_chan *iop_chan = to_iop_adma_chan(chan);
@@ -1178,7 +1172,6 @@ static int __devinit iop_adma_probe(struct platform_device *pdev)
1178 dma_dev->device_free_chan_resources = iop_adma_free_chan_resources; 1172 dma_dev->device_free_chan_resources = iop_adma_free_chan_resources;
1179 dma_dev->device_is_tx_complete = iop_adma_is_complete; 1173 dma_dev->device_is_tx_complete = iop_adma_is_complete;
1180 dma_dev->device_issue_pending = iop_adma_issue_pending; 1174 dma_dev->device_issue_pending = iop_adma_issue_pending;
1181 dma_dev->device_dependency_added = iop_adma_dependency_added;
1182 dma_dev->dev = &pdev->dev; 1175 dma_dev->dev = &pdev->dev;
1183 1176
1184 /* set prep routines based on capability */ 1177 /* set prep routines based on capability */