11 Mar, 2020

1 commit

  • Create a placeholder directory for each registered DMA device.

    DMA drivers can use the dmaengine_get_debugfs_root() call to get their
    debugfs root and can populate with custom files to aim debugging.

    Signed-off-by: Peter Ujfalusi
    Link: https://lore.kernel.org/r/20200306142839.17910-4-peter.ujfalusi@ti.com
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     

21 Jan, 2020

2 commits

  • The functions dma_get_slave_channel() and dma_get_any_slave_channel()
    are called from DMA engine drivers only. Hence move their declarations
    from the public header file to the private header
    file drivers/dma/dmaengine.h.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20200121093311.28639-4-geert+renesas@glider.be
    Signed-off-by: Vinod Koul

    Geert Uytterhoeven
     
  • A DMA hardware can have big cache or FIFO and the amount of data sitting in
    the DMA fabric can be an interest for the clients.

    For example in audio we want to know the delay in the data flow and in case
    the DMA have significantly large FIFO/cache, it can affect the latenc/delay

    Signed-off-by: Peter Ujfalusi
    Reviewed-by: Tero Kristo
    Tested-by: Keerthy
    Reviewed-by: Grygorii Strashko
    Link: https://lore.kernel.org/r/20191223110458.30766-6-peter.ujfalusi@ti.com
    Signed-off-by: Vinod Koul

    Peter Ujfalusi
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

08 Aug, 2016

2 commits

  • Adding a new callback that will provide the error result for a transaction.
    The result is allocated on the stack and the callback should create a copy
    if it wishes to retain the information after exiting. The result parameter
    is now defined and takes over the dummy void pointer we placed in the
    helper functions previously. dmaengine drivers should start converting
    to the new "callback_result" callback in order to receive transaction
    results.

    Signed-off-by: Dave Jiang
    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Dave Jiang
     
  • Dmaengine does not provide a way to pass back the result from a DMA
    transaction through the callback function. We are adding dmaengine
    helper function in order to prep for a mechanism that allow result
    status and other information through the callback. The initial conversion
    will make the existing driver use these new helper functions but retain
    the original behavior of the code. However, the helper functions paves
    a way towards adding the result parameter through callback.

    Signed-off-by: Dave Jiang
    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: Vinod Koul

    Dave Jiang
     

13 Mar, 2012

5 commits

  • Provide a common function to initialize a channels cookie values.

    Signed-off-by: Russell King
    Tested-by: Linus Walleij
    Reviewed-by: Linus Walleij
    Acked-by: Jassi Brar
    [imx-sdma.c & mxs-dma.c]
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Russell King - ARM Linux
     
  • Now that we have the completed cookie in the dma_chan structure, we
    can consolidate the tx_status functions by providing a function to set
    the txstate structure and returning the DMA status. We also provide
    a separate helper to set the residue for cookies which are still in
    progress.

    Signed-off-by: Russell King
    Tested-by: Linus Walleij
    Reviewed-by: Linus Walleij
    Acked-by: Jassi Brar
    [imx-sdma.c & mxs-dma.c]
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Russell King - ARM Linux
     
  • Provide a common function to do the cookie mechanics for completing
    a DMA descriptor.

    Signed-off-by: Russell King
    Tested-by: Linus Walleij
    Reviewed-by: Linus Walleij
    Acked-by: Jassi Brar
    [imx-sdma.c & mxs-dma.c]
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Russell King - ARM Linux
     
  • Everyone deals with assigning DMA cookies in the same way (it's part of
    the API so they should be), so lets consolidate the common code into a
    helper function to avoid this duplication.

    Signed-off-by: Russell King
    Tested-by: Linus Walleij
    Reviewed-by: Linus Walleij
    Acked-by: Jassi Brar
    [imx-sdma.c & mxs-dma.c]
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Russell King - ARM Linux
     
  • Add a local private header file to contain definitions and declarations
    which should only be used by DMA engine drivers.

    We also fix linux/dmaengine.h to use LINUX_DMAENGINE_H to guard against
    multiple inclusion.

    Signed-off-by: Russell King
    Tested-by: Linus Walleij
    Reviewed-by: Linus Walleij
    Acked-by: Jassi Brar
    [imx-sdma.c & mxs-dma.c]
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Russell King - ARM Linux