aboutsummaryrefslogtreecommitdiff
path: root/drivers/dma
AgeCommit message (Collapse)AuthorFilesLines
2013-05-23dmaengine: ste_dma40: Also report the number of logical channelsLee Jones1-2/+3
Now we know the total of physical and logical channels, we may as well report them within the information log. Before: dma40 dma40.0: hardware revision: 3 @ 0x801c0000 with 8 physical channels After: <as above ...> and 256 logical channels Cc: Dan Williams <[email protected]> Cc: Per Forlin <[email protected]> Cc: Rabin Vincent <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Move rev error-check up to revision acquisitionLee Jones1-6/+4
At the moment we fetch the hardware revision, then do some stuff, then check whether the revision is correct and return in error if it's not. Well we may as well check it as soon as we know what it is, so let's move the check right up underneath where we acquire the version. Acked-by: Vinod Koul <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Remove 'always true' checkingLee Jones1-11/+5
Before allocating memory for logical channels, the current driver checks to see if there are any. Well as the dma40_memcpy_channels[] array is always populated, the check is always true. Best to remove the check. Cc: Dan Williams <[email protected]> Cc: Per Forlin <[email protected]> Cc: Rabin Vincent <[email protected]> Acked-by: Vinod Koul <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Calculate number of logical channels from physical onesLee Jones1-10/+6
This change will cost ~25KB of memory, but it's worth the trade-off, as it removes a great deal of overhead. It means that instead of only allocating memory for the logical channels in use, it does so for all available ones, which is 32 per physical channel. However, this now means we can remove some platform data and we don't have to worry about adding vendor specific variables to Device Tree. Acked-by: Vinod Koul <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Remove home-brew MAX() macroLee Jones1-3/+4
The current implementation of the DMA40's local MAX() macro evaluates its arguments more times than is necessary and it not type checked. This patch strips replaces it with a new, more efficient constant. Cc: Dan Williams <[email protected]> Cc: Per Forlin <[email protected]> Cc: Rabin Vincent <[email protected]> Acked-by: Vinod Koul <[email protected]> Reported-by: Harvey Harrison <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Amalgamate DMA source and destination channel numbersLee Jones2-64/+33
Devices which utilise DMA use the same device numbers for transmitting and receiving. In this patch we encode the source and destination information into one single attribute. We can subsequently exploit the direction attribute to see which of the transfer directions are being described. This also lessens the burden on platform data. Cc: Dan Williams <[email protected]> Cc: Per Forlin <[email protected]> Cc: Rabin Vincent <[email protected]> Acked-by: Vinod Koul <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Rectify incorrect configuration validation checkingLee Jones1-4/+4
If we compare an event's group (dev_type / 16) with STEDMA40_DEV_DST_MEMORY (-1), the only way we'd obtain a positive result is if we passed -16 as a device type, which is unfeasible. Instead, it would be much more sane to compare STEDMA40_DEV_DST_MEMORY against the raw dev_type in order to expect the expected result. Acked-by: Vinod Koul <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Move default memcpy configs into the driverLee Jones1-2/+30
There are only two default memcpy configurations used for the DMA40 driver; one for physical memcpy and one for logical memcpy. Instead of invariably passing the same configurations though platform data, we're moving them into the driver instead. Acked-by: Vinod Koul <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Fix up static memcpy event linesLinus Walleij1-1/+15
The commit "dmaengine: ste_dma40: Assign memcpy channels in the driver" had two problems: - It assigned magic numbers to the memcpy event lines instead of giving them symbolic names. - It seems to have missed one of the memcpy event lines, number 51. This patch fixes it up. Acked-by: Lee Jones <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-23dmaengine: ste_dma40: Assign memcpy channels in the driverLee Jones1-5/+7
The channels reserved for memcpy are the same for all currently supported platforms. With this in mind, we can ease the platform data passing requirement by moving these assignments out from platform code and place them directly into the driver. Acked-by: Vinod Koul <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-05-18drivers/dma: don't check resource with devm_ioremap_resourceWolfram Sang1-5/+0
devm_ioremap_resource does sanity checks on the given resource. No need to duplicate this in the driver. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Stephen Warren <[email protected]>
2013-05-14dma: acpi-dma: parse CSRT to extract additional resourcesAndy Shevchenko1-3/+169
Since we have CSRT only to get additional DMA controller resources, let's get rid of drivers/acpi/csrt.c and move its logic inside ACPI DMA helpers code. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Mika Westerberg <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-05-09Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds31-499/+2843
Pull slave-dmaengine updates from Vinod Koul: "This time we have dmatest improvements from Andy along with dw_dmac fixes. He has also done support for acpi for dmanegine. Also we have bunch of fixes going in DT support for dmanegine for various folks. Then Haswell and other ioat changes from Dave and SUDMAC support from Shimoda." * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (53 commits) dma: tegra: implement suspend/resume callbacks dma:of: Use a mutex to protect the of_dma_list dma: of: Fix of_node reference leak dmaengine: sirf: move driver init from module_init to subsys_initcall sudmac: add support for SUDMAC dma: sh: add Kconfig at_hdmac: move to generic DMA binding ioatdma: ioat3_alloc_sed can be static ioatdma: Adding write back descriptor error status support for ioatdma 3.3 ioatdma: S1200 platforms ioatdma channel 2 and 3 falsely advertise RAID cap ioatdma: Adding support for 16 src PQ ops and super extended descriptors ioatdma: Removing hw bug workaround for CB3.x .2 and earlier dw_dmac: add ACPI support dmaengine: call acpi_dma_request_slave_channel as well dma: acpi-dma: introduce ACPI DMA helpers dma: of: Remove unnecessary list_empty check DMA: OF: Check properties value before running be32_to_cpup() on it DMA: of: Constant names ioatdma: skip silicon bug workaround for pq_align for cb3.3 ioatdma: Removing PQ val disable for cb3.3 ...
2013-05-07Merge tag 'dt-for-linus-2' of ↵Linus Torvalds1-34/+75
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC device tree updates (part 2) from Arnd Bergmann: "These are mostly new device tree bindings for existing drivers, as well as changes to the device tree source files to add support for those devices, and a couple of new boards, most notably Samsung's Exynos5 based Chromebook. The changes depend on earlier platform specific updates and touch the usual platforms: omap, exynos, tegra, mxs, mvebu and davinci." * tag 'dt-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (169 commits) ARM: exynos: dts: cros5250: add EC device ARM: dts: Add sbs-battery for exynos5250-snow ARM: dts: Add i2c-arbitrator bus for exynos5250-snow ARM: dts: add mshc controller node for Exynos4x12 SoCs ARM: dts: Add chip-id controller node on Exynos4/5 SoC ARM: EXYNOS: Create virtual I/O mapping for Chip-ID controller using device tree ARM: davinci: da850-evm: add SPI flash support ARM: davinci: da850: override SPI DT node device name ARM: davinci: da850: add SPI1 DT node spi/davinci: add DT binding documentation spi/davinci: no wildcards in DT compatible property ARM: dts: mvebu: Convert mvebu device tree files to 64 bits ARM: dts: mvebu: introduce internal-regs node ARM: dts: mvebu: Convert all the mvebu files to use the range property ARM: dts: mvebu: move all peripherals inside soc ARM: dts: mvebu: fix cpus section indentation ARM: davinci: da850: add EHRPWM & ECAP DT node ARM/dts: OMAP3: fix pinctrl-single configuration ARM: dts: Add OMAP3430 SDP NOR flash memory binding ARM: dts: Add NOR flash bindings for OMAP2420 H4 ...
2013-05-06Merge branch 'late/dt' into next/dt2Arnd Bergmann3-17/+42
This is support for the ARM Chromebook, originally scheduled as a "late" pull request. Since it's already late now, we can combine this into the existing next/dt2 branch. * late/dt: ARM: exynos: dts: cros5250: add EC device ARM: dts: Add sbs-battery for exynos5250-snow ARM: dts: Add i2c-arbitrator bus for exynos5250-snow ARM: dts: Add chip-id controller node on Exynos4/5 SoC ARM: EXYNOS: Create virtual I/O mapping for Chip-ID controller using device tree
2013-05-02dma: tegra: implement suspend/resume callbacksLaxman Dewangan1-0/+65
Implement suspend/resume callbacks to store APB DMA channel's register on suspend and restore APB DMA channel's register on resume. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-05-02Merge branch 'topic/of' into for-linusVinod Koul2-67/+31
Conflicts: include/linux/dmaengine.h Signed-off-by: Vinod Koul <[email protected]>
2013-05-02dma:of: Use a mutex to protect the of_dma_listLars-Peter Clausen1-56/+20
Currently the OF DMA code uses a spin lock to protect the of_dma_list from concurrent access and a per controller reference count to protect the controller from being freed while a request operation is in progress. If of_dma_controller_free() is called for a controller who's reference count is not zero it will return -EBUSY and not remove the controller. This is fine up until here, but leaves the question what the caller of of_dma_controller_free() is supposed to do if the controller couldn't be freed. The only viable solution for the caller is to spin on of_dma_controller_free() until it returns success. E.g. do { ret = of_dma_controller_free(dev->of_node) } while (ret != -EBUSY); This is rather ugly and unnecessary and none of the current users of of_dma_controller_free() check it's return value anyway. Instead protect the list by a mutex. The mutex will be held as long as a request operation is in progress. So if of_dma_controller_free() is called while a request operation is in progress it will be put to sleep and only wake up once the request operation has finished. This means that it is no longer possible to register or unregister OF DMA controllers from a context where it's not possible to sleep. But I doubt that we'll ever need this. Also rename of_dma_get_controller back to of_dma_find_controller. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-05-02dma: of: Fix of_node reference leakLars-Peter Clausen1-5/+6
of_dma_request_slave_channel() currently does not drop the reference to the dma_spec of_node if no DMA controller matching the of_node could be found. This patch fixes it by always calling of_node_put(). Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-05-02dmaengine: sirf: move driver init from module_init to subsys_initcallBarry Song1-1/+12
if we initilize dma driver by module_init, there are still many devices which will be initilized earlier than dma. these devices will fail to get dma channel. this moves dmaengine earlier than device_initcall and make dma available for all devices. Reported-by: Renwei Wu <[email protected]> Signed-off-by: Barry Song <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-30sudmac: add support for SUDMACShimoda, Yoshihiro3-0/+435
Some Renesas USB modules have SUDMAC. This patch supports it using the shdma-base driver. Signed-off-by: Yoshihiro Shimoda <[email protected]> Reviewed-by: Guennadi Liakhovetski <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-30dma: sh: add KconfigShimoda, Yoshihiro4-11/+21
This patch adds Kconfig in the drivers/dma/sh. This patch also adds a new config "SH_DMAE_BASE" and the "config SH_DMAE" depends on it. Since some drivers (e.g. sh_mmcif.c) depends on shdma-base.c if CONFIG_DMA_ENGINE=y, the "config SH_DMAE_BASE" is set as "bool". Signed-off-by: Yoshihiro Shimoda <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-30at_hdmac: move to generic DMA bindingLudovic Desroches2-6/+91
Update at_hdmac driver to support generic DMA device tree binding. Devices can still request channel with dma_request_channel() then it doesn't break DMA for non DT boards. Signed-off-by: Ludovic Desroches <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-22Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller3-22/+45
Conflicts: drivers/net/ethernet/emulex/benet/be_main.c drivers/net/ethernet/intel/igb/igb_main.c drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c include/net/scm.h net/batman-adv/routing.c net/ipv4/tcp_input.c The e{uid,gid} --> {uid,gid} credentials fix conflicted with the cleanup in net-next to now pass cred structs around. The be2net driver had a bug fix in 'net' that overlapped with the VLAN interface changes by Patrick McHardy in net-next. An IGB conflict existed because in 'net' the build_skb() support was reverted, and in 'net-next' there was a comment style fix within that code. Several batman-adv conflicts were resolved by making sure that all calls to batadv_is_my_mac() are changed to have a new bat_priv first argument. Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO rewrite in 'net-next', mostly overlapping changes. Thanks to Stephen Rothwell and Antonio Quartulli for help with several of these merge resolutions. Signed-off-by: David S. Miller <[email protected]>
2013-04-18dmaengine: at_hdmac: fix race condition in atc_advance_work()Ludovic Desroches1-5/+4
The BUG_ON() directive is triggered probably due to a latency modification following inclusion of commit c10d73671ad3 ("softirq: reduce latencies"). This condition has not been met before 3.9-rc1 and doesn't trigger without this patch. We now make sure that DMA channel is idle before calling atc_complete_all() which makes the BUG_ON() "protection" useless. Signed-off-by: Ludovic Desroches <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-04-16ioatdma: ioat3_alloc_sed can be staticFengguang Wu1-2/+2
Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Fengguang Wu <[email protected]> Acked-by: Dave Jiang <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Adding write back descriptor error status support for ioatdma 3.3Dave Jiang4-25/+105
v3.3 provides support for write back descriptor error status. This allows reporting of errors in a descriptor field. In supporting this, certain errors such as P/Q validation errors no longer halts the channel. The DMA engine can continue to execute until the end of the chain and allow software to report the "errors" up the stack. We are also going to mask those error interrupts and handle them when the "chain" has completed at the end. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: S1200 platforms ioatdma channel 2 and 3 falsely advertise RAID capDave Jiang1-0/+15
This workaround checks for channel 2&3 and remove RAID cap. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Adding support for 16 src PQ ops and super extended descriptorsDave Jiang6-22/+438
v3.3 introduced 16 sources PQ operations. This also introduced super extended descriptors to support the 16 srcs operations. This patch adds support for the 16 sources ops and in turn adds the super extended descriptors for those ops. 5 SED pools are created depending on the descriptor sizes. An SED can be a 64 bytes sized descriptor or larger and must be physically contiguous. A kmem cache pool is created for allocating the software descriptor that manages the hardware descriptor. The super extended descriptor will take place of extended descriptor under certain operations and be "attached" to the op descriptor during operation. This is a new feature for ioatdma v3.3. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Removing hw bug workaround for CB3.x .2 and earlierDave Jiang1-11/+20
CB3.2 and earlier hardware has silicon bugs that are no longer needed with the new hardware. We don't have to use a NULL op to signal interrupt for RAID ops any longer. This code make sure the legacy workarounds only happen on legacy hardware. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dw_dmac: add ACPI supportAndy Shevchenko2-19/+50
Since we have proper ACPI DMA helpers implemented, the driver may use it. This patch introduces custom filter function together with acpi_device_id table. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dmaengine: call acpi_dma_request_slave_channel as wellAndy Shevchenko1-0/+6
The slave device could be enumerated by ACPI. In that case the dma_request_slave_channel should use the acpi_dma_request_slave_channel() helper. Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dma: acpi-dma: introduce ACPI DMA helpersAndy Shevchenko3-0/+284
There is a new generic API to get a DMA channel for a slave device (commit 9a6cecc8 "dmaengine: add helper function to request a slave DMA channel"). In similar fashion to the DT case (commit aa3da644 "of: Add generic device tree DMA helpers") we introduce helpers to the DMAC drivers which are enumerated by ACPI. The proposed extension provides the following API calls: acpi_dma_controller_register(), devm_acpi_dma_controller_register() acpi_dma_controller_free(), devm_acpi_dma_controller_free() acpi_dma_simple_xlate() acpi_dma_request_slave_chan_by_index() acpi_dma_request_slave_chan_by_name() The first two should be used, for example, at probe() and remove() of the corresponding DMAC driver. At the register stage the DMAC driver supplies a custom xlate() function to translate a struct dma_spec into struct dma_chan. Accordingly to the ACPI Fixed DMA resource specification the only two pieces of information the slave device has are the channel id and the request line (slave id). Those two are represented by struct dma_spec. The acpi_dma_request_slave_chan_by_index() provides access to the specifix FixedDMA resource by its index. Whereas dma_request_slave_channel() takes a string parameter to identify the DMA resources required by the slave device. To make a slave device driver work with both DeviceTree and ACPI enumeration a simple convention is established: "tx" corresponds to the index 0 and "rx" to the index 1. In case of robust configuration the slave device driver unfortunately needs to call acpi_dma_request_slave_chan_by_index() directly. Additionally the patch provides "managed" version of the register/free pair i.e. devm_acpi_dma_controller_register() and devm_acpi_dma_controller_free(). Usually, the driver uses only devm_acpi_dma_controller_register(). Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dma: of: Remove unnecessary list_empty checkLars-Peter Clausen1-5/+0
list_for_each_entry is able to handle empty lists just fine, there is no need to make sure that the list is non empty. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15DMA: OF: Check properties value before running be32_to_cpup() on itViresh Kumar1-2/+6
In of_dma_controller_register() routine we are calling of_get_property() as an parameter to be32_to_cpup(). In case the property doesn't exist we will get a crash. This patch changes this code to check if we got a valid property first and then runs be32_to_cpup() on it. Signed-off-by: Viresh Kumar <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15DMA: of: Constant namesMarkus Pargmann2-4/+4
No DMA of-function alters the name, so this patch changes the name arguments to be constant. Most drivers will probably request DMA channels using a constant name. Signed-off-by: Markus Pargmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: skip silicon bug workaround for pq_align for cb3.3Dave Jiang1-2/+10
The alignment workaround is only necessary for cb3.2 or earlier platforms. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Removing PQ val disable for cb3.3Dave Jiang4-14/+125
The PQ Val ops work on the newer hardware so we should actually provide support for it and remove the disabling bits. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: skip legacy reset bits since v3.3 plattform doesn't need itDave Jiang1-13/+21
Make it so only 3.2 and earlier platform need the PCI config register clearings since this implementation does not have the registers. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: channel reset scheme fixup on Intel Atom S1200 platformsDave Jiang3-83/+171
The Intel Atom S1200 family ioatdma changed the channel reset behavior. It does a reset similar to PCI FLR by resetting all the MSIX registers. We have to re-init msix interrupts because of this. This workaround is only specific to this platform and is not expected to carry over to the later generations. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Add 64bit chansts register read for ioat v3.3.Dave Jiang1-1/+21
The channel status register for v3.3 is now 64bit. Use readq if available on v3.3 platforms. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Adding PCI IDs for Intel Atom S1200 product family ioatdma devicesDave Jiang2-0/+12
These should be good for the IOAT DMA devices on the Intel Atom S1269, S1279, and S1289 platforms. We are also adding IOAT v3.3 definition for the new DMA engine. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15ioatdma: Adding Haswell devid for ioatdmaDave Jiang3-6/+55
Adding Haswell PCI device IDs for ioatdma and simplify the detection of certain Xeon CPUs that has alignment bugs so that modifications can be changed at a single place going forward. Signed-off-by: Dave Jiang <[email protected]> Acked-by: Dan Williams <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dmaengine: OMAP: Register SDMA controller with Device Tree DMA driverJon Hunter1-2/+36
If the device-tree blob is present during boot, then register the SDMA controller with the device-tree DMA driver so that we can use device-tree to look-up DMA client information. Signed-off-by: Jon Hunter <[email protected]> Reviewed-by: Felipe Balbi <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Tested-by: Santosh Shilimkar <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dw_dmac: remove unnecessary ENODEV checkAndy Shevchenko1-1/+1
If CONFIG_OF is not set the of_node of the device will always be NULL. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Viresh Kumar <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dmaengine: dw_dmac: simplify master selectionArnd Bergmann2-48/+33
The patch to add the common DMA binding added a dummy dw_dma_slave structure into the dw_dma_chan structure in order to configure the masters correctly. It turns out that this can be simplified if we pick the DMA masters in the dwc_alloc_chan_resources function instead and save them in the dw_dma_chan structure directly. This could be simplified further once all users that today use dw_dma_slave for configuration get converted to device tree based setup instead. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Viresh Kumar <[email protected]> Cc: [email protected] Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dw_dmac: rename DT related methods to reflect their belongingAndy Shevchenko1-11/+13
Since we will have not only DT cases in future let's rename DT related methods to reflect their belonging. The rename was done as follows: struct dw_dma_filter_args -> struct dw_dma_of_filter_args dw_dma_generic_filter() -> dw_dma_of_filter() dw_dma_xlate() -> dw_dma_of_xlate() dw_dma_id_table -> dw_dma_of_id_table There is no functional change. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Viresh Kumar <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dw_dmac: fix style of the commentsAndy Shevchenko1-15/+15
Let's use capital letter as a first one in the comments. There is no functional changes. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Viresh Kumar <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dma: Make the 'mask' parameter of __dma_request_channel constLars-Peter Clausen1-3/+6
The 'mask' parameter is not modified in __dma_request_channel and really shouldn't be. Make this explicit by making the parameter const. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2013-04-15dmaengine:sirf:take clock and enable it while probingBarry Song1-0/+11
there is hardcode which enabled the clock of dmaengine before, this patch takes the clock by standard clock API and enable it in probe. Signed-off-by: Barry Song <[email protected]> Signed-off-by: Vinod Koul <[email protected]>