[DEBUG] Add channel dumping functions for NVEA
graph/nvc0: add support for netlist firmwares

NVIDIA is releasing some GPU firmwares for the Tegra SoCs under
linux-firmware. The release format is a single file (called a netlist)
containing all the firmwares relevant to a GPU, which must thus be
extracted. This patch adds support for parsing the netlist and loading
the firmwares for the NVC0 family of GPUs, falling back to the previous
firmware lookup method is no netlist was already loaded.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
platform: support for netlist firmwares

Netlists released by NVIDIA are made of a single file containing
firmwares that can potentially be used across different engines. It
therefore makes most sense to load a netlist once before engines are
probed and have them duplicate their firmwares so the netlist can
be freed at the end of probe.

This patch implements this mechanism and adds the lookup data for GK20A.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
[HACK] create dumb objects in GART
[HACK] warn when allocating VRAM object

We should never allocate VRAM objects from user-space on GK20A.
Warn when such an attempt happens.
[HACK] add gk20a instmem

This is a gazillion times faster, but requires to invalidate the
GPU L2 (probably at a better place than this!)
Revert "[HACK] add gk20a instmem"

This reverts commit c9eeb89a4daf95f34b70d659f0eb467c5c606e2b.
doc
Use mm_nodes
gk20a: use IOMMU for VRAM