All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vince Hsu <vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Alexandre Courbot <gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	Terje Bergstrom
	<tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Ben Skeggs <bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 0/6] map big page by platform IOMMU
Date: Fri, 17 Apr 2015 15:35:47 +0800	[thread overview]
Message-ID: <5530B7D3.60700@nvidia.com> (raw)
In-Reply-To: <CAAVeFuJLRo1XYum3FZBhO5=5u63KLUY_tr0wk=TPxWutvCdL8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>



On 04/17/2015 02:25 PM, Alexandre Courbot wrote:
> On Thu, Apr 16, 2015 at 8:06 PM, Vince Hsu <vinceh@nvidia.com> wrote:
>> Hi,
>>
>> Generally the the imported buffers which has memory type TTM_PL_TT are
>> mapped as small pages probably due to lack of big page allocation. But the
>> platform device which also use memory type TTM_PL_TT, like GK20A, can
> Nit: GK20A can *only* allocate GPU memory from TTM_PL_TT. Trying to
> allocate from VRAM will result in an error.
Yep.

>
>> *allocate* big page though the IOMMU hardware inside the SoC. This is a try
>> to map the imported buffers as big pages in GMMU by the platform IOMMU. With
>> some preparation work to map decreate small pages into big page(s) by IOMMU
> decreate?
It should be discrete. Sorry for the typo.


>
>> the GMMU eventually sees the imported buffer as chunks of big pages and does
>> the mapping. And then we can probably do the compression on teh imported
>> buffer which is composed of non-contiguous small pages. The compbits related
>> patches shall come later.
>>
>> I guess most of you won't like the change for the MMU code in this series.
>> So please comment and guide me how to do this better. :)
>>
>> Thanks,
>> Vince
>>
>> Vince Hsu (6):
>>    platform: specify the IOMMU physical translation bit
>>    instmem/gk20a: refer to IOMMU physical translation bit
>>    mmu: map small pages into big pages(s) by IOMMU if possible
>>    drm: enable big page mapping for small pages when IOMMU is available
>>    mmu: gf100: share most of functions with GK20A
>>    mmu: gk20a: implement IOMMU mapping for big pages
>>
>>   drm/nouveau/include/nvkm/subdev/mmu.h   |  16 ++
>>   drm/nouveau/nouveau_bo.c                |   9 ++
>>   drm/nouveau/nouveau_platform.c          |  19 +++
>>   drm/nouveau/nouveau_platform.h          |   1 +
>>   drm/nouveau/nvkm/engine/device/gk104.c  |   2 +-
>>   drm/nouveau/nvkm/subdev/instmem/gk20a.c |  13 +-
>>   drm/nouveau/nvkm/subdev/mmu/Kbuild      |   1 +
>>   drm/nouveau/nvkm/subdev/mmu/base.c      | 158 +++++++++++++++++++-
>>   drm/nouveau/nvkm/subdev/mmu/gf100.c     |  28 +---
>>   drm/nouveau/nvkm/subdev/mmu/gf100.h     |  46 ++++++
>>   drm/nouveau/nvkm/subdev/mmu/gk20a.c     | 253 ++++++++++++++++++++++++++++++++
>>   lib/include/nvif/os.h                   |  12 ++
>>   12 files changed, 526 insertions(+), 32 deletions(-)
>>   create mode 100644 drm/nouveau/nvkm/subdev/mmu/gf100.h
>>   create mode 100644 drm/nouveau/nvkm/subdev/mmu/gk20a.c
>>
>> --
>> 2.1.4
>>


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

  parent reply	other threads:[~2015-04-17  7:35 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-16 11:06 [PATCH 0/6] map big page by platform IOMMU Vince Hsu
     [not found] ` <1429182379-31964-1-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-16 11:06   ` [PATCH 1/6] platform: specify the IOMMU physical translation bit Vince Hsu
     [not found]     ` <1429182379-31964-2-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-16 20:41       ` Terje Bergstrom
     [not found]         ` <55301E65.5000705-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  2:22           ` Vince Hsu
2015-04-17  6:26       ` Alexandre Courbot
     [not found]         ` <CAAVeFuL10UidtE4_Y2mYEYpWjDqXn-FQF3zJQv2eQDqg_QTJ1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:07           ` Vince Hsu
2015-04-17 15:10           ` Terje Bergstrom
     [not found]             ` <55312257.8000606-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-20  7:37               ` Alexandre Courbot
     [not found]                 ` <CAAVeFuKSY9AvtmjkVY7CApMex3Gq5L5cQ=suaERY5-gtAYai6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-20 16:35                   ` Terje Bergstrom
2015-04-16 11:06   ` [PATCH 2/6] instmem/gk20a: refer to " Vince Hsu
     [not found]     ` <1429182379-31964-3-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  6:26       ` Alexandre Courbot
     [not found]         ` <CAAVeFuJqWuQeH1tbAdkVpocBAjq52GPv_O_yxd0X+7gSHjCoJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:19           ` Vince Hsu
     [not found]             ` <5530B3F7.3000000-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  7:40               ` Alexandre Courbot
2015-04-17 15:14           ` Terje Bergstrom
     [not found]             ` <5531234C.8020806-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-20  7:38               ` Alexandre Courbot
     [not found]                 ` <CAAVeFu+p=FFqMNTYNVo1DKnFWZ88_5osiTbiHQR=wQ6tJhHzBA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-20 16:37                   ` Terje Bergstrom
2015-04-16 11:06   ` [PATCH 3/6] mmu: map small pages into big pages(s) by IOMMU if possible Vince Hsu
     [not found]     ` <1429182379-31964-4-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  9:11       ` Alexandre Courbot
     [not found]         ` <CAAVeFuLSYGV8ghOQ26ubA9kvWHCPD2y+y_bJMLHv1V1Ab8NOYg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17 15:37           ` Terje Bergstrom
     [not found]             ` <553128CA.40304-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-20  7:49               ` Alexandre Courbot
     [not found]                 ` <CAAVeFuKc1szojynHrGM9TJrJsTK0RjRiO7i7uwxoVPAW=tZJrA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-20 11:51                   ` Vince Hsu
     [not found]                     ` <5534E83D.80304-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-20 11:55                       ` Vince Hsu
2015-04-20 16:47                   ` Terje Bergstrom
2015-04-16 11:06   ` [PATCH 4/6] drm: enable big page mapping for small pages when IOMMU is available Vince Hsu
     [not found]     ` <1429182379-31964-5-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  6:26       ` Alexandre Courbot
     [not found]         ` <CAAVeFu+_zJ4DUwebhzpfA9uJroFEVrOBRqiXUuS9Gk04hVA88A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:28           ` Vince Hsu
     [not found]             ` <5530B603.9010703-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  7:33               ` Alexandre Courbot
2015-04-17 15:24               ` Terje Bergstrom
2015-04-16 11:06   ` [PATCH 5/6] mmu: gf100: share most of functions with GK20A Vince Hsu
     [not found]     ` <1429182379-31964-6-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  6:27       ` Alexandre Courbot
     [not found]         ` <CAAVeFuJay4TNdOwEorver+-WiYCLJ21BXcRgCBv1aush_i1wbg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:30           ` Vince Hsu
2015-04-16 11:06   ` [PATCH 6/6] mmu: gk20a: implement IOMMU mapping for big pages Vince Hsu
     [not found]     ` <1429182379-31964-7-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-16 19:31       ` Ilia Mirkin
     [not found]         ` <CAKb7UvhEuNSYshiP+kt66zHfsmB=Edy+t7HLs2j_+-hvzzkdMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 19:55           ` Terje Bergstrom
     [not found]             ` <553013A4.1020700-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-16 20:01               ` Ilia Mirkin
2015-04-17  6:25   ` [PATCH 0/6] map big page by platform IOMMU Alexandre Courbot
     [not found]     ` <CAAVeFuJLRo1XYum3FZBhO5=5u63KLUY_tr0wk=TPxWutvCdL8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:35       ` Vince Hsu [this message]
     [not found]         ` <5530B7D3.60700-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-04-17  7:37           ` Alexandre Courbot
     [not found]             ` <CAAVeFuLdr7h29G6_1XGV8kTag=m4Spe_R9Aog38eRs9gAbgdVg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17  7:42               ` Vince Hsu

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=5530B7D3.60700@nvidia.com \
    --to=vinceh-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
    --cc=bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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.