dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Liviu Dudau <liviu@dudau.co.uk>
To: Jose Abreu <Jose.Abreu@synopsys.com>
Cc: dmaengine@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: DMA, CMA and SWIOTLB
Date: Fri, 1 Jul 2016 16:03:51 +0100	[thread overview]
Message-ID: <20160701150351.GE20165@bart.dudau.co.uk> (raw)
In-Reply-To: <57739A42.6040105@synopsys.com>

On Wed, Jun 29, 2016 at 10:52:02AM +0100, Jose Abreu wrote:
> Hi all,
> 
> I am writing a very simple KMS driver that uses Xilinx VDMA to
> transfer data between the host and a FPGA. To handle memory
> allocation for DMA I am using the CMA helpers available in the
> DRM subsystem. When setting for low video modes (small memory
> requirements) everything works fine, but if I try to set a large
> video mode (specifically a 4k HDMI mode) I get SWIOTLB errors
> saying the buffer is full.
> 
> The distinction between CMA and SWIOTLB is not clear to me, but
> these are two different allocation engines, right?
> 
> One important aspect in my configuration is that the Xilinx VDMA
> can only access up to 28 bits of the host memory so I set the DMA
> mask to 28 bits and force the CMA region to be allocated bellow
> these 28 bits. I also tried increasing the CMA size and the
> SWIOTLB size without success.
> 
> Any comments on this?

You're not telling us which architecture you are using. For AArch64,
for example, the CMA expects DMA-able memory for the buffers. If
the driver does not call the dma_set_mask_and_coherent() function then
the arch core code will assume that the driver can't directly access
that memory and will use the SWIOTLB area for bouncing buffers around.
When the size of the buffers you are using for framebuffers increases,
you are likely to run out of SWIOTLB space.

Best regards,
Liviu

> 
> Thanks in advance for your help.
> 
> Best regards,
> Jose Miguel Abreu
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
-------------------
   .oooO
   (   )
    \ (  Oooo.
     \_) (   )
          ) /
         (_/

 One small step
   for me ...
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

      reply	other threads:[~2016-07-01 15:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-29  9:52 DMA, CMA and SWIOTLB Jose Abreu
2016-07-01 15:03 ` Liviu Dudau [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160701150351.GE20165@bart.dudau.co.uk \
    --to=liviu@dudau.co.uk \
    --cc=Jose.Abreu@synopsys.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox