diff options
Diffstat (limited to 'drivers/dma/dmaengine.c')
-rw-r--r-- | drivers/dma/dmaengine.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 9d31d5eb95c1..8bcb15fb959d 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
@@ -690,8 +690,12 @@ int dma_async_device_register(struct dma_device *device) | |||
690 | !device->device_prep_dma_memset); | 690 | !device->device_prep_dma_memset); |
691 | BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && | 691 | BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && |
692 | !device->device_prep_dma_interrupt); | 692 | !device->device_prep_dma_interrupt); |
693 | BUG_ON(dma_has_cap(DMA_SG, device->cap_mask) && | ||
694 | !device->device_prep_dma_sg); | ||
693 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && | 695 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && |
694 | !device->device_prep_slave_sg); | 696 | !device->device_prep_slave_sg); |
697 | BUG_ON(dma_has_cap(DMA_CYCLIC, device->cap_mask) && | ||
698 | !device->device_prep_dma_cyclic); | ||
695 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && | 699 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && |
696 | !device->device_control); | 700 | !device->device_control); |
697 | 701 | ||
@@ -702,7 +706,7 @@ int dma_async_device_register(struct dma_device *device) | |||
702 | BUG_ON(!device->dev); | 706 | BUG_ON(!device->dev); |
703 | 707 | ||
704 | /* note: this only matters in the | 708 | /* note: this only matters in the |
705 | * CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y case | 709 | * CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=n case |
706 | */ | 710 | */ |
707 | if (device_has_all_tx_types(device)) | 711 | if (device_has_all_tx_types(device)) |
708 | dma_cap_set(DMA_ASYNC_TX, device->cap_mask); | 712 | dma_cap_set(DMA_ASYNC_TX, device->cap_mask); |
@@ -976,7 +980,7 @@ void dma_async_tx_descriptor_init(struct dma_async_tx_descriptor *tx, | |||
976 | struct dma_chan *chan) | 980 | struct dma_chan *chan) |
977 | { | 981 | { |
978 | tx->chan = chan; | 982 | tx->chan = chan; |
979 | #ifndef CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH | 983 | #ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH |
980 | spin_lock_init(&tx->lock); | 984 | spin_lock_init(&tx->lock); |
981 | #endif | 985 | #endif |
982 | } | 986 | } |