05 Nov, 2015

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver update for 4.4-rc1. Lots of
    different driver and subsystem updates, hwtracing being the largest
    with the addition of some new platforms that are now supported. Full
    details in the shortlog.

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits)
    fpga: socfpga: Fix check of return value of devm_request_irq
    lkdtm: fix ACCESS_USERSPACE test
    mcb: Destroy IDA on module unload
    mcb: Do not return zero on error path in mcb_pci_probe()
    mei: bus: set the device name before running fixup
    mei: bus: use correct lock ordering
    mei: Fix debugfs filename in error output
    char: ipmi: ipmi_ssif: Replace timeval with timespec64
    fpga: zynq-fpga: Fix issue with drvdata being overwritten.
    fpga manager: remove unnecessary null pointer checks
    fpga manager: ensure lifetime with of_fpga_mgr_get
    fpga: zynq-fpga: Change fw format to handle bin instead of bit.
    fpga: zynq-fpga: Fix unbalanced clock handling
    misc: sram: partition base address belongs to __iomem space
    coresight: etm3x: adding documentation for sysFS's cpu interface
    vme: 8-bit status/id takes 256 values, not 255
    fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000
    ARM: zynq: dt: Updated devicetree for Zynq 7000 platform.
    ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager.
    ver_linux: proc/modules, limit text processing to 'sed'
    ...

    Linus Torvalds
     
  • Pull tty/serial driver updates from Greg KH:
    "Here is the big tty and serial driver update for 4.4-rc1.

    Lots of serial driver updates and a few small tty core changes. Full
    details in the shortlog.

    All of these have been in linux-next for a while"

    * tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits)
    tty: Use unbound workqueue for all input workers
    tty: Abstract tty buffer work
    tty: Prevent tty teardown during tty_write_message()
    tty: core: Use correct spinlock flavor in tiocspgrp()
    tty: Combine SIGTTOU/SIGTTIN handling
    serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty()
    ttyFDC: Fix build problems due to use of module_{init,exit}
    tty: remove unneeded return statement
    serial: 8250_mid: add support for DMA engine handling from UART MMIO
    dmaengine: hsu: remove platform data
    dmaengine: hsu: introduce stubs for the exported functions
    dmaengine: hsu: make the UART driver in control of selecting this driver
    serial: fix mctrl helper functions
    serial: 8250_pci: Intel MID UART support to its own driver
    serial: fsl_lpuart: add earlycon support
    tty: disable unbind for old 74xx based serial/mpsc console port
    serial: pl011: Spelling s/clocks-names/clock-names/
    n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars
    tty: synclink, fix indentation
    serial: at91, fix rs485 properties
    ...

    Linus Torvalds
     

26 Oct, 2015

1 commit

  • * device-properties:
    ACPI / property: Fix subnode lookup scope for data-only subnodes
    acpi-dma: Add support for "dma-names" device property
    device property: Add fwnode_property_match_string()
    ACPI / property: Extend device_get_next_child_node() to data-only nodes
    ACPI / gpio: Split acpi_get_gpiod_by_index()
    ACPI / property: Extend fwnode_property_* to data-only subnodes
    ACPI / property: Expose data-only subnodes via sysfs
    ACPI / property: Add support for data-only subnodes
    ACPI / property: Add routine for extraction of _DSD properties

    Rafael J. Wysocki
     

18 Oct, 2015

2 commits

  • There are no platforms where it's not possible to calculate
    the number of channels based on IO space length, and since
    that is the only purpose for struct hsu_dma_platform_data,
    removing it.

    Suggested-by: Andy Shevchenko
    Signed-off-by: Heikki Krogerus
    Acked-by: Vinod Koul
    Acked-by: Andy Shevchenko
    Signed-off-by: Greg Kroah-Hartman

    Heikki Krogerus
     
  • HSU (High Speed UART) DMA engine, like the name suggests, is
    an integrated DMA engine for UART and UART alone. Therefore,
    making the UART drivers responsible of selecting it and
    removing the user selectable option for it. The UARTs with
    this DMA engine can always select HSU_DMA when
    SERIAL_8250_DMA option is enabled.

    Suggested-by: Andy Shevchenko
    Signed-off-by: Heikki Krogerus
    Acked-by: Vinod Koul
    Acked-by: Andy Shevchenko
    Signed-off-by: Greg Kroah-Hartman

    Heikki Krogerus
     

06 Oct, 2015

1 commit


04 Oct, 2015

1 commit

  • The MIC X100 DMA engine has a special status descriptor which writes
    an 8 byte value to a destination location. This is used to signal
    completion of all DMA descriptors prior to the status descriptor.
    This patch add a new DMA engine API which enables updating a
    destination address with an 8 byte immediate data value.

    Reviewed-by: Nikhil Rao
    Reviewed-by: Ashutosh Dixit
    Signed-off-by: Lawrynowicz, Jacek
    Signed-off-by: Sudeep Dutt
    Signed-off-by: Siva Yerramreddy
    Signed-off-by: Greg Kroah-Hartman

    Siva Yerramreddy
     

03 Oct, 2015

1 commit

  • Pull dmaengine fixes from Vinod Koul:
    "This contains fixes spread throughout the drivers, and also fixes one
    more instance of privatecnt in dmaengine.

    Driver fixes summary:
    - bunch of pxa_dma fixes for reuse of descriptor issue, residue and
    no-requestor
    - odd fixes in xgene, idma, sun4i and zxdma
    - at_xdmac fixes for cleaning descriptor and block addr mode"

    * tag 'dmaengine-fix-4.3-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: pxa_dma: fix residue corner case
    dmaengine: pxa_dma: fix the no-requestor case
    dmaengine: zxdma: Fix off-by-one for testing valid pchan request
    dmaengine: at_xdmac: clean used descriptor
    dmaengine: at_xdmac: change block increment addressing mode
    dmaengine: dw: properly read DWC_PARAMS register
    dmaengine: xgene-dma: Fix overwritting DMA tx ring
    dmaengine: fix balance of privatecnt
    dmaengine: sun4i: fix unsafe list iteration
    dmaengine: idma64: improve residue estimation
    dmaengine: xgene-dma: fix handling xgene_dma_get_ring_size result
    dmaengine: pxa_dma: fix initial list move

    Linus Torvalds
     

01 Oct, 2015

5 commits

  • A very tiny temporal window exists in the residue calculation where :
    - upon entering residue calculation, the transfer is ongoing
    - when reading the current transfer pointer, it just changed to
    the "finisher/linker" descriptor

    In this case, the residue returned is the whole transfer length instead
    of 0. Fix it.

    This appears almost in one extreme case, where the driver is used
    by older clients which inquire for residue in interrupt context, such
    as the smsc91x ethernet driver, in a tight loop :
    interrupt_handler()
    dmaengine_submit()
    do {
    dmaengine_tx_status()
    } while (residue > 0 || status != DMA_ERROR)

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Vinod Koul

    Robert Jarzmik
     
  • A very small number of devices don't use the flow control offered by
    requestor lines. In these specific cases, the pxa dma driver should be
    aware of that and not try to use a requestor line.

    Signed-off-by: Robert Jarzmik
    Signed-off-by: Vinod Koul

    Robert Jarzmik
     
  • The valid pchan range is 0 ~ d->dma_requests - 1.

    Signed-off-by: Axel Lin
    Reviewed-by: Jun Nie
    Signed-off-by: Vinod Koul

    Axel Lin
     
  • When putting back a descriptor to the free descs list, some fields are
    not set to 0, it can cause bugs if someone uses it without having this
    in mind.
    Descriptor are not put back one by one so it is easier to clean
    descriptors when we request them.

    Signed-off-by: Ludovic Desroches
    Cc: stable@vger.kernel.org #4.2
    Signed-off-by: Vinod Koul

    Ludovic Desroches
     
  • The addressing mode we were using was not only incrementing the address at
    each microblock, but also at each data boundary, which was severely slowing
    the transfer, without any benefit since we were not using the data stride.

    Switch to the micro block increment only in order to get back to an
    acceptable performance level.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Ludovic Desroches
    Fixes: 6007ccb57744 ("dmaengine: xdmac: Add interleaved transfer support")
    Cc: stable@vger.kernel.org #4.2
    Signed-off-by: Vinod Koul

    Maxime Ripard
     

30 Sep, 2015

4 commits

  • In case we have less than maximum allowed channels (8) and autoconfiguration is
    enabled the DWC_PARAMS read is wrong because it uses different arithmetic to
    what is needed for channel priority setup.

    Re-do the caclulations properly. This now works on AVR32 board well.

    Fixes: fed2574b3c9f (dw_dmac: introduce software emulation of LLP transfers)
    Cc: yitian.bu@tangramtek.com
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Vinod Koul

    Andy Shevchenko
     
  • This patch fixes an over flow issue with the TX ring descriptor. Each
    descriptor is 32B in size and an operation requires 2 of these
    descriptors.

    Signed-off-by: Rameshwar Prasad Sahu
    Signed-off-by: Vinod Koul

    Rameshwar Prasad Sahu
     
  • dma_release_channel() decrements privatecnt counter and almost all dma_get*
    function increments it with the exception of dma_get_slave_channel().
    In most cases this does not cause issue since normally the channel is not
    requested and released, but if a driver requests DMA channel via
    dma_get_slave_channel() and releases the channel the privatecnt will be
    unbalanced and this will prevent for example getting channel for memcpy.

    Signed-off-by: Peter Ujfalusi
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     
  • Currently, sun4i_dma_free_contract iterates over lists and frees memory
    as it goes through them, causing reads to recently freed memory to
    be performed. Fix this by using the safe version of the iterator, so
    freed memory is not referenced at all.

    Reported-by: Dan Carpenter
    Signed-off-by: Emilio López
    Acked-by: Maxime Ripard
    Signed-off-by: Vinod Koul

    Emilio López
     

25 Sep, 2015

4 commits

  • The residue calculation may provide a wrong estimation when the transfer is
    started. There are possible scenarios we have to separate:

    1) the transfer is not started yet; residue is equal to the total
    length;

    2) the transfer is just started (first chunk is ongoing); residue is
    equal to the total length without already transfered bytes;

    3) the transfer is ongoing and we already sent few chunks of data;
    residue is equal to the total length without fully transfered chunks
    and already sent bytes.

    Mistakenly the calculation in cases 2) and 3) was done in the similar way and
    the result is equal to -bytes that have been transfered, i.e. quite big since
    size_t type can't keep negative values.

    Rewrite the calculation algorithm to be one pass and have a correct result.

    Besides above in case user asks for a status of the active DMA descriptor
    without pausing an ongoing transfer the residue will be estimated based on the
    register value, though it's still racy. Since the transfer is active the value
    is continuously being changed. Here we have to read two registers at a time. To
    minimize an error make those reads close to each other.

    Signed-off-by: Andy Shevchenko
    Signed-off-by: Vinod Koul

    Andy Shevchenko
     
  • The function can return negative value.

    The problem has been detected using proposed semantic patch
    scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].

    [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107

    Signed-off-by: Andrzej Hajda
    Signed-off-by: Vinod Koul

    Andrzej Hajda
     
  • Since the commit to have an allocated list of virtual descriptors was
    reverted, the pxa_dma driver is broken, as it assumes the descriptor is
    placed on the allocated list upon allocation.

    Fix the issue in pxa_dma by making an allocated virtual descriptor a
    singleton.

    Fixes: 8c8fe97b2b8a ("Revert "dmaengine: virt-dma: don't always free descriptor upon completion"")
    Signed-off-by: Robert Jarzmik
    Signed-off-by: Vinod Koul

    Robert Jarzmik
     
  • The current implementation hard codes the two supported channels so that
    "tx" is always 0 and "rx" is always 1. This is because there has been no
    suitable way in ACPI to name resources.

    With _DSD device properties we can finally do this:

    Device (SPI1) {
    Name (_CRS, ResourceTemplate () {
    ...
    FixedDMA (0x0000, 0x0000, Width32bit)
    FixedDMA (0x0001, 0x0001, Width32bit)
    })

    Name (_DSD, Package () {
    ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
    Package () {
    Package () {"dma-names", Package () {"tx", "rx"}}
    },
    })
    }

    The names "tx" and "rx" now provide index of the FixedDMA resource in
    question.

    Modify acpi_dma_request_slave_chan_by_name() so that it looks for
    "dma-names" property first and only then fall back using hardcoded indices.

    The DT "dma-names" binding that we reuse for ACPI is documented in
    Documentation/devicetree/bindings/dma/dma.txt.

    Signed-off-by: Mika Westerberg
    Acked-by: Andy Shevchenko
    Acked-by: Vinod Koul
    Signed-off-by: Rafael J. Wysocki

    Mika Westerberg
     

16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

05 Sep, 2015

1 commit

  • Pull dmaengine updates from Vinod Koul:
    "This time we have aded a new capability for scatter-gathered memset
    using dmaengine APIs. This is supported in xdmac & hdmac drivers

    We have added support for reusing descriptors for examples like video
    buffers etc. Driver will follow

    The behaviour of descriptor ack has been clarified and documented

    New devices added are:
    - dma controller in sun[457]i SoCs
    - lpc18xx dmamux
    - ZTE ZX296702 dma controller
    - Analog Devices AXI-DMAC DMA controller
    - eDMA support for dma-crossbar
    - imx6sx support in imx-sdma driver
    - imx-sdma device to device support

    Other:
    - jz4780 fixes
    - ioatdma large refactor and cleanup for removal of ioat v1 and v2
    which is deprecated and fixes
    - ACPI support in X-Gene DMA engine driver
    - ipu irq fixes
    - mvxor fixes
    - minor fixes spread thru drivers"

    [ The Kconfig and Makefile entries got re-sorted alphabetically, and I
    handled the conflict with the new Intel integrated IDMA driver by
    slightly mis-sorting it on purpose: "IDMA64" got sorted after "IMX" in
    order to keep the Intel entries together. I think it might be a good
    idea to just rename the IDMA64 config entry to INTEL_IDMA64 to make
    the sorting be a true sort, not this mismash.

    Also, this merge disables the COMPILE_TEST for the sun4i DMA
    controller, because it does not compile cleanly at all. - Linus ]

    * tag 'dmaengine-4.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (89 commits)
    dmaengine: ioatdma: add Broadwell EP ioatdma PCI dev IDs
    dmaengine :ipu: change ipu_irq_handler() to remove compile warning
    dmaengine: ioatdma: Fix variable array length
    dmaengine: ioatdma: fix sparse "error" with prep lock
    dmaengine: hdmac: Add memset capabilities
    dmaengine: sort the sh Makefile
    dmaengine: sort the sh Kconfig
    dmaengine: sort the dw Kconfig
    dmaengine: sort the Kconfig
    dmaengine: sort the makefile
    drivers/dma: make mv_xor.c driver explicitly non-modular
    dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller
    devicetree: Add bindings documentation for Analog Devices AXI-DMAC
    dmaengine: xgene-dma: Fix the lock to allow client for further submission of requests
    dmaengine: ioatdma: fix coccinelle warning
    dmaengine: ioatdma: fix zero day warning on incompatible pointer type
    dmaengine: tegra-apb: Simplify locking for device using global pause
    dmaengine: tegra-apb: Remove unnecessary return statements and variables
    dmaengine: tegra-apb: Avoid unnecessary channel base address calculation
    dmaengine: tegra-apb: Remove unused variables
    ...

    Linus Torvalds
     

02 Sep, 2015

1 commit

  • Pull power management and ACPI updates from Rafael Wysocki:
    "From the number of commits perspective, the biggest items are ACPICA
    and cpufreq changes with the latter taking the lead (over 50 commits).

    On the cpufreq front, there are many cleanups and minor fixes in the
    core and governors, driver updates etc. We also have a new cpufreq
    driver for Mediatek MT8173 chips.

    ACPICA mostly updates its debug infrastructure and adds a number of
    fixes and cleanups for a good measure.

    The Operating Performance Points (OPP) framework is updated with new
    DT bindings and support for them among other things.

    We have a few updates of the generic power domains framework and a
    reorganization of the ACPI device enumeration code and bus type
    operations.

    And a lot of fixes and cleanups all over.

    Included is one branch from the MFD tree as it contains some
    PM-related driver core and ACPI PM changes a few other commits are
    based on.

    Specifics:

    - ACPICA update to upstream revision 20150818 including method
    tracing extensions to allow more in-depth AML debugging in the
    kernel and a number of assorted fixes and cleanups (Bob Moore, Lv
    Zheng, Markus Elfring).

    - ACPI sysfs code updates and a documentation update related to AML
    method tracing (Lv Zheng).

    - ACPI EC driver fix related to serialized evaluations of _Qxx
    methods and ACPI tools updates allowing the EC userspace tool to be
    built from the kernel source (Lv Zheng).

    - ACPI processor driver updates preparing it for future introduction
    of CPPC support and ACPI PCC mailbox driver updates (Ashwin
    Chaugule).

    - ACPI interrupts enumeration fix for a regression related to the
    handling of IRQ attribute conflicts between MADT and the ACPI
    namespace (Jiang Liu).

    - Fixes related to ACPI device PM (Mika Westerberg, Srinidhi
    Kasagar).

    - ACPI device registration code reorganization to separate the
    sysfs-related code and bus type operations from the rest (Rafael J
    Wysocki).

    - Assorted cleanups in the ACPI core (Jarkko Nikula, Mathias Krause,
    Andy Shevchenko, Rafael J Wysocki, Nicolas Iooss).

    - ACPI cpufreq driver and ia64 cpufreq driver fixes and cleanups (Pan
    Xinhui, Rafael J Wysocki).

    - cpufreq core cleanups on top of the previous changes allowing it to
    preseve its sysfs directories over system suspend/resume (Viresh
    Kumar, Rafael J Wysocki, Sebastian Andrzej Siewior).

    - cpufreq fixes and cleanups related to governors (Viresh Kumar).

    - cpufreq updates (core and the cpufreq-dt driver) related to the
    turbo/boost mode support (Viresh Kumar, Bartlomiej Zolnierkiewicz).

    - New DT bindings for Operating Performance Points (OPP), support for
    them in the OPP framework and in the cpufreq-dt driver plus related
    OPP framework fixes and cleanups (Viresh Kumar).

    - cpufreq powernv driver updates (Shilpasri G Bhat).

    - New cpufreq driver for Mediatek MT8173 (Pi-Cheng Chen).

    - Assorted cpufreq driver (speedstep-lib, sfi, integrator) cleanups
    and fixes (Abhilash Jindal, Andrzej Hajda, Cristian Ardelean).

    - intel_pstate driver updates including Skylake-S support, support
    for enabling HW P-states per CPU and an additional vendor bypass
    list entry (Kristen Carlson Accardi, Chen Yu, Ethan Zhao).

    - cpuidle core fixes related to the handling of coupled idle states
    (Xunlei Pang).

    - intel_idle driver updates including Skylake Client support and
    support for freeze-mode-specific idle states (Len Brown).

    - Driver core updates related to power management (Andy Shevchenko,
    Rafael J Wysocki).

    - Generic power domains framework fixes and cleanups (Jon Hunter,
    Geert Uytterhoeven, Rajendra Nayak, Ulf Hansson).

    - Device PM QoS framework update to allow the latency tolerance
    setting to be exposed to user space via sysfs (Mika Westerberg).

    - devfreq support for PPMUv2 in Exynos5433 and a fix for an incorrect
    exynos-ppmu DT binding (Chanwoo Choi, Javier Martinez Canillas).

    - System sleep support updates (Alan Stern, Len Brown, SungEun Kim).

    - rockchip-io AVS support updates (Heiko Stuebner).

    - PM core clocks support fixup (Colin Ian King).

    - Power capping RAPL driver update including support for Skylake H/S
    and Broadwell-H (Radivoje Jovanovic, Seiichi Ikarashi).

    - Generic device properties framework fixes related to the handling
    of static (driver-provided) property sets (Andy Shevchenko).

    - turbostat and cpupower updates (Len Brown, Shilpasri G Bhat,
    Shreyas B Prabhu)"

    * tag 'pm+acpi-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (180 commits)
    cpufreq: speedstep-lib: Use monotonic clock
    cpufreq: powernv: Increase the verbosity of OCC console messages
    cpufreq: sfi: use kmemdup rather than duplicating its implementation
    cpufreq: drop !cpufreq_driver check from cpufreq_parse_governor()
    cpufreq: rename cpufreq_real_policy as cpufreq_user_policy
    cpufreq: remove redundant 'policy' field from user_policy
    cpufreq: remove redundant 'governor' field from user_policy
    cpufreq: update user_policy.* on success
    cpufreq: use memcpy() to copy policy
    cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event
    cpufreq: mediatek: Add MT8173 cpufreq driver
    dt-bindings: mediatek: Add MT8173 CPU DVFS clock bindings
    PM / Domains: Fix typo in description of genpd_dev_pm_detach()
    PM / Domains: Remove unusable governor dummies
    PM / Domains: Make pm_genpd_init() available to modules
    PM / domains: Align column headers and data in pm_genpd_summary output
    powercap / RAPL: disable the 2nd power limit properly
    tools: cpupower: Fix error when running cpupower monitor
    PM / OPP: Drop unlikely before IS_ERR(_OR_NULL)
    PM / OPP: Fix static checker warning (broken 64bit big endian systems)
    ...

    Linus Torvalds
     

01 Sep, 2015

1 commit

  • * acpi-pm:
    ACPI / bus: Move duplicate code to a separate new function
    mfd: Add support for Intel Sunrisepoint LPSS devices
    dmaengine: add a driver for Intel integrated DMA 64-bit
    mfd: make mfd_remove_devices() iterate in reverse order
    driver core: implement device_for_each_child_reverse()
    klist: implement klist_prev()
    Driver core: wakeup the parent device before trying probe
    ACPI / PM: Attach ACPI power domain only once
    PM / QoS: Make it possible to expose device latency tolerance to userspace
    ACPI / PM: Update the copyright notice and description of power.c

    Rafael J. Wysocki
     

28 Aug, 2015

2 commits


26 Aug, 2015

5 commits


25 Aug, 2015

1 commit

  • dma_alloc_writecombine()'s call and return value check is
    tangled in all in one call. Untangle both calls according to
    kernel coding style.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Borislav Petkov
    Acked-by: Vinod Koul
    Cc: Dan Williams
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: airlied@linux.ie
    Cc: benh@kernel.crashing.org
    Cc: bhelgaas@google.com
    Cc: daniel.vetter@ffwll.ch
    Cc: dmaengine@vger.kernel.org
    Cc: konrad.wilk@oracle.com
    Cc: luto@amacapital.net
    Cc: mst@redhat.com
    Cc: tomi.valkeinen@ti.com
    Cc: toshi.kani@hp.com
    Cc: xen-devel@lists.xensource.com
    Link: http://lkml.kernel.org/r/1440443613-13696-10-git-send-email-mcgrof@do-not-panic.com
    Signed-off-by: Ingo Molnar

    Luis R. Rodriguez
     

24 Aug, 2015

3 commits


23 Aug, 2015

4 commits

  • The Kconfig for this driver is currently:

    config MV_XOR
    bool "Marvell XOR engine support"

    ...meaning that it currently is not being built as a module by anyone.
    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    Since module_init translates to device_initcall in the non-modular
    case, the init ordering remains unchanged with this commit.

    We leave some tags like MODULE_AUTHOR for documentation purposes.
    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    Cc: Vinod Koul
    Cc: Dan Williams
    Cc: dmaengine@vger.kernel.org
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Vinod Koul

    Paul Gortmaker
     
  • Add support for the Analog Devices AXI-DMAC DMA controller. This controller
    is a soft peripheral that can be instantiated in a FPGA and is often used
    in Analog Devices' reference designs for FPGA platforms.

    The peripheral has various configuration options that can be selected at
    synthesis time and influence the supported features of the instantiated
    peripheral, those options are represented as device-tree properties to
    allow the driver to behave accordingly.

    The peripheral has a zero latency architecture, which means it is possible
    to switch from one to the next descriptor without any delay. This is
    archived by having a internal queue which can hold multiple descriptors.
    The driver supports this, which means it will submit new descriptors
    directly to the hardware until the queue is full and not wait for a
    descriptor to complete before the next one is submitted. Interrupts are
    used for the descriptor queue flow control.

    Currently the driver supports SG, cyclic and interleaved slave DMA.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Lars-Peter Clausen
     
  • Vinod Koul
     
  • Vinod Koul