diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-04-17 23:17:26 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-04-17 16:25:54 -0400 |
commit | ce4d65a5db77e1568c82d5151a746f627c4f6ed5 (patch) | |
tree | 1f3936d2984fc03125bde025796465f9cada9075 /drivers | |
parent | 19242d7233df7d658405d4b7ee1758d21414cfaa (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')
-rw-r--r-- | drivers/dma/dmaengine.c | 1 | ||||
-rw-r--r-- | drivers/dma/fsldma.c | 8 | ||||
-rw-r--r-- | drivers/dma/ioat_dma.c | 12 | ||||
-rw-r--r-- | drivers/dma/iop-adma.c | 7 |
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 | ||
661 | static 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 | ||
927 | static 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 | ||
675 | static 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 | |||
681 | static void iop_adma_free_chan_resources(struct dma_chan *chan) | 675 | static 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 */ |