11 Sep, 2020

1 commit


19 Jul, 2020

1 commit


20 Apr, 2020

1 commit

  • DMA atomic pools will be needed beyond only CONFIG_DMA_DIRECT_REMAP so
    separate them out into their own file.

    This also adds a new Kconfig option that can be subsequently used for
    options, such as CONFIG_AMD_MEM_ENCRYPT, that will utilize the coherent
    pools but do not have a dependency on direct remapping.

    For this patch alone, there is no functional change introduced.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: David Rientjes
    [hch: fixup copyrights and remove unused includes]
    Signed-off-by: Christoph Hellwig

    David Rientjes
     

20 Feb, 2019

1 commit

  • This API is primarily used through DT entries, but two architectures
    and two drivers call it directly. So instead of selecting the config
    symbol for random architectures pull it in implicitly for the actual
    users. Also rename the Kconfig option to describe the feature better.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Burton # MIPS
    Acked-by: Lee Jones
    Reviewed-by: Greg Kroah-Hartman

    Christoph Hellwig
     

14 Dec, 2018

2 commits

  • The dummy DMA ops are currently used by arm64 for any device which has
    an invalid ACPI description and is thus barred from using DMA due to not
    knowing whether is is cache-coherent or not. Factor these out into
    general dma-mapping code so that they can be referenced from other
    common code paths. In the process, we can prune all the optional
    callbacks which just do the same thing as the default behaviour, and
    fill in .map_resource for completeness.

    Signed-off-by: Robin Murphy
    [hch: moved to a separate source file]
    Reviewed-by: Rafael J. Wysocki
    Acked-by: Jesper Dangaard Brouer
    Tested-by: Jesper Dangaard Brouer
    Tested-by: Tony Luck
    Signed-off-by: Christoph Hellwig

    Robin Murphy
     
  • All architectures except for sparc64 use the dma-direct code in some
    form, and even for sparc64 we had the discussion of a direct mapping
    mode a while ago. In preparation for directly calling the direct
    mapping code don't bother having it optionally but always build the
    code in. This is a minor hardship for some powerpc and arm configs
    that don't pull it in yet (although they should in a relase ot two),
    and sparc64 which currently doesn't need it at all, but it will
    reduce the ifdef mess we'd otherwise need significantly.

    Signed-off-by: Christoph Hellwig
    Acked-by: Jesper Dangaard Brouer
    Tested-by: Jesper Dangaard Brouer
    Tested-by: Tony Luck

    Christoph Hellwig
     

02 Dec, 2018

1 commit

  • The dma remap code only makes sense for not cache coherent architectures
    (or possibly the corner case of highmem CMA allocations) and currently
    is only used by arm, arm64, csky and xtensa. Split it out into a
    separate file with a separate Kconfig symbol, which gets the right
    copyright notice given that this code was written by Laura Abbott
    working for Code Aurora at that point.

    Signed-off-by: Christoph Hellwig
    Acked-by: Laura Abbott
    Reviewed-by: Robin Murphy

    Christoph Hellwig
     

20 Sep, 2018

1 commit


14 Jun, 2018

1 commit

  • Currently the code is split over various files with dma- prefixes in the
    lib/ and drives/base directories, and the number of files keeps growing.
    Move them into a single directory to keep the code together and remove
    the file name prefixes. To match the irq infrastructure this directory
    is placed under the kernel/ directory.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig