All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Fyodorov <halcy@yandex.ru>
To: "Christian König" <christian.koenig@amd.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>
Subject: Re: r600_dma_ring_test() failed - synchronization problem with write-combining memory
Date: Thu, 09 Oct 2014 22:15:54 +0400	[thread overview]
Message-ID: <184311412878554@web13o.yandex.ru> (raw)
In-Reply-To: <5436C8EA.4010200@amd.com>

09.10.2014, 21:42, "Christian König" <christian.koenig@amd.com>:
> Hi Alexander,
>
> in the ring test we write the value 0xDEADBEEF and 0xCAFEDEAD into
> registers, not VRAM.
>
> And the register bar shouldn't be accessed write combined, cause that
> could lead to a couple of ordering problems. Why do you think the access
> is done write combined?

Because there is this code in r600_dma_ring_test():
  void __iomem *ptr = (void *)rdev->vram_scratch.ptr;

And vram_scratch is allocated in r600_vram_scratch_init() with domain RADEON_GEM_DOMAIN_VRAM which implies write-combining. I assumed that this means it points to the video memory.

Also when I look at page table attributes I can see that it is indeed mapped as write-combining. In this test only "rdev->rmmio" area was mapped as UC (the one where radeon_ring_commit() writes to to start the execution).

> For VRAM it is true that we have a couple of different caches between
> the CPU and the actually memory, which need to be flushed explicitly if
> you want to see a value written by the GPU.

Then maybe such a flush is what I need. How do I put it in the instruction ring buffer?
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2014-10-09 18:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09 11:39 r600_dma_ring_test() failed - synchronization problem with write-combining memory Alexander Fyodorov
2014-10-09 17:42 ` Christian König
2014-10-09 18:15   ` Alexander Fyodorov [this message]
2014-10-09 18:32     ` Christian König
2014-10-09 19:10       ` Alexander Fyodorov
2014-10-10 16:00         ` Alex Deucher
2014-10-10 16:02           ` Alex Deucher
2014-10-10 16:03             ` Christian König
2014-10-13 17:50           ` Alex Deucher
2014-10-14 14:12             ` Alexander Fyodorov

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=184311412878554@web13o.yandex.ru \
    --to=halcy@yandex.ru \
    --cc=airlied@linux.ie \
    --cc=christian.koenig@amd.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.