- 15 4月, 2016 4 次提交
-
-
由 Martin Sperl 提交于
In preparation to consolidating code we move the cyclic member into the bcm_2835_desc structure. Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Reviewed-by: NEric Anholt <eric@anholt.net> Signed-off-by: NEric Anholt <eric@anholt.net> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Martin Sperl 提交于
Add additional defines describing the DMA registers as well as adding some more documentation to those registers. Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Reviewed-by: NEric Anholt <eric@anholt.net> Signed-off-by: NEric Anholt <eric@anholt.net> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Martin Sperl 提交于
The original patch contained 3 dma channels that were masked out. These - as far as research and discussions show - are a artefacts remaining from the downstream legacy dma-api. Right now down-stream still includes a legacy api used only in a single (downstream only) driver (bcm2708_fb) that requires 2D DMA for speedup (DMA-channel 0). Formerly the sd-card support driver also was using this legacy api (DMA-channel 2), but since has been moved over to use dmaengine directly. The DMA-channel 3 is already masked out in the devicetree in the default property "brcm,dma-channel-mask = <0x7f35>;" So we can remove the whole masking of DMA channels. Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Reviewed-by: NEric Anholt <eric@anholt.net> Signed-off-by: NEric Anholt <eric@anholt.net> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Martin Sperl 提交于
bcm2835-dma supports residue reporting at burst level but didn't report this via the residue_granularity field. See also: https://github.com/raspberrypi/linux/commit/b015555327afa402f70ddc86e3632f59df1cd9d7 for the downstream patch. Signed-off-by: NMatthias Reichl <hias@horus.com> Signed-off-by: NNoralf Trønnes <noralf@tronnes.org> Signed-off-by: NMartin Sperl <kernel@martin.sperl.org> Reviewed-by: NEric Anholt <eric@anholt.net> Signed-off-by: NEric Anholt <eric@anholt.net> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 11 3月, 2016 4 次提交
-
-
由 Dave Jiang 提交于
Previously we unloaded the interrupts and reloaded in order to work around a channel reset bug that cleared the MSIX table. This approach just isn't practical when a reset needs to happen in the error handler that just happens to be running in interrupt context (bottom half). It looks like we can work around the hardware issue by just storing a shadow copy of the MSIX table and restore it after reset. Signed-off-by: NDave Jiang <dave.jiang@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Sinan Kaya 提交于
This patch adds support for hidma engine. The driver consists of two logical blocks. The DMA engine interface and the low-level interface. The hardware only supports memcpy/memset and this driver only support memcpy interface. HW and driver doesn't support slave interface. Signed-off-by: NSinan Kaya <okaya@codeaurora.org> Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Sinan Kaya 提交于
The Qualcomm Technologies HIDMA device has been designed to support virtualization technology. The driver has been divided into two to follow the hardware design. 1. HIDMA Management driver 2. HIDMA Channel driver Each HIDMA HW consists of multiple channels. These channels share some set of common parameters. These parameters are initialized by the management driver during power up. Same management driver is used for monitoring the execution of the channels. Management driver can change the performance behavior dynamically such as bandwidth allocation and prioritization. The management driver is executed in host context and is the main management entity for all channels provided by the device. Signed-off-by: NSinan Kaya <okaya@codeaurora.org> Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Sinan Kaya 提交于
Creating a QCOM directory for all QCOM DMA source files. Signed-off-by: NSinan Kaya <okaya@codeaurora.org> Reviewed-by: NAndy Gross <agross@codeaurora.org> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 10 3月, 2016 1 次提交
-
-
由 Ludovic Desroches 提交于
When computing the residue we need two pieces of information: the current descriptor and the remaining data of the current descriptor. To get that information, we need to read consecutively two registers but we can't do it in an atomic way. For that reason, we have to check manually that current descriptor has not changed. Signed-off-by: NLudovic Desroches <ludovic.desroches@atmel.com> Suggested-by: NCyrille Pitchen <cyrille.pitchen@atmel.com> Reported-by: NDavid Engraf <david.engraf@sysgo.com> Tested-by: NDavid Engraf <david.engraf@sysgo.com> Fixes: e1f7c9ee ("dmaengine: at_xdmac: creation of the atmel eXtended DMA Controller driver") Cc: stable@vger.kernel.org #4.1 and later Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 09 3月, 2016 2 次提交
-
-
由 Luis R. Rodriguez 提交于
Rename dma_*_writecombine() to dma_*_wc(), so that the naming is coherent across the various write-combining APIs. Keep the old names for compatibility for a while, these can be removed at a later time. A guard is left to enable backporting of the rename, and later remove of the old mapping defines seemlessly. Build tested successfully with allmodconfig. The following Coccinelle SmPL patch was used for this simple transformation: @ rename_dma_alloc_writecombine @ expression dev, size, dma_addr, gfp; @@ -dma_alloc_writecombine(dev, size, dma_addr, gfp) +dma_alloc_wc(dev, size, dma_addr, gfp) @ rename_dma_free_writecombine @ expression dev, size, cpu_addr, dma_addr; @@ -dma_free_writecombine(dev, size, cpu_addr, dma_addr) +dma_free_wc(dev, size, cpu_addr, dma_addr) @ rename_dma_mmap_writecombine @ expression dev, vma, cpu_addr, dma_addr, size; @@ -dma_mmap_writecombine(dev, vma, cpu_addr, dma_addr, size) +dma_mmap_wc(dev, vma, cpu_addr, dma_addr, size) We also keep the old names as compatibility helpers, and guard against their definition to make backporting easier. Generated-by: Coccinelle SmPL Suggested-by: NIngo Molnar <mingo@kernel.org> Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: airlied@linux.ie Cc: akpm@linux-foundation.org Cc: benh@kernel.crashing.org Cc: bhelgaas@google.com Cc: bp@suse.de Cc: dan.j.williams@intel.com Cc: daniel.vetter@ffwll.ch Cc: dhowells@redhat.com Cc: julia.lawall@lip6.fr Cc: konrad.wilk@oracle.com Cc: linux-fbdev@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: luto@amacapital.net Cc: mst@redhat.com Cc: tomi.valkeinen@ti.com Cc: toshi.kani@hp.com Cc: vinod.koul@intel.com Cc: xen-devel@lists.xensource.com Link: http://lkml.kernel.org/r/1453516462-4844-1-git-send-email-mcgrof@do-not-panic.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
-
由 Xuelin Shi 提交于
adding unmap of sources and destinations while doing dequeue. Signed-off-by: NXuelin Shi <xuelin.shi@nxp.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 04 3月, 2016 5 次提交
-
-
由 Laxman Dewangan 提交于
After using the function of_device_get_match_data(), the of_device_id table for tegra20 dma is not used by probe() and hence moving it near to place where platform driver is defined as this table used only on this data structure. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kedareswara rao Appana 提交于
This patch removes the unnecessary variable initializations in the driver. Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Arnd Bergmann 提交于
The sirf dma driver uses #ifdef to check for CONFIG_PM_SLEEP for its suspend/resume code but then has no #ifdef for the respective runtime PM code, so we get a warning if CONFIG_PM is disabled altogether: drivers/dma/sirf-dma.c:1000:12: error: 'sirfsoc_dma_runtime_resume' defined but not used [-Werror=unused-function] This removes the existing #ifdef and instead uses __maybe_unused annotations for all four functions to let the compiler know it can silently drop the function definition. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kuninori Morimoto 提交于
DMACHCLR clears each channels, but its channel number is based on its SoC or IP. Current driver is using fixed 0x7fff (= for 15ch), it is not good match for Gen3 or Gen2 Audio DMAC. This patch fixes it Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Wolfram Sang 提交于
This change will also make Coverity happy by avoiding a theoretical NULL pointer dereference; yet another reason is to use the above helper function to tighten the code and make it more readable. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 03 3月, 2016 9 次提交
-
-
由 Laxman Dewangan 提交于
Use of_device_get_match_data() for getting matched data instead of implementing this locally. Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Acked-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Andy Gross 提交于
This patch fixes the Qualcomm BAM dmaenging driver to work with big endian kernels. Signed-off-by: NAndy Gross <andy.gross@linaro.org> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Emilio López 提交于
MODULE_DEVICE_TABLE() is missing, so the module isn't auto-loading on supported systems. This commit adds the missing line so it loads automatically when building it as a module and running on a system with the early sunxi DMA engine. Signed-off-by: NEmilio López <emilio.lopez@collabora.co.uk> Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Dan Carpenter 提交于
This is harmless because the caller only cares about zero vs non-zero but we should be returning PTR_ERR() here. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Robert Jarzmik 提交于
While testing audio with pxa2xx-ac97, underrun were happening while the user application was correctly feeding the music. Debug proved that the cyclic transfer is not cyclic, ie. the last descriptor did not loop on the first. Another issue is that the descriptor length was always set to 8192, because of an trivial operator issue. This was tested on a pxa27x platform. Fixes: a57e16cf ("dmaengine: pxa: add pxa dmaengine driver") Reported-by: NVasily Khoruzhick <anarsoul@gmail.com> Tested-by: NVasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kedareswara rao Appana 提交于
It is sometimes necessary to poll a memory-mapped register until its value satisfies some condition use convenience macros that do this instead of do while loop's. This patch updates the same in the driver. Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kedareswara rao Appana 提交于
This patch simplifies the spin lock handling in the driver by moving locking out of xilinx_dma_start_transfer() API and xilinx_dma_update_completed_cookie() API. Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kedareswara rao Appana 提交于
This patch fixes issues with the Non-parking mode(Cirular mode). With the existing driver in cirular mode if we submit frames less than h/w configured we simply end-up having misconfigured vdma h/w. This patch fixes this issue by configuring the frame count register. Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Kedareswara rao Appana 提交于
The current driver allows user to queue up multiple segments on to a single transaction descriptor. User will submit this single desc and in the issue_pending() we decode multiple segments and submit to SG HW engine. We free up the allocated_desc when it is submitted to the HW. Existing code prevents the user to prepare multiple trasactions at same time as we are overwrite with the allocated_desc. The best utilization of HW SG engine would happen if we collate the pending list when we start dma this patch updates the same. Signed-off-by: NKedareswara rao Appana <appanad@xilinx.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 02 3月, 2016 1 次提交
-
-
由 Arnd Bergmann 提交于
The two header files got moved to include/linux, and most users were already converted, this changes the remaining drivers and removes the files. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Reviewed-by: NChristoph Hellwig <hch@lst.de> Acked-by: NVinod Koul <vinod.koul@intel.com> Acked-by: NSimon Horman <simon.horman@netronome.com> Acked-by: NYisen Zhuang <yisen.zhuang@huawei.com>
-
- 01 3月, 2016 1 次提交
-
-
由 Caesar Wang 提交于
This patch fixes the burst mode that will break DMA uart on SoCFPGA. In some cases, some SoCS didn't support the multi-burst even if the devices who use the pl330 claim support the maxburst. Fixes: commit 848e9776 "dmaengine: pl330: support burst mode for dev-to-mem and mem-to-dev transmit" Reported-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Tested-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 27 2月, 2016 1 次提交
-
-
由 Robert Jarzmik 提交于
The current number of requestor lines is limited to 31. This was an error of a previous commit, as this number is platform dependent, and is actually : - for pxa25x: 40 requestor lines - for pxa27x: 75 requestor lines - for pxa3xx: 100 requestor lines The previous testing did not reveal the faulty constant as on pxa[23]xx platforms, only camera, MSL and USB are above requestor 32, and in these only the camera has a driver using dma. Fixes: e87ffbdf ("dmaengine: pxa_dma: fix the no-requestor case") Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Acked-by: NVinod Koul <vinod.koul@intel.com>
-
- 22 2月, 2016 6 次提交
-
-
由 Andy Shevchenko 提交于
In acpi_dma_request_slave_chan_by_name() the debug message is printed before the actual matching happens. Correct the message itself to be in align with the flow. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Andy Shevchenko 提交于
There is a typo in the definition of IDMA64C_CFGH_WR_ISSUE_THD(x). Fix it by swapping characters. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Lothar Waßmann 提交于
The mxs-dma unit is also available on i.MX6UL. Make it possible to select it in Kconfig. Signed-off-by: NLothar Waßmann <LW@KARO-electronics.de> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Peter Ujfalusi 提交于
In order to avoid possible race condition when client drivers are using dmaengine_terminate_sync() call to disable the channel. Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Suggested-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Peter Ujfalusi 提交于
We need the callback to support the dmaengine_terminate_sync(). Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Peter Ujfalusi 提交于
We need the callback to support the dmaengine_terminate_sync(). Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 16 2月, 2016 5 次提交
-
-
由 Dave Jiang 提交于
Future IOATDMA hardware will take advantage of descriptors residing in contiguous memory. Setting the descriptor ring in max config DMA memory of 2MB. Each channel will need 2 of these chunks. This should provide 64k of 64B descriptors. Signed-off-by: NDave Jiang <dave.jiang@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Dave Jiang 提交于
Moving to contingous memory backed descriptor rings. This makes is really difficult and complex to do reshape. Going to remove this as I don't think we need to do it anymore. Signed-off-by: NDave Jiang <dave.jiang@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Dave Jiang 提交于
Converting old pci_pool_* calls to "new" dma_pool_* to make everything uniform. Signed-off-by: NDave Jiang <dave.jiang@intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Andy Shevchenko 提交于
The commit 2895b2ca ("dmaengine: dw: fix cyclic transfer callbacks") re-enabled BLOCK interrupts with regard to make cyclic transfers work. However, this change becomes a regression for non-cyclic transfers as interrupt counters under stress test had been grown enormously (approximately per 4-5 bytes in the UART loop back test). Taking into consideration above enable BLOCK interrupts if and only if channel is programmed to perform cyclic transfer. Fixes: 2895b2ca ("dmaengine: dw: fix cyclic transfer callbacks") Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: NMans Rullgard <mans@mansr.com> Tested-by: NMans Rullgard <mans@mansr.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Cc: <stable@vger.kernel.org> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
由 Andy Shevchenko 提交于
The datasheet requires that the user must clear LLP_[SD]_EN bits whenever LLP.LOC is zero, i.e. in the last descriptor of a multi-block chain. Make the driver do this. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-
- 09 2月, 2016 1 次提交
-
-
由 Shawn Lin 提交于
This patch add max burst capability for dmaengine and limit burst capability to one for PL330_QUIRK_BROKEN_NO_FLUSHP Signed-off-by: NShawn Lin <shawn.lin@rock-chips.com> Signed-off-by: NCaesar Wang <wxt@rock-chips.com> Signed-off-by: NVinod Koul <vinod.koul@intel.com>
-