[RFC 0/4] Add NVIDIA Tegra DRM support
thierry.reding at avionic-design.de
Wed Apr 11 06:35:52 PDT 2012
* Alan Cox wrote:
> On Wed, 11 Apr 2012 14:10:26 +0200
> Thierry Reding <thierry.reding at avionic-design.de> wrote:
> > This series adds a basic DRM driver for NVIDIA Tegra 2 processors. It
> > currently only supports the RGB output and I've successfully tested it
> > against the fbcon kernel module and the xf86-video-modesetting driver.
> > The code uses the Tegra's IOMMU/GART to remap non-contiguous memory.
> > This means that currently video memory is limited to 32 MB, the size of
> > the GART aperture.
> You should only need continguous memory with GEM for the framebuffer /
> console bits via /dev/fb. In theory the fb layer can be taught to hanndle
> non linear framebuffers but nobody has yet done so. (Now there's a GSOC
> project ... ;))
> What we do on GMA500 is to allocate the kernel framebuffer from linearly
> mapped memory but the normal GEM objects from anywhere as the GEM mapping
> into userspace will deal with presenting it to user space as a virtually
> linear buffer.
That's actually what the driver does as well. It uses the shmfs-backed memory
provided by GEM and only maps it through the GART to provide a linear view
for the display controller which cannot do scatter-gather I/O. Neither the
kernel nor the user-space mapping go through the GART.
You are right that for anything but the framebuffer objects it probably
doesn't matter. It's a little hard to tell because I don't have any
documentation for either the 2D nor 3D engines. Eventually a better option
might be to use stolen memory instead of remapping it through the GART.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: not available
More information about the dri-devel