lkml.org 
[lkml]   [2020]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 09/19] dmaengine: dmatest: Use dmaengine_get_dma_device
    Date
    By using the dmaengine_get_dma_device() to get the device for
    dma_api use, the dmatest can support per channel coherency if it is
    supported by the DMA controller.

    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    ---
    drivers/dma/dmatest.c | 13 ++++++++-----
    1 file changed, 8 insertions(+), 5 deletions(-)

    diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c
    index a3a172173e34..f696246f57fd 100644
    --- a/drivers/dma/dmatest.c
    +++ b/drivers/dma/dmatest.c
    @@ -573,6 +573,7 @@ static int dmatest_func(void *data)
    struct dmatest_params *params;
    struct dma_chan *chan;
    struct dma_device *dev;
    + struct device *dma_dev;
    unsigned int error_count;
    unsigned int failed_tests = 0;
    unsigned int total_tests = 0;
    @@ -606,6 +607,8 @@ static int dmatest_func(void *data)
    params = &info->params;
    chan = thread->chan;
    dev = chan->device;
    + dma_dev = dmaengine_get_dma_device(chan);
    +
    src = &thread->src;
    dst = &thread->dst;
    if (thread->type == DMA_MEMCPY) {
    @@ -730,7 +733,7 @@ static int dmatest_func(void *data)
    filltime = ktime_add(filltime, diff);
    }

    - um = dmaengine_get_unmap_data(dev->dev, src->cnt + dst->cnt,
    + um = dmaengine_get_unmap_data(dma_dev, src->cnt + dst->cnt,
    GFP_KERNEL);
    if (!um) {
    failed_tests++;
    @@ -745,10 +748,10 @@ static int dmatest_func(void *data)
    struct page *pg = virt_to_page(buf);
    unsigned long pg_off = offset_in_page(buf);

    - um->addr[i] = dma_map_page(dev->dev, pg, pg_off,
    + um->addr[i] = dma_map_page(dma_dev, pg, pg_off,
    um->len, DMA_TO_DEVICE);
    srcs[i] = um->addr[i] + src->off;
    - ret = dma_mapping_error(dev->dev, um->addr[i]);
    + ret = dma_mapping_error(dma_dev, um->addr[i]);
    if (ret) {
    result("src mapping error", total_tests,
    src->off, dst->off, len, ret);
    @@ -763,9 +766,9 @@ static int dmatest_func(void *data)
    struct page *pg = virt_to_page(buf);
    unsigned long pg_off = offset_in_page(buf);

    - dsts[i] = dma_map_page(dev->dev, pg, pg_off, um->len,
    + dsts[i] = dma_map_page(dma_dev, pg, pg_off, um->len,
    DMA_BIDIRECTIONAL);
    - ret = dma_mapping_error(dev->dev, dsts[i]);
    + ret = dma_mapping_error(dma_dev, dsts[i]);
    if (ret) {
    result("dst mapping error", total_tests,
    src->off, dst->off, len, ret);
    --
    Peter
    Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
    Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

    \
     
     \ /
      Last update: 2020-11-17 11:59    [W:4.100 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site