From: "Christian König" <deathsimple@vodafone.de>
To: Jerome Glisse <j.glisse@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 10/10] drm/radeon: make page table updates async
Date: Mon, 13 Aug 2012 18:53:47 +0200 [thread overview]
Message-ID: <5029311B.5030307@vodafone.de> (raw)
In-Reply-To: <CAH3drwafnzNuSkVXtFAH9O2ojUKpjeL7DUpndCoNFDSvZ7ENrQ@mail.gmail.com>
On 13.08.2012 18:19, Jerome Glisse wrote:
> On Mon, Aug 13, 2012 at 6:26 AM, Christian König
> <deathsimple@vodafone.de> wrote:
>> Currently doing the update with the CP.
>>
>> Signed-off-by: Christian König <deathsimple@vodafone.de>
> NAK until point below are addressed
[SNIP]
> For this to work properly you will need patch :
> http://people.freedesktop.org/~glisse/0001-drm-radeon-make-sure-ib-bo-is-properly-bound-and-up-.patch
>
> Otherwise there is a chance that ib bo pagetable is out of sync.
Oh yes indeed. Going to sort in your patch directly before of this one.
Also I haven't tested suspend/resume with this set yet, need to change
that before sending it upstream.
> [SNIP]
>> @@ -832,7 +829,7 @@ int radeon_vm_bo_update_pte(struct radeon_device *rdev,
>> return -EINVAL;
>> }
>>
>> - if (bo_va->valid && mem)
>> + if (bo_va->valid == !!mem)
>> return 0;
> Logic is wrong, we want to return either if valid is true and mem not
> null, which means bo is already bound and its pagetable entry are up
> to date as it did not move since page table was last updated. Or
> return if valid is false and mem is null, meaning the pagetable
> already contain invalid page entry and we are unbinding the bo. So the
> proper test should be :
>
> if ((bo_va->valid && mem) || (!bo_va->valid && mem == NULL)) {
> return 0;
> }
Isn't that identical? Ok your version is definitely easier to read, so
I'm going to use that one anyway.
Thanks,
Christian.
next prev parent reply other threads:[~2012-08-13 16:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-13 10:25 [RFC] make VM handling async Christian König
2012-08-13 10:25 ` [PATCH 01/10] drm/radeon: fence virtual address and free it once idle v4 Christian König
2012-08-13 10:26 ` [PATCH 02/10] drm/radeon: cleanup VM id handling a bit Christian König
2012-08-13 10:26 ` [PATCH 03/10] drm/radeon: move VM funcs into asic structure Christian König
2012-08-13 10:26 ` [PATCH 04/10] drm/radeon: remove vm_unbind Christian König
2012-08-13 10:26 ` [PATCH 05/10] drm/radeon: add sync helper function Christian König
2012-08-13 10:26 ` [PATCH 06/10] drm/radeon: make VM flushs a ring operation Christian König
2012-08-13 10:26 ` [PATCH 07/10] drm/radeon: rework VMID handling Christian König
2012-08-13 10:26 ` [PATCH 08/10] drm/radeon: rework VM page table handling Christian König
2012-08-13 10:26 ` [PATCH 09/10] drm/radeon: Move looping over the PTEs into chip code Christian König
2012-08-13 10:26 ` [PATCH 10/10] drm/radeon: make page table updates async Christian König
2012-08-13 16:19 ` Jerome Glisse
2012-08-13 16:53 ` Christian König [this message]
2012-08-13 17:14 ` Jerome Glisse
2012-08-13 12:53 ` [RFC] make VM handling async Sylvain BERTRAND
2012-08-13 16:58 ` Christian König
2012-08-13 16:19 ` Jerome Glisse
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=5029311B.5030307@vodafone.de \
--to=deathsimple@vodafone.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=j.glisse@gmail.com \
/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.