linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: acourbot@nvidia.com (Alexandre Courbot)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers
Date: Tue, 24 Jun 2014 19:55:12 +0900	[thread overview]
Message-ID: <53A95910.20104@nvidia.com> (raw)
In-Reply-To: <53A953E6.2030503@nvidia.com>

On 06/24/2014 07:33 PM, Alexandre Courbot wrote:
> On 06/24/2014 07:02 PM, Russell King - ARM Linux wrote:
>> On Tue, Jun 24, 2014 at 06:54:26PM +0900, Alexandre Courbot wrote:
>>> From: Lucas Stach <dev@lynxeye.de>
>>>
>>> On architectures for which access to GPU memory is non-coherent,
>>> caches need to be flushed and invalidated explicitly at the
>>> appropriate places. Introduce two small helpers to make things
>>> easy for TTM-based drivers.
>>
>> Have you run this with DMA API debugging enabled?  I suspect you haven't,
>> and I recommend that you do.
>
> # cat /sys/kernel/debug/dma-api/error_count
> 162621
>
> (??????? ???)

*puts table back on its feet*

So, yeah - TTM memory is not allocated using the DMA API, hence we 
cannot use the DMA API to sync it. Thanks Russell for pointing it out.

The only alternative I see here is to flush the CPU caches when syncing 
for the device, and invalidate them for the other direction. Of course 
if the device has caches on its side as well the opposite operation must 
also be done for it. Guess the only way is to handle it all by ourselves 
here. :/

  reply	other threads:[~2014-06-24 10:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-24  9:54 [PATCH v2 0/3] drm/ttm: nouveau: memory coherency for ARM Alexandre Courbot
2014-06-24  9:54 ` [PATCH v2 1/3] drm/ttm: recognize ARM arch in ioprot handler Alexandre Courbot
2014-06-24  9:54 ` [PATCH v2 2/3] drm/ttm: introduce dma cache sync helpers Alexandre Courbot
2014-06-24 10:02   ` Russell King - ARM Linux
2014-06-24 10:33     ` Alexandre Courbot
2014-06-24 10:55       ` Alexandre Courbot [this message]
2014-06-24 12:23         ` Alexandre Courbot
2014-06-24 12:27           ` [Nouveau] " Maarten Lankhorst
2014-06-24 13:25             ` Lucas Stach
2014-06-24 13:52               ` Alexandre Courbot
2014-06-24 13:58                 ` Lucas Stach
2014-06-24 14:03                   ` Alexandre Courbot
2014-06-26 14:50                   ` Alexandre Courbot
2014-06-25  4:00               ` Stéphane Marchesin
2014-06-26 14:53                 ` Alexandre Courbot
2014-06-26 16:10                   ` Russell King - ARM Linux
2014-06-26 23:17                     ` Alexandre Courbot
2014-06-27 12:08                       ` Rob Clark
2014-06-24 13:09           ` Russell King - ARM Linux
2014-06-24 13:25             ` Alexandre Courbot
2014-06-24  9:54 ` [PATCH v2 3/3] drm/nouveau: hook up cache sync functions Alexandre Courbot

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=53A95910.20104@nvidia.com \
    --to=acourbot@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).