Skip to content
  • Thierry Reding's avatar
    tegra: Initial support · 1755f608
    Thierry Reding authored
    Tegra K1 and later use a GPU that can be driven by the Nouveau driver.
    But the GPU is a pure render node and has no display engine, hence the
    scanout needs to happen on the Tegra display hardware. The GPU and the
    display engine each have a separate DRM device node exposed by the
    kernel.
    
    To make the setup appear as a single device, this driver instantiates
    a Nouveau screen with each instance of a Tegra screen and forwards GPU
    requests to the Nouveau screen. For purposes of scanout it will import
    buffers created on the GPU into the display driver. Handles that
    userspace requests are those of the display driver so that they can be
    used to create framebuffers.
    
    This has been tested with some GBM test programs, as well as kmscube and
    weston. All of those run without modifications, but I'm sure there is a
    lot that can be improved.
    
    Some fixes contributed by Hector Martin <marcan@marcan.st>.
    
    Changes in v2:
    - duplicate file descriptor in winsys to avoid potential issues
    - require nouveau ...
    1755f608