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:
@@ -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.
|
||||
@@ -0,0 +1,98 @@
|
||||
Intel video hardware generations
|
||||
================================
|
||||
|
||||
This file summarizes the different generations of Intel hardware, because the
|
||||
naming is a bit inconsistent and it's hard to follow which is which sometimes.
|
||||
The devices can be referred to by year of introduction, generation number,
|
||||
chipset commercial number, or internal codenames.
|
||||
|
||||
Generation 1
|
||||
============
|
||||
|
||||
These are the i740 and i810 devices handled by intel_810. No further info will
|
||||
be provided here.
|
||||
|
||||
Generation 2 / 2002
|
||||
============
|
||||
|
||||
i830, 845, 85x, 865
|
||||
|
||||
Generation 3 / 2004
|
||||
============
|
||||
|
||||
This is the first generation to be documented at intellinuxgraphics.org.
|
||||
Generation 2 devices are quite similar for the modesetting part, but not
|
||||
identical.
|
||||
|
||||
GMA 900 (i915G)
|
||||
GMA 950 (i945G)
|
||||
GMA 3000 (946GZ, Q965, Q963)
|
||||
GMA 3100 (G31, G33, Q33 et Q35)
|
||||
GMA 3150 (Pineview for Atom CPUs)
|
||||
|
||||
Generation 4 / 2006
|
||||
============
|
||||
|
||||
GMA X3000 (i965G)
|
||||
GMA X3100 (i965GM)
|
||||
GMA X3500 (G35)
|
||||
GMA 4500 (Q43, Q45)
|
||||
GMA 4500M / 4500HD (GL40, GS45, GM45, GM47)
|
||||
GMA X4500 / X4500HD (G41, G43 (X4500), G45 (X4500HD))
|
||||
|
||||
Generation 5 / 2010
|
||||
============
|
||||
|
||||
Westmere / Clarkdale, Arrandale / Iron Lake / Ibex Peak
|
||||
|
||||
Switches from the traditional northbridge / southbridge to the new
|
||||
"platform control hub" design. Essentially, most of the northbridge functions
|
||||
are now directly in the CPU package.
|
||||
|
||||
Generation 6 / 2011
|
||||
============
|
||||
|
||||
Sandybridge / Cougar Point
|
||||
|
||||
The northbridge and CPU are now even on the same die.
|
||||
|
||||
Generation 7 / 2012
|
||||
============
|
||||
|
||||
Ivy Bridge / Panther Point and Haswell / Lynx Point
|
||||
|
||||
A lot of the video output hardware is moved from the northbridge (CPU) to the
|
||||
PCH. This makes sense because it allows to match the PCH chipset (soldered on
|
||||
to the motherboard) with the video ports (also soldered there). Otherwise, the
|
||||
CPU generation would define which ports are usable or not.
|
||||
|
||||
This impacts several things in the modesetting sequence, as well as the address
|
||||
of the registers which are moved.
|
||||
|
||||
This is also the first generation to support 3 independant displays, which
|
||||
also impacts the register layout in many places.
|
||||
|
||||
Generation 8 / 2013
|
||||
============
|
||||
|
||||
Broadwell / Wildcat Point and Braswell
|
||||
|
||||
Generation 9 / 2015
|
||||
============
|
||||
|
||||
Skylake / Sunrise Point, Apollo Lake, Kaby Lake / Union Point
|
||||
|
||||
Generation 10
|
||||
=============
|
||||
|
||||
Cannon Point / Coffee Lake
|
||||
|
||||
Generation 11
|
||||
=============
|
||||
|
||||
Ice Lake
|
||||
|
||||
Generation 12
|
||||
=============
|
||||
|
||||
Tiger Lake
|
||||
Reference in New Issue
Block a user