add some docs for agp_gart and intel_extreme drivers

Not a lot of info there yet, but it's a start.
This commit is contained in:
Adrien Destugues
2020-03-13 15:42:03 +01:00
parent 22ec64553f
commit 6a30d84f3c
2 changed files with 120 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
AGP (and PCI-express) Graphics Address Re-Mapping Table
=======================================================
The GART is an IO-MMU allowing the videocard and CPU to share some memory.
Either the CPU can access the video RAM directly ("aperture"), or the video
card can access the system RAM using DMA access.
The GART converts between physical addresses and virtual addresses on the
video card side. Of course, the CPU must then map these physical addresses
in its own address space to use them (using the MMU).
The GART works as you'd expect from an MMU. It has a page table (called GTT)
in RAM and walks it to figure out mappings. Since there cannot be page misses
(that would require exception handling on the GPU side), access to missing
pages are instead sent to a dedicated "scratch" page which is not used for
anything else.
Our driver implements the GART and GTT for Intel graphics card only, so far.
Since our videodrivers are only doing modesetting, they do not need much
support and other drivers implemented GTT management directly on their own
(it is usually enough to make the framebuffer accessible to the CPU). However,
this could be generalized into a more flexible iommu bus protocol.