]> Git Repo - linux.git/commitdiff
Merge tag 'dmaengine-4.10-rc1' of git://git.infradead.org/users/vkoul/slave-dma
authorLinus Torvalds <[email protected]>
Thu, 15 Dec 2016 04:42:45 +0000 (20:42 -0800)
committerLinus Torvalds <[email protected]>
Thu, 15 Dec 2016 04:42:45 +0000 (20:42 -0800)
Pull dmaengine updates from Vinod Koul:
 "Fairly routine update this time around with all changes specific to
  drivers:

   - New driver for STMicroelectronics FDMA
   - Memory-to-memory transfers on dw dmac
   - Support for slave maps on pl08x devices
   - Bunch of driver fixes to use dma_pool_zalloc
   - Bunch of compile and warning fixes spread across drivers"

[ The ST FDMA driver already came in earlier through the remoteproc tree ]

* tag 'dmaengine-4.10-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (68 commits)
  dmaengine: sirf-dma: remove unused ‘sdesc’
  dmaengine: pl330: remove unused ‘regs’
  dmaengine: s3c24xx: remove unused ‘cdata’
  dmaengine: stm32-dma: remove unused ‘src_addr’
  dmaengine: stm32-dma: remove unused ‘dst_addr’
  dmaengine: stm32-dma: remove unused ‘sfcr’
  dmaengine: pch_dma: remove unused ‘cookie’
  dmaengine: mic_x100_dma: remove unused ‘data’
  dmaengine: img-mdc: remove unused ‘prev_phys’
  dmaengine: usb-dmac: remove unused ‘uchan’
  dmaengine: ioat: remove unused ‘res’
  dmaengine: ioat: remove unused ‘ioat_dma’
  dmaengine: ioat: remove unused ‘is_raid_device’
  dmaengine: pl330: do not generate unaligned access
  dmaengine: k3dma: move to dma_pool_zalloc
  dmaengine: at_hdmac: move to dma_pool_zalloc
  dmaengine: at_xdmac: don't restore unsaved status
  dmaengine: ioat: set error code on failures
  dmaengine: ioat: set error code on failures
  dmaengine: DW DMAC: add multi-block property to device tree
  ...

1  2 
drivers/dma/Kconfig
drivers/dma/edma.c
drivers/tty/serial/8250/8250_lpss.c

diff --combined drivers/dma/Kconfig
index 2154ea3c5d1ca4156e0c568d5d4da7fe005480a2,b4cb5cb7775c82a4b74e461cc7400bc495d4dcd8..263495d0adbdfd0a5e079c3ba5c6f71247ee7fde
@@@ -306,7 -306,6 +306,7 @@@ config MMP_TDM
        depends on ARCH_MMP || COMPILE_TEST
        select DMA_ENGINE
        select MMP_SRAM if ARCH_MMP
 +      select GENERIC_ALLOCATOR
        help
          Support the MMP Two-Channel DMA engine.
          This engine used for MMP Audio DMA and pxa910 SQU.
@@@ -494,7 -493,7 +494,7 @@@ config TEGRA20_APB_DM
          or vice versa. It does not support memory to memory data transfer.
  
  config TEGRA210_ADMA
-       bool "NVIDIA Tegra210 ADMA support"
+       tristate "NVIDIA Tegra210 ADMA support"
        depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST) && PM_CLK
        select DMA_ENGINE
        select DMA_VIRTUAL_CHANNELS
diff --combined drivers/dma/edma.c
index 77242b37ef87866acf4681c0934c906ecb75de77,1d2be18fec15605fc257ec481677af071c34151f..3879f80a4815cb27ba4329e29510752e34331ba4
@@@ -1628,7 -1628,6 +1628,7 @@@ static int edma_alloc_chan_resources(st
        if (echan->slot[0] < 0) {
                dev_err(dev, "Entry slot allocation failed for channel %u\n",
                        EDMA_CHAN_SLOT(echan->ch_num));
 +              ret = echan->slot[0];
                goto err_slot;
        }
  
@@@ -2451,6 -2450,9 +2451,9 @@@ static int edma_pm_resume(struct devic
        int i;
        s8 (*queue_priority_mapping)[2];
  
+       /* re initialize dummy slot to dummy param set */
+       edma_write_slot(ecc, ecc->dummy_slot, &dummy_paramset);
        queue_priority_mapping = ecc->info->queue_priority_mapping;
  
        /* Event queue priority mapping */
index f607946fd996f0cfd510282667795a1a2b156f18,c4593ec68ff79fa98794c09246b176e673096435..58cbb30a940178edb483a865ad2c2cb29268f96f
@@@ -157,12 -157,12 +157,12 @@@ static int byt_serial_setup(struct lpss
  static const struct dw_dma_platform_data qrk_serial_dma_pdata = {
        .nr_channels = 2,
        .is_private = true,
-       .is_nollp = true,
        .chan_allocation_order = CHAN_ALLOCATION_ASCENDING,
        .chan_priority = CHAN_PRIORITY_ASCENDING,
        .block_size = 4095,
        .nr_masters = 1,
        .data_width = {4},
+       .multi_block = {0},
  };
  
  static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port *port)
        int ret;
  
        chip->dev = &pdev->dev;
 -      chip->irq = pdev->irq;
 +      chip->irq = pci_irq_vector(pdev, 0);
        chip->regs = pci_ioremap_bar(pdev, 1);
        chip->pdata = &qrk_serial_dma_pdata;
  
        if (ret)
                return;
  
 +      pci_set_master(pdev);
 +      pci_try_set_mwi(pdev);
 +
        /* Special DMA address for UART */
        dma->rx_dma_addr = 0xfffff000;
        dma->tx_dma_addr = 0xfffff000;
@@@ -216,7 -213,7 +216,7 @@@ static int qrk_serial_setup(struct lpss
        struct pci_dev *pdev = to_pci_dev(port->dev);
        int ret;
  
 -      ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
 +      ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
        if (ret < 0)
                return ret;
  
@@@ -283,6 -280,8 +283,6 @@@ static int lpss8250_probe(struct pci_de
        if (ret)
                return ret;
  
 -      pci_set_master(pdev);
 -
        lpss = devm_kzalloc(&pdev->dev, sizeof(*lpss), GFP_KERNEL);
        if (!lpss)
                return -ENOMEM;
This page took 0.123756 seconds and 4 git commands to generate.