On 04/17/2015 02:25 PM, Alexandre Courbot wrote:
On Thu, Apr 16, 2015 at 8:06 PM, Vince Hsu <[email protected]> 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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau