|
@@ -60,7 +60,15 @@
|
|
|
|
|
|
<toc></toc>
|
|
|
|
|
|
- <!-- Introduction -->
|
|
|
+<part id="drmCore">
|
|
|
+ <title>DRM Core</title>
|
|
|
+ <partintro>
|
|
|
+ <para>
|
|
|
+ This first part of the DRM Developer's Guide documents core DRM code,
|
|
|
+ helper libraries for writting drivers and generic userspace interfaces
|
|
|
+ exposed by DRM drivers.
|
|
|
+ </para>
|
|
|
+ </partintro>
|
|
|
|
|
|
<chapter id="drmIntroduction">
|
|
|
<title>Introduction</title>
|
|
@@ -2764,15 +2772,73 @@ int (*resume) (struct drm_device *);</synopsis>
|
|
|
</sect1>
|
|
|
|
|
|
</chapter>
|
|
|
+</part>
|
|
|
+<part id="drmDrivers">
|
|
|
+ <title>DRM Drivers</title>
|
|
|
|
|
|
- <!-- API reference -->
|
|
|
+ <partintro>
|
|
|
+ <para>
|
|
|
+ This second part of the DRM Developer's Guide documents driver code,
|
|
|
+ implementation details and also all the driver-specific userspace
|
|
|
+ interfaces. Especially since all hardware-acceleration interfaces to
|
|
|
+ userspace are driver specific for efficiency and other reasons these
|
|
|
+ interfaces can be rather substantial. Hence every driver has its own
|
|
|
+ chapter.
|
|
|
+ </para>
|
|
|
+ </partintro>
|
|
|
|
|
|
- <appendix id="drmDriverApi">
|
|
|
- <title>DRM Driver API</title>
|
|
|
+ <chapter id="drmI915">
|
|
|
+ <title>drm/i915 Intel GFX Driver</title>
|
|
|
<para>
|
|
|
- Include auto-generated API reference here (need to reference it
|
|
|
- from paragraphs above too).
|
|
|
+ The drm/i915 driver supports all (with the exception of some very early
|
|
|
+ models) integrated GFX chipsets with both Intel display and rendering
|
|
|
+ blocks. This excludes a set of SoC platforms with an SGX rendering unit,
|
|
|
+ those have basic support through the gma500 drm driver.
|
|
|
</para>
|
|
|
- </appendix>
|
|
|
+ <sect1>
|
|
|
+ <title>Display Hardware Handling</title>
|
|
|
+ <para>
|
|
|
+ This section covers everything related to the display hardware including
|
|
|
+ the mode setting infrastructure, plane, sprite and cursor handling and
|
|
|
+ display, output probing and related topics.
|
|
|
+ </para>
|
|
|
+ <sect2>
|
|
|
+ <title>Mode Setting Infrastructure</title>
|
|
|
+ <para>
|
|
|
+ The i915 driver is thus far the only DRM driver which doesn't use the
|
|
|
+ common DRM helper code to implement mode setting sequences. Thus it
|
|
|
+ has its own tailor-made infrastructure for executing a display
|
|
|
+ configuration change.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+ <sect2>
|
|
|
+ <title>Plane Configuration</title>
|
|
|
+ <para>
|
|
|
+ This section covers plane configuration and composition with the
|
|
|
+ primary plane, sprites, cursors and overlays. This includes the
|
|
|
+ infrastructure to do atomic vsync'ed updates of all this state and
|
|
|
+ also tightly coupled topics like watermark setup and computation,
|
|
|
+ framebuffer compression and panel self refresh.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+ <sect2>
|
|
|
+ <title>Output Probing</title>
|
|
|
+ <para>
|
|
|
+ This section covers output probing and related infrastructure like the
|
|
|
+ hotplug interrupt storm detection and mitigation code. Note that the
|
|
|
+ i915 driver still uses most of the common DRM helper code for output
|
|
|
+ probing, so those sections fully apply.
|
|
|
+ </para>
|
|
|
+ </sect2>
|
|
|
+ </sect1>
|
|
|
|
|
|
+ <sect1>
|
|
|
+ <title>Memory Management and Command Submission</title>
|
|
|
+ <para>
|
|
|
+ This sections covers all things related to the GEM implementation in the
|
|
|
+ i915 driver.
|
|
|
+ </para>
|
|
|
+ </sect1>
|
|
|
+ </chapter>
|
|
|
+</part>
|
|
|
</book>
|