aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-12 14:32:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-12 14:32:30 -0400
commit682b7c1c8ea8885aa681ddf530d6cf2ad4f2dc15 (patch)
tree882003bb4fc56af816246168f8c85d6dde8c6ed9 /Documentation/DocBook
parent16b9057804c02e2d351e9c8f606e909b43cbd9e7 (diff)
parentbc1dfff04a5d4064ba0db1fab13f84ab4f333d2b (diff)
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is the main drm merge window pull request, changes all over the place, mostly normal levels of churn. Highlights: Core drm: More cleanups, fix race on connector/encoder naming, docs updates, object locking rework in prep for atomic modeset i915: mipi DSI support, valleyview power fixes, cursor size fixes, execlist refactoring, vblank improvements, userptr support, OOM handling improvements radeon: GPUVM tuning and large page size support, gart fixes, deep color HDMI support, HDMI audio cleanups nouveau: - displayport rework should fix lots of issues - initial gk20a support - gk110b support - gk208 fixes exynos: probe order fixes, HDMI changes, IPP consolidation msm: debugfs updates, misc fixes ast: ast2400 support, sync with UMS driver tegra: cleanups, hdmi + hw cursor for Tegra 124. panel: fixes existing panels add some new ones. ipuv3: moved from staging to drivers/gpu" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (761 commits) drm/nouveau/disp/dp: fix tmds passthrough on dp connector drm/nouveau/dp: probe dpcd to determine connectedness drm/nv50-: trigger update after all connectors disabled drm/nv50-: prepare for attaching a SOR to multiple heads drm/gf119-/disp: fix debug output on update failure drm/nouveau/disp/dp: make use of postcursor when its available drm/g94-/disp/dp: take max pullup value across all lanes drm/nouveau/bios/dp: parse lane postcursor data drm/nouveau/dp: fix support for dpms drm/nouveau: register a drm_dp_aux channel for each dp connector drm/g94-/disp: add method to power-off dp lanes drm/nouveau/disp/dp: maintain link in response to hpd signal drm/g94-/disp: bash and wait for something after changing lane power regs drm/nouveau/disp/dp: split link config/power into two steps drm/nv50/disp: train PIOR-attached DP from second supervisor drm/nouveau/disp/dp: make use of existing output data for link training drm/gf119/disp: start removing direct vbios parsing from supervisor drm/nv50/disp: start removing direct vbios parsing from supervisor drm/nouveau/disp/dp: maintain receiver caps in response to hpd signal drm/nouveau/disp/dp: create subclass for dp outputs ...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/drm.tmpl1027
1 files changed, 1008 insertions, 19 deletions
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/drm.tmpl
index ba60d93c1855..7df3134ebc0e 100644
--- a/Documentation/DocBook/drm.tmpl
+++ b/Documentation/DocBook/drm.tmpl
@@ -142,6 +142,12 @@
142 to register it with the DRM subsystem. 142 to register it with the DRM subsystem.
143 </para> 143 </para>
144 <para> 144 <para>
145 Newer drivers that no longer require a <structname>drm_bus</structname>
146 structure can alternatively use the low-level device initialization and
147 registration functions such as <function>drm_dev_alloc()</function> and
148 <function>drm_dev_register()</function> directly.
149 </para>
150 <para>
145 The <structname>drm_driver</structname> structure contains static 151 The <structname>drm_driver</structname> structure contains static
146 information that describes the driver and features it supports, and 152 information that describes the driver and features it supports, and
147 pointers to methods that the DRM core will call to implement the DRM API. 153 pointers to methods that the DRM core will call to implement the DRM API.
@@ -282,6 +288,36 @@ char *date;</synopsis>
282 </sect3> 288 </sect3>
283 </sect2> 289 </sect2>
284 <sect2> 290 <sect2>
291 <title>Device Registration</title>
292 <para>
293 A number of functions are provided to help with device registration.
294 The functions deal with PCI, USB and platform devices, respectively.
295 </para>
296!Edrivers/gpu/drm/drm_pci.c
297!Edrivers/gpu/drm/drm_usb.c
298!Edrivers/gpu/drm/drm_platform.c
299 <para>
300 New drivers that no longer rely on the services provided by the
301 <structname>drm_bus</structname> structure can call the low-level
302 device registration functions directly. The
303 <function>drm_dev_alloc()</function> function can be used to allocate
304 and initialize a new <structname>drm_device</structname> structure.
305 Drivers will typically want to perform some additional setup on this
306 structure, such as allocating driver-specific data and storing a
307 pointer to it in the DRM device's <structfield>dev_private</structfield>
308 field. Drivers should also set the device's unique name using the
309 <function>drm_dev_set_unique()</function> function. After it has been
310 set up a device can be registered with the DRM subsystem by calling
311 <function>drm_dev_register()</function>. This will cause the device to
312 be exposed to userspace and will call the driver's
313 <structfield>.load()</structfield> implementation. When a device is
314 removed, the DRM device can safely be unregistered and freed by calling
315 <function>drm_dev_unregister()</function> followed by a call to
316 <function>drm_dev_unref()</function>.
317 </para>
318!Edrivers/gpu/drm/drm_stub.c
319 </sect2>
320 <sect2>
285 <title>Driver Load</title> 321 <title>Driver Load</title>
286 <para> 322 <para>
287 The <methodname>load</methodname> method is the driver and device 323 The <methodname>load</methodname> method is the driver and device
@@ -342,21 +378,13 @@ char *date;</synopsis>
342 <sect4> 378 <sect4>
343 <title>Managed IRQ Registration</title> 379 <title>Managed IRQ Registration</title>
344 <para> 380 <para>
345 Both the <function>drm_irq_install</function> and
346 <function>drm_irq_uninstall</function> functions get the device IRQ by
347 calling <function>drm_dev_to_irq</function>. This inline function will
348 call a bus-specific operation to retrieve the IRQ number. For platform
349 devices, <function>platform_get_irq</function>(..., 0) is used to
350 retrieve the IRQ number.
351 </para>
352 <para>
353 <function>drm_irq_install</function> starts by calling the 381 <function>drm_irq_install</function> starts by calling the
354 <methodname>irq_preinstall</methodname> driver operation. The operation 382 <methodname>irq_preinstall</methodname> driver operation. The operation
355 is optional and must make sure that the interrupt will not get fired by 383 is optional and must make sure that the interrupt will not get fired by
356 clearing all pending interrupt flags or disabling the interrupt. 384 clearing all pending interrupt flags or disabling the interrupt.
357 </para> 385 </para>
358 <para> 386 <para>
359 The IRQ will then be requested by a call to 387 The passed-in IRQ will then be requested by a call to
360 <function>request_irq</function>. If the DRIVER_IRQ_SHARED driver 388 <function>request_irq</function>. If the DRIVER_IRQ_SHARED driver
361 feature flag is set, a shared (IRQF_SHARED) IRQ handler will be 389 feature flag is set, a shared (IRQF_SHARED) IRQ handler will be
362 requested. 390 requested.
@@ -1799,6 +1827,12 @@ void intel_crt_init(struct drm_device *dev)
1799 <title>KMS API Functions</title> 1827 <title>KMS API Functions</title>
1800!Edrivers/gpu/drm/drm_crtc.c 1828!Edrivers/gpu/drm/drm_crtc.c
1801 </sect2> 1829 </sect2>
1830 <sect2>
1831 <title>KMS Locking</title>
1832!Pdrivers/gpu/drm/drm_modeset_lock.c kms locking
1833!Iinclude/drm/drm_modeset_lock.h
1834!Edrivers/gpu/drm/drm_modeset_lock.c
1835 </sect2>
1802 </sect1> 1836 </sect1>
1803 1837
1804 <!-- Internals: kms helper functions --> 1838 <!-- Internals: kms helper functions -->
@@ -1903,8 +1937,8 @@ void intel_crt_init(struct drm_device *dev)
1903 <para> 1937 <para>
1904 The function filters out modes larger than 1938 The function filters out modes larger than
1905 <parameter>max_width</parameter> and <parameter>max_height</parameter> 1939 <parameter>max_width</parameter> and <parameter>max_height</parameter>
1906 if specified. It then calls the connector 1940 if specified. It then calls the optional connector
1907 <methodname>mode_valid</methodname> helper operation for each mode in 1941 <methodname>mode_valid</methodname> helper operation for each mode in
1908 the probed list to check whether the mode is valid for the connector. 1942 the probed list to check whether the mode is valid for the connector.
1909 </para> 1943 </para>
1910 </listitem> 1944 </listitem>
@@ -2265,7 +2299,7 @@ void intel_crt_init(struct drm_device *dev)
2265 <para> 2299 <para>
2266 Verify whether a mode is valid for the connector. Return MODE_OK for 2300 Verify whether a mode is valid for the connector. Return MODE_OK for
2267 supported modes and one of the enum drm_mode_status values (MODE_*) 2301 supported modes and one of the enum drm_mode_status values (MODE_*)
2268 for unsupported modes. This operation is mandatory. 2302 for unsupported modes. This operation is optional.
2269 </para> 2303 </para>
2270 <para> 2304 <para>
2271 As the mode rejection reason is currently not used beside for 2305 As the mode rejection reason is currently not used beside for
@@ -2450,6 +2484,863 @@ void intel_crt_init(struct drm_device *dev)
2450 pointer to the target object, a pointer to the previously created property 2484 pointer to the target object, a pointer to the previously created property
2451 and an initial instance value. 2485 and an initial instance value.
2452 </para> 2486 </para>
2487 <sect2>
2488 <title>Existing KMS Properties</title>
2489 <para>
2490 The following table gives description of drm properties exposed by various
2491 modules/drivers.
2492 </para>
2493 <table border="1" cellpadding="0" cellspacing="0">
2494 <tbody>
2495 <tr style="font-weight: bold;">
2496 <td valign="top" >Owner Module/Drivers</td>
2497 <td valign="top" >Group</td>
2498 <td valign="top" >Property Name</td>
2499 <td valign="top" >Type</td>
2500 <td valign="top" >Property Values</td>
2501 <td valign="top" >Object attached</td>
2502 <td valign="top" >Description/Restrictions</td>
2503 </tr>
2504 <tr>
2505 <td rowspan="20" valign="top" >DRM</td>
2506 <td rowspan="2" valign="top" >Generic</td>
2507 <td valign="top" >“EDID”</td>
2508 <td valign="top" >BLOB | IMMUTABLE</td>
2509 <td valign="top" >0</td>
2510 <td valign="top" >Connector</td>
2511 <td valign="top" >Contains id of edid blob ptr object.</td>
2512 </tr>
2513 <tr>
2514 <td valign="top" >“DPMS”</td>
2515 <td valign="top" >ENUM</td>
2516 <td valign="top" >{ “On”, “Standby”, “Suspend”, “Off” }</td>
2517 <td valign="top" >Connector</td>
2518 <td valign="top" >Contains DPMS operation mode value.</td>
2519 </tr>
2520 <tr>
2521 <td rowspan="1" valign="top" >Plane</td>
2522 <td valign="top" >“type”</td>
2523 <td valign="top" >ENUM | IMMUTABLE</td>
2524 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
2525 <td valign="top" >Plane</td>
2526 <td valign="top" >Plane type</td>
2527 </tr>
2528 <tr>
2529 <td rowspan="2" valign="top" >DVI-I</td>
2530 <td valign="top" >“subconnector”</td>
2531 <td valign="top" >ENUM</td>
2532 <td valign="top" >{ “Unknown”, “DVI-D”, “DVI-A” }</td>
2533 <td valign="top" >Connector</td>
2534 <td valign="top" >TBD</td>
2535 </tr>
2536 <tr>
2537 <td valign="top" >“select subconnector”</td>
2538 <td valign="top" >ENUM</td>
2539 <td valign="top" >{ “Automatic”, “DVI-D”, “DVI-A” }</td>
2540 <td valign="top" >Connector</td>
2541 <td valign="top" >TBD</td>
2542 </tr>
2543 <tr>
2544 <td rowspan="13" valign="top" >TV</td>
2545 <td valign="top" >“subconnector”</td>
2546 <td valign="top" >ENUM</td>
2547 <td valign="top" >{ "Unknown", "Composite", "SVIDEO", "Component", "SCART" }</td>
2548 <td valign="top" >Connector</td>
2549 <td valign="top" >TBD</td>
2550 </tr>
2551 <tr>
2552 <td valign="top" >“select subconnector”</td>
2553 <td valign="top" >ENUM</td>
2554 <td valign="top" >{ "Automatic", "Composite", "SVIDEO", "Component", "SCART" }</td>
2555 <td valign="top" >Connector</td>
2556 <td valign="top" >TBD</td>
2557 </tr>
2558 <tr>
2559 <td valign="top" >“mode”</td>
2560 <td valign="top" >ENUM</td>
2561 <td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
2562 <td valign="top" >Connector</td>
2563 <td valign="top" >TBD</td>
2564 </tr>
2565 <tr>
2566 <td valign="top" >“left margin”</td>
2567 <td valign="top" >RANGE</td>
2568 <td valign="top" >Min=0, Max=100</td>
2569 <td valign="top" >Connector</td>
2570 <td valign="top" >TBD</td>
2571 </tr>
2572 <tr>
2573 <td valign="top" >“right margin”</td>
2574 <td valign="top" >RANGE</td>
2575 <td valign="top" >Min=0, Max=100</td>
2576 <td valign="top" >Connector</td>
2577 <td valign="top" >TBD</td>
2578 </tr>
2579 <tr>
2580 <td valign="top" >“top margin”</td>
2581 <td valign="top" >RANGE</td>
2582 <td valign="top" >Min=0, Max=100</td>
2583 <td valign="top" >Connector</td>
2584 <td valign="top" >TBD</td>
2585 </tr>
2586 <tr>
2587 <td valign="top" >“bottom margin”</td>
2588 <td valign="top" >RANGE</td>
2589 <td valign="top" >Min=0, Max=100</td>
2590 <td valign="top" >Connector</td>
2591 <td valign="top" >TBD</td>
2592 </tr>
2593 <tr>
2594 <td valign="top" >“brightness”</td>
2595 <td valign="top" >RANGE</td>
2596 <td valign="top" >Min=0, Max=100</td>
2597 <td valign="top" >Connector</td>
2598 <td valign="top" >TBD</td>
2599 </tr>
2600 <tr>
2601 <td valign="top" >“contrast”</td>
2602 <td valign="top" >RANGE</td>
2603 <td valign="top" >Min=0, Max=100</td>
2604 <td valign="top" >Connector</td>
2605 <td valign="top" >TBD</td>
2606 </tr>
2607 <tr>
2608 <td valign="top" >“flicker reduction”</td>
2609 <td valign="top" >RANGE</td>
2610 <td valign="top" >Min=0, Max=100</td>
2611 <td valign="top" >Connector</td>
2612 <td valign="top" >TBD</td>
2613 </tr>
2614 <tr>
2615 <td valign="top" >“overscan”</td>
2616 <td valign="top" >RANGE</td>
2617 <td valign="top" >Min=0, Max=100</td>
2618 <td valign="top" >Connector</td>
2619 <td valign="top" >TBD</td>
2620 </tr>
2621 <tr>
2622 <td valign="top" >“saturation”</td>
2623 <td valign="top" >RANGE</td>
2624 <td valign="top" >Min=0, Max=100</td>
2625 <td valign="top" >Connector</td>
2626 <td valign="top" >TBD</td>
2627 </tr>
2628 <tr>
2629 <td valign="top" >“hue”</td>
2630 <td valign="top" >RANGE</td>
2631 <td valign="top" >Min=0, Max=100</td>
2632 <td valign="top" >Connector</td>
2633 <td valign="top" >TBD</td>
2634 </tr>
2635 <tr>
2636 <td rowspan="2" valign="top" >Optional</td>
2637 <td valign="top" >“scaling mode”</td>
2638 <td valign="top" >ENUM</td>
2639 <td valign="top" >{ "None", "Full", "Center", "Full aspect" }</td>
2640 <td valign="top" >Connector</td>
2641 <td valign="top" >TBD</td>
2642 </tr>
2643 <tr>
2644 <td valign="top" >“dirty”</td>
2645 <td valign="top" >ENUM | IMMUTABLE</td>
2646 <td valign="top" >{ "Off", "On", "Annotate" }</td>
2647 <td valign="top" >Connector</td>
2648 <td valign="top" >TBD</td>
2649 </tr>
2650 <tr>
2651 <td rowspan="21" valign="top" >i915</td>
2652 <td rowspan="3" valign="top" >Generic</td>
2653 <td valign="top" >"Broadcast RGB"</td>
2654 <td valign="top" >ENUM</td>
2655 <td valign="top" >{ "Automatic", "Full", "Limited 16:235" }</td>
2656 <td valign="top" >Connector</td>
2657 <td valign="top" >TBD</td>
2658 </tr>
2659 <tr>
2660 <td valign="top" >“audio”</td>
2661 <td valign="top" >ENUM</td>
2662 <td valign="top" >{ "force-dvi", "off", "auto", "on" }</td>
2663 <td valign="top" >Connector</td>
2664 <td valign="top" >TBD</td>
2665 </tr>
2666 <tr>
2667 <td valign="top" >Standard name as in DRM</td>
2668 <td valign="top" >Standard type as in DRM</td>
2669 <td valign="top" >Standard value as in DRM</td>
2670 <td valign="top" >Standard Object as in DRM</td>
2671 <td valign="top" >TBD</td>
2672 </tr>
2673 <tr>
2674 <td rowspan="17" valign="top" >SDVO-TV</td>
2675 <td valign="top" >“mode”</td>
2676 <td valign="top" >ENUM</td>
2677 <td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
2678 <td valign="top" >Connector</td>
2679 <td valign="top" >TBD</td>
2680 </tr>
2681 <tr>
2682 <td valign="top" >"left_margin"</td>
2683 <td valign="top" >RANGE</td>
2684 <td valign="top" >Min=0, Max= SDVO dependent</td>
2685 <td valign="top" >Connector</td>
2686 <td valign="top" >TBD</td>
2687 </tr>
2688 <tr>
2689 <td valign="top" >"right_margin"</td>
2690 <td valign="top" >RANGE</td>
2691 <td valign="top" >Min=0, Max= SDVO dependent</td>
2692 <td valign="top" >Connector</td>
2693 <td valign="top" >TBD</td>
2694 </tr>
2695 <tr>
2696 <td valign="top" >"top_margin"</td>
2697 <td valign="top" >RANGE</td>
2698 <td valign="top" >Min=0, Max= SDVO dependent</td>
2699 <td valign="top" >Connector</td>
2700 <td valign="top" >TBD</td>
2701 </tr>
2702 <tr>
2703 <td valign="top" >"bottom_margin"</td>
2704 <td valign="top" >RANGE</td>
2705 <td valign="top" >Min=0, Max= SDVO dependent</td>
2706 <td valign="top" >Connector</td>
2707 <td valign="top" >TBD</td>
2708 </tr>
2709 <tr>
2710 <td valign="top" >“hpos”</td>
2711 <td valign="top" >RANGE</td>
2712 <td valign="top" >Min=0, Max= SDVO dependent</td>
2713 <td valign="top" >Connector</td>
2714 <td valign="top" >TBD</td>
2715 </tr>
2716 <tr>
2717 <td valign="top" >“vpos”</td>
2718 <td valign="top" >RANGE</td>
2719 <td valign="top" >Min=0, Max= SDVO dependent</td>
2720 <td valign="top" >Connector</td>
2721 <td valign="top" >TBD</td>
2722 </tr>
2723 <tr>
2724 <td valign="top" >“contrast”</td>
2725 <td valign="top" >RANGE</td>
2726 <td valign="top" >Min=0, Max= SDVO dependent</td>
2727 <td valign="top" >Connector</td>
2728 <td valign="top" >TBD</td>
2729 </tr>
2730 <tr>
2731 <td valign="top" >“saturation”</td>
2732 <td valign="top" >RANGE</td>
2733 <td valign="top" >Min=0, Max= SDVO dependent</td>
2734 <td valign="top" >Connector</td>
2735 <td valign="top" >TBD</td>
2736 </tr>
2737 <tr>
2738 <td valign="top" >“hue”</td>
2739 <td valign="top" >RANGE</td>
2740 <td valign="top" >Min=0, Max= SDVO dependent</td>
2741 <td valign="top" >Connector</td>
2742 <td valign="top" >TBD</td>
2743 </tr>
2744 <tr>
2745 <td valign="top" >“sharpness”</td>
2746 <td valign="top" >RANGE</td>
2747 <td valign="top" >Min=0, Max= SDVO dependent</td>
2748 <td valign="top" >Connector</td>
2749 <td valign="top" >TBD</td>
2750 </tr>
2751 <tr>
2752 <td valign="top" >“flicker_filter”</td>
2753 <td valign="top" >RANGE</td>
2754 <td valign="top" >Min=0, Max= SDVO dependent</td>
2755 <td valign="top" >Connector</td>
2756 <td valign="top" >TBD</td>
2757 </tr>
2758 <tr>
2759 <td valign="top" >“flicker_filter_adaptive”</td>
2760 <td valign="top" >RANGE</td>
2761 <td valign="top" >Min=0, Max= SDVO dependent</td>
2762 <td valign="top" >Connector</td>
2763 <td valign="top" >TBD</td>
2764 </tr>
2765 <tr>
2766 <td valign="top" >“flicker_filter_2d”</td>
2767 <td valign="top" >RANGE</td>
2768 <td valign="top" >Min=0, Max= SDVO dependent</td>
2769 <td valign="top" >Connector</td>
2770 <td valign="top" >TBD</td>
2771 </tr>
2772 <tr>
2773 <td valign="top" >“tv_chroma_filter”</td>
2774 <td valign="top" >RANGE</td>
2775 <td valign="top" >Min=0, Max= SDVO dependent</td>
2776 <td valign="top" >Connector</td>
2777 <td valign="top" >TBD</td>
2778 </tr>
2779 <tr>
2780 <td valign="top" >“tv_luma_filter”</td>
2781 <td valign="top" >RANGE</td>
2782 <td valign="top" >Min=0, Max= SDVO dependent</td>
2783 <td valign="top" >Connector</td>
2784 <td valign="top" >TBD</td>
2785 </tr>
2786 <tr>
2787 <td valign="top" >“dot_crawl”</td>
2788 <td valign="top" >RANGE</td>
2789 <td valign="top" >Min=0, Max=1</td>
2790 <td valign="top" >Connector</td>
2791 <td valign="top" >TBD</td>
2792 </tr>
2793 <tr>
2794 <td valign="top" >SDVO-TV/LVDS</td>
2795 <td valign="top" >“brightness”</td>
2796 <td valign="top" >RANGE</td>
2797 <td valign="top" >Min=0, Max= SDVO dependent</td>
2798 <td valign="top" >Connector</td>
2799 <td valign="top" >TBD</td>
2800 </tr>
2801 <tr>
2802 <td rowspan="3" valign="top" >CDV gma-500</td>
2803 <td rowspan="3" valign="top" >Generic</td>
2804 <td valign="top" >"Broadcast RGB"</td>
2805 <td valign="top" >ENUM</td>
2806 <td valign="top" >{ “Full”, “Limited 16:235” }</td>
2807 <td valign="top" >Connector</td>
2808 <td valign="top" >TBD</td>
2809 </tr>
2810 <tr>
2811 <td valign="top" >"Broadcast RGB"</td>
2812 <td valign="top" >ENUM</td>
2813 <td valign="top" >{ “off”, “auto”, “on” }</td>
2814 <td valign="top" >Connector</td>
2815 <td valign="top" >TBD</td>
2816 </tr>
2817 <tr>
2818 <td valign="top" >Standard name as in DRM</td>
2819 <td valign="top" >Standard type as in DRM</td>
2820 <td valign="top" >Standard value as in DRM</td>
2821 <td valign="top" >Standard Object as in DRM</td>
2822 <td valign="top" >TBD</td>
2823 </tr>
2824 <tr>
2825 <td rowspan="20" valign="top" >Poulsbo</td>
2826 <td rowspan="2" valign="top" >Generic</td>
2827 <td valign="top" >“backlight”</td>
2828 <td valign="top" >RANGE</td>
2829 <td valign="top" >Min=0, Max=100</td>
2830 <td valign="top" >Connector</td>
2831 <td valign="top" >TBD</td>
2832 </tr>
2833 <tr>
2834 <td valign="top" >Standard name as in DRM</td>
2835 <td valign="top" >Standard type as in DRM</td>
2836 <td valign="top" >Standard value as in DRM</td>
2837 <td valign="top" >Standard Object as in DRM</td>
2838 <td valign="top" >TBD</td>
2839 </tr>
2840 <tr>
2841 <td rowspan="17" valign="top" >SDVO-TV</td>
2842 <td valign="top" >“mode”</td>
2843 <td valign="top" >ENUM</td>
2844 <td valign="top" >{ "NTSC_M", "NTSC_J", "NTSC_443", "PAL_B" } etc.</td>
2845 <td valign="top" >Connector</td>
2846 <td valign="top" >TBD</td>
2847 </tr>
2848 <tr>
2849 <td valign="top" >"left_margin"</td>
2850 <td valign="top" >RANGE</td>
2851 <td valign="top" >Min=0, Max= SDVO dependent</td>
2852 <td valign="top" >Connector</td>
2853 <td valign="top" >TBD</td>
2854 </tr>
2855 <tr>
2856 <td valign="top" >"right_margin"</td>
2857 <td valign="top" >RANGE</td>
2858 <td valign="top" >Min=0, Max= SDVO dependent</td>
2859 <td valign="top" >Connector</td>
2860 <td valign="top" >TBD</td>
2861 </tr>
2862 <tr>
2863 <td valign="top" >"top_margin"</td>
2864 <td valign="top" >RANGE</td>
2865 <td valign="top" >Min=0, Max= SDVO dependent</td>
2866 <td valign="top" >Connector</td>
2867 <td valign="top" >TBD</td>
2868 </tr>
2869 <tr>
2870 <td valign="top" >"bottom_margin"</td>
2871 <td valign="top" >RANGE</td>
2872 <td valign="top" >Min=0, Max= SDVO dependent</td>
2873 <td valign="top" >Connector</td>
2874 <td valign="top" >TBD</td>
2875 </tr>
2876 <tr>
2877 <td valign="top" >“hpos”</td>
2878 <td valign="top" >RANGE</td>
2879 <td valign="top" >Min=0, Max= SDVO dependent</td>
2880 <td valign="top" >Connector</td>
2881 <td valign="top" >TBD</td>
2882 </tr>
2883 <tr>
2884 <td valign="top" >“vpos”</td>
2885 <td valign="top" >RANGE</td>
2886 <td valign="top" >Min=0, Max= SDVO dependent</td>
2887 <td valign="top" >Connector</td>
2888 <td valign="top" >TBD</td>
2889 </tr>
2890 <tr>
2891 <td valign="top" >“contrast”</td>
2892 <td valign="top" >RANGE</td>
2893 <td valign="top" >Min=0, Max= SDVO dependent</td>
2894 <td valign="top" >Connector</td>
2895 <td valign="top" >TBD</td>
2896 </tr>
2897 <tr>
2898 <td valign="top" >“saturation”</td>
2899 <td valign="top" >RANGE</td>
2900 <td valign="top" >Min=0, Max= SDVO dependent</td>
2901 <td valign="top" >Connector</td>
2902 <td valign="top" >TBD</td>
2903 </tr>
2904 <tr>
2905 <td valign="top" >“hue”</td>
2906 <td valign="top" >RANGE</td>
2907 <td valign="top" >Min=0, Max= SDVO dependent</td>
2908 <td valign="top" >Connector</td>
2909 <td valign="top" >TBD</td>
2910 </tr>
2911 <tr>
2912 <td valign="top" >“sharpness”</td>
2913 <td valign="top" >RANGE</td>
2914 <td valign="top" >Min=0, Max= SDVO dependent</td>
2915 <td valign="top" >Connector</td>
2916 <td valign="top" >TBD</td>
2917 </tr>
2918 <tr>
2919 <td valign="top" >“flicker_filter”</td>
2920 <td valign="top" >RANGE</td>
2921 <td valign="top" >Min=0, Max= SDVO dependent</td>
2922 <td valign="top" >Connector</td>
2923 <td valign="top" >TBD</td>
2924 </tr>
2925 <tr>
2926 <td valign="top" >“flicker_filter_adaptive”</td>
2927 <td valign="top" >RANGE</td>
2928 <td valign="top" >Min=0, Max= SDVO dependent</td>
2929 <td valign="top" >Connector</td>
2930 <td valign="top" >TBD</td>
2931 </tr>
2932 <tr>
2933 <td valign="top" >“flicker_filter_2d”</td>
2934 <td valign="top" >RANGE</td>
2935 <td valign="top" >Min=0, Max= SDVO dependent</td>
2936 <td valign="top" >Connector</td>
2937 <td valign="top" >TBD</td>
2938 </tr>
2939 <tr>
2940 <td valign="top" >“tv_chroma_filter”</td>
2941 <td valign="top" >RANGE</td>
2942 <td valign="top" >Min=0, Max= SDVO dependent</td>
2943 <td valign="top" >Connector</td>
2944 <td valign="top" >TBD</td>
2945 </tr>
2946 <tr>
2947 <td valign="top" >“tv_luma_filter”</td>
2948 <td valign="top" >RANGE</td>
2949 <td valign="top" >Min=0, Max= SDVO dependent</td>
2950 <td valign="top" >Connector</td>
2951 <td valign="top" >TBD</td>
2952 </tr>
2953 <tr>
2954 <td valign="top" >“dot_crawl”</td>
2955 <td valign="top" >RANGE</td>
2956 <td valign="top" >Min=0, Max=1</td>
2957 <td valign="top" >Connector</td>
2958 <td valign="top" >TBD</td>
2959 </tr>
2960 <tr>
2961 <td valign="top" >SDVO-TV/LVDS</td>
2962 <td valign="top" >“brightness”</td>
2963 <td valign="top" >RANGE</td>
2964 <td valign="top" >Min=0, Max= SDVO dependent</td>
2965 <td valign="top" >Connector</td>
2966 <td valign="top" >TBD</td>
2967 </tr>
2968 <tr>
2969 <td rowspan="11" valign="top" >armada</td>
2970 <td rowspan="2" valign="top" >CRTC</td>
2971 <td valign="top" >"CSC_YUV"</td>
2972 <td valign="top" >ENUM</td>
2973 <td valign="top" >{ "Auto" , "CCIR601", "CCIR709" }</td>
2974 <td valign="top" >CRTC</td>
2975 <td valign="top" >TBD</td>
2976 </tr>
2977 <tr>
2978 <td valign="top" >"CSC_RGB"</td>
2979 <td valign="top" >ENUM</td>
2980 <td valign="top" >{ "Auto", "Computer system", "Studio" }</td>
2981 <td valign="top" >CRTC</td>
2982 <td valign="top" >TBD</td>
2983 </tr>
2984 <tr>
2985 <td rowspan="9" valign="top" >Overlay</td>
2986 <td valign="top" >"colorkey"</td>
2987 <td valign="top" >RANGE</td>
2988 <td valign="top" >Min=0, Max=0xffffff</td>
2989 <td valign="top" >Plane</td>
2990 <td valign="top" >TBD</td>
2991 </tr>
2992 <tr>
2993 <td valign="top" >"colorkey_min"</td>
2994 <td valign="top" >RANGE</td>
2995 <td valign="top" >Min=0, Max=0xffffff</td>
2996 <td valign="top" >Plane</td>
2997 <td valign="top" >TBD</td>
2998 </tr>
2999 <tr>
3000 <td valign="top" >"colorkey_max"</td>
3001 <td valign="top" >RANGE</td>
3002 <td valign="top" >Min=0, Max=0xffffff</td>
3003 <td valign="top" >Plane</td>
3004 <td valign="top" >TBD</td>
3005 </tr>
3006 <tr>
3007 <td valign="top" >"colorkey_val"</td>
3008 <td valign="top" >RANGE</td>
3009 <td valign="top" >Min=0, Max=0xffffff</td>
3010 <td valign="top" >Plane</td>
3011 <td valign="top" >TBD</td>
3012 </tr>
3013 <tr>
3014 <td valign="top" >"colorkey_alpha"</td>
3015 <td valign="top" >RANGE</td>
3016 <td valign="top" >Min=0, Max=0xffffff</td>
3017 <td valign="top" >Plane</td>
3018 <td valign="top" >TBD</td>
3019 </tr>
3020 <tr>
3021 <td valign="top" >"colorkey_mode"</td>
3022 <td valign="top" >ENUM</td>
3023 <td valign="top" >{ "disabled", "Y component", "U component"
3024 , "V component", "RGB", “R component", "G component", "B component" }</td>
3025 <td valign="top" >Plane</td>
3026 <td valign="top" >TBD</td>
3027 </tr>
3028 <tr>
3029 <td valign="top" >"brightness"</td>
3030 <td valign="top" >RANGE</td>
3031 <td valign="top" >Min=0, Max=256 + 255</td>
3032 <td valign="top" >Plane</td>
3033 <td valign="top" >TBD</td>
3034 </tr>
3035 <tr>
3036 <td valign="top" >"contrast"</td>
3037 <td valign="top" >RANGE</td>
3038 <td valign="top" >Min=0, Max=0x7fff</td>
3039 <td valign="top" >Plane</td>
3040 <td valign="top" >TBD</td>
3041 </tr>
3042 <tr>
3043 <td valign="top" >"saturation"</td>
3044 <td valign="top" >RANGE</td>
3045 <td valign="top" >Min=0, Max=0x7fff</td>
3046 <td valign="top" >Plane</td>
3047 <td valign="top" >TBD</td>
3048 </tr>
3049 <tr>
3050 <td rowspan="2" valign="top" >exynos</td>
3051 <td valign="top" >CRTC</td>
3052 <td valign="top" >“mode”</td>
3053 <td valign="top" >ENUM</td>
3054 <td valign="top" >{ "normal", "blank" }</td>
3055 <td valign="top" >CRTC</td>
3056 <td valign="top" >TBD</td>
3057 </tr>
3058 <tr>
3059 <td valign="top" >Overlay</td>
3060 <td valign="top" >“zpos”</td>
3061 <td valign="top" >RANGE</td>
3062 <td valign="top" >Min=0, Max=MAX_PLANE-1</td>
3063 <td valign="top" >Plane</td>
3064 <td valign="top" >TBD</td>
3065 </tr>
3066 <tr>
3067 <td rowspan="3" valign="top" >i2c/ch7006_drv</td>
3068 <td valign="top" >Generic</td>
3069 <td valign="top" >“scale”</td>
3070 <td valign="top" >RANGE</td>
3071 <td valign="top" >Min=0, Max=2</td>
3072 <td valign="top" >Connector</td>
3073 <td valign="top" >TBD</td>
3074 </tr>
3075 <tr>
3076 <td rowspan="2" valign="top" >TV</td>
3077 <td valign="top" >Standard names as in DRM</td>
3078 <td valign="top" >Standard types as in DRM</td>
3079 <td valign="top" >Standard Values as in DRM</td>
3080 <td valign="top" >Standard object as in DRM</td>
3081 <td valign="top" >TBD</td>
3082 </tr>
3083 <tr>
3084 <td valign="top" >“mode”</td>
3085 <td valign="top" >ENUM</td>
3086 <td valign="top" >{ "PAL", "PAL-M","PAL-N"}, ”PAL-Nc"
3087 , "PAL-60", "NTSC-M", "NTSC-J" }</td>
3088 <td valign="top" >Connector</td>
3089 <td valign="top" >TBD</td>
3090 </tr>
3091 <tr>
3092 <td rowspan="16" valign="top" >nouveau</td>
3093 <td rowspan="6" valign="top" >NV10 Overlay</td>
3094 <td valign="top" >"colorkey"</td>
3095 <td valign="top" >RANGE</td>
3096 <td valign="top" >Min=0, Max=0x01ffffff</td>
3097 <td valign="top" >Plane</td>
3098 <td valign="top" >TBD</td>
3099 </tr>
3100 <tr>
3101 <td valign="top" >“contrast”</td>
3102 <td valign="top" >RANGE</td>
3103 <td valign="top" >Min=0, Max=8192-1</td>
3104 <td valign="top" >Plane</td>
3105 <td valign="top" >TBD</td>
3106 </tr>
3107 <tr>
3108 <td valign="top" >“brightness”</td>
3109 <td valign="top" >RANGE</td>
3110 <td valign="top" >Min=0, Max=1024</td>
3111 <td valign="top" >Plane</td>
3112 <td valign="top" >TBD</td>
3113 </tr>
3114 <tr>
3115 <td valign="top" >“hue”</td>
3116 <td valign="top" >RANGE</td>
3117 <td valign="top" >Min=0, Max=359</td>
3118 <td valign="top" >Plane</td>
3119 <td valign="top" >TBD</td>
3120 </tr>
3121 <tr>
3122 <td valign="top" >“saturation”</td>
3123 <td valign="top" >RANGE</td>
3124 <td valign="top" >Min=0, Max=8192-1</td>
3125 <td valign="top" >Plane</td>
3126 <td valign="top" >TBD</td>
3127 </tr>
3128 <tr>
3129 <td valign="top" >“iturbt_709”</td>
3130 <td valign="top" >RANGE</td>
3131 <td valign="top" >Min=0, Max=1</td>
3132 <td valign="top" >Plane</td>
3133 <td valign="top" >TBD</td>
3134 </tr>
3135 <tr>
3136 <td rowspan="2" valign="top" >Nv04 Overlay</td>
3137 <td valign="top" >“colorkey”</td>
3138 <td valign="top" >RANGE</td>
3139 <td valign="top" >Min=0, Max=0x01ffffff</td>
3140 <td valign="top" >Plane</td>
3141 <td valign="top" >TBD</td>
3142 </tr>
3143 <tr>
3144 <td valign="top" >“brightness”</td>
3145 <td valign="top" >RANGE</td>
3146 <td valign="top" >Min=0, Max=1024</td>
3147 <td valign="top" >Plane</td>
3148 <td valign="top" >TBD</td>
3149 </tr>
3150 <tr>
3151 <td rowspan="7" valign="top" >Display</td>
3152 <td valign="top" >“dithering mode”</td>
3153 <td valign="top" >ENUM</td>
3154 <td valign="top" >{ "auto", "off", "on" }</td>
3155 <td valign="top" >Connector</td>
3156 <td valign="top" >TBD</td>
3157 </tr>
3158 <tr>
3159 <td valign="top" >“dithering depth”</td>
3160 <td valign="top" >ENUM</td>
3161 <td valign="top" >{ "auto", "off", "on", "static 2x2", "dynamic 2x2", "temporal" }</td>
3162 <td valign="top" >Connector</td>
3163 <td valign="top" >TBD</td>
3164 </tr>
3165 <tr>
3166 <td valign="top" >“underscan”</td>
3167 <td valign="top" >ENUM</td>
3168 <td valign="top" >{ "auto", "6 bpc", "8 bpc" }</td>
3169 <td valign="top" >Connector</td>
3170 <td valign="top" >TBD</td>
3171 </tr>
3172 <tr>
3173 <td valign="top" >“underscan hborder”</td>
3174 <td valign="top" >RANGE</td>
3175 <td valign="top" >Min=0, Max=128</td>
3176 <td valign="top" >Connector</td>
3177 <td valign="top" >TBD</td>
3178 </tr>
3179 <tr>
3180 <td valign="top" >“underscan vborder”</td>
3181 <td valign="top" >RANGE</td>
3182 <td valign="top" >Min=0, Max=128</td>
3183 <td valign="top" >Connector</td>
3184 <td valign="top" >TBD</td>
3185 </tr>
3186 <tr>
3187 <td valign="top" >“vibrant hue”</td>
3188 <td valign="top" >RANGE</td>
3189 <td valign="top" >Min=0, Max=180</td>
3190 <td valign="top" >Connector</td>
3191 <td valign="top" >TBD</td>
3192 </tr>
3193 <tr>
3194 <td valign="top" >“color vibrance”</td>
3195 <td valign="top" >RANGE</td>
3196 <td valign="top" >Min=0, Max=200</td>
3197 <td valign="top" >Connector</td>
3198 <td valign="top" >TBD</td>
3199 </tr>
3200 <tr>
3201 <td valign="top" >Generic</td>
3202 <td valign="top" >Standard name as in DRM</td>
3203 <td valign="top" >Standard type as in DRM</td>
3204 <td valign="top" >Standard value as in DRM</td>
3205 <td valign="top" >Standard Object as in DRM</td>
3206 <td valign="top" >TBD</td>
3207 </tr>
3208 <tr>
3209 <td rowspan="2" valign="top" >omap</td>
3210 <td rowspan="2" valign="top" >Generic</td>
3211 <td valign="top" >“rotation”</td>
3212 <td valign="top" >BITMASK</td>
3213 <td valign="top" >{ 0, "rotate-0" },
3214 { 1, "rotate-90" },
3215 { 2, "rotate-180" },
3216 { 3, "rotate-270" },
3217 { 4, "reflect-x" },
3218 { 5, "reflect-y" }</td>
3219 <td valign="top" >CRTC, Plane</td>
3220 <td valign="top" >TBD</td>
3221 </tr>
3222 <tr>
3223 <td valign="top" >“zorder”</td>
3224 <td valign="top" >RANGE</td>
3225 <td valign="top" >Min=0, Max=3</td>
3226 <td valign="top" >CRTC, Plane</td>
3227 <td valign="top" >TBD</td>
3228 </tr>
3229 <tr>
3230 <td valign="top" >qxl</td>
3231 <td valign="top" >Generic</td>
3232 <td valign="top" >“hotplug_mode_update"</td>
3233 <td valign="top" >RANGE</td>
3234 <td valign="top" >Min=0, Max=1</td>
3235 <td valign="top" >Connector</td>
3236 <td valign="top" >TBD</td>
3237 </tr>
3238 <tr>
3239 <td rowspan="10" valign="top" >radeon</td>
3240 <td valign="top" >DVI-I</td>
3241 <td valign="top" >“coherent”</td>
3242 <td valign="top" >RANGE</td>
3243 <td valign="top" >Min=0, Max=1</td>
3244 <td valign="top" >Connector</td>
3245 <td valign="top" >TBD</td>
3246 </tr>
3247 <tr>
3248 <td valign="top" >DAC enable load detect</td>
3249 <td valign="top" >“load detection”</td>
3250 <td valign="top" >RANGE</td>
3251 <td valign="top" >Min=0, Max=1</td>
3252 <td valign="top" >Connector</td>
3253 <td valign="top" >TBD</td>
3254 </tr>
3255 <tr>
3256 <td valign="top" >TV Standard</td>
3257 <td valign="top" >"tv standard"</td>
3258 <td valign="top" >ENUM</td>
3259 <td valign="top" >{ "ntsc", "pal", "pal-m", "pal-60", "ntsc-j"
3260 , "scart-pal", "pal-cn", "secam" }</td>
3261 <td valign="top" >Connector</td>
3262 <td valign="top" >TBD</td>
3263 </tr>
3264 <tr>
3265 <td valign="top" >legacy TMDS PLL detect</td>
3266 <td valign="top" >"tmds_pll"</td>
3267 <td valign="top" >ENUM</td>
3268 <td valign="top" >{ "driver", "bios" }</td>
3269 <td valign="top" >-</td>
3270 <td valign="top" >TBD</td>
3271 </tr>
3272 <tr>
3273 <td rowspan="3" valign="top" >Underscan</td>
3274 <td valign="top" >"underscan"</td>
3275 <td valign="top" >ENUM</td>
3276 <td valign="top" >{ "off", "on", "auto" }</td>
3277 <td valign="top" >Connector</td>
3278 <td valign="top" >TBD</td>
3279 </tr>
3280 <tr>
3281 <td valign="top" >"underscan hborder"</td>
3282 <td valign="top" >RANGE</td>
3283 <td valign="top" >Min=0, Max=128</td>
3284 <td valign="top" >Connector</td>
3285 <td valign="top" >TBD</td>
3286 </tr>
3287 <tr>
3288 <td valign="top" >"underscan vborder"</td>
3289 <td valign="top" >RANGE</td>
3290 <td valign="top" >Min=0, Max=128</td>
3291 <td valign="top" >Connector</td>
3292 <td valign="top" >TBD</td>
3293 </tr>
3294 <tr>
3295 <td valign="top" >Audio</td>
3296 <td valign="top" >“audio”</td>
3297 <td valign="top" >ENUM</td>
3298 <td valign="top" >{ "off", "on", "auto" }</td>
3299 <td valign="top" >Connector</td>
3300 <td valign="top" >TBD</td>
3301 </tr>
3302 <tr>
3303 <td valign="top" >FMT Dithering</td>
3304 <td valign="top" >“dither”</td>
3305 <td valign="top" >ENUM</td>
3306 <td valign="top" >{ "off", "on" }</td>
3307 <td valign="top" >Connector</td>
3308 <td valign="top" >TBD</td>
3309 </tr>
3310 <tr>
3311 <td valign="top" >Generic</td>
3312 <td valign="top" >Standard name as in DRM</td>
3313 <td valign="top" >Standard type as in DRM</td>
3314 <td valign="top" >Standard value as in DRM</td>
3315 <td valign="top" >Standard Object as in DRM</td>
3316 <td valign="top" >TBD</td>
3317 </tr>
3318 <tr>
3319 <td rowspan="3" valign="top" >rcar-du</td>
3320 <td rowspan="3" valign="top" >Generic</td>
3321 <td valign="top" >"alpha"</td>
3322 <td valign="top" >RANGE</td>
3323 <td valign="top" >Min=0, Max=255</td>
3324 <td valign="top" >Plane</td>
3325 <td valign="top" >TBD</td>
3326 </tr>
3327 <tr>
3328 <td valign="top" >"colorkey"</td>
3329 <td valign="top" >RANGE</td>
3330 <td valign="top" >Min=0, Max=0x01ffffff</td>
3331 <td valign="top" >Plane</td>
3332 <td valign="top" >TBD</td>
3333 </tr>
3334 <tr>
3335 <td valign="top" >"zpos"</td>
3336 <td valign="top" >RANGE</td>
3337 <td valign="top" >Min=1, Max=7</td>
3338 <td valign="top" >Plane</td>
3339 <td valign="top" >TBD</td>
3340 </tr>
3341 </tbody>
3342 </table>
3343 </sect2>
2453 </sect1> 3344 </sect1>
2454 3345
2455 <!-- Internals: vertical blanking --> 3346 <!-- Internals: vertical blanking -->
@@ -2527,6 +3418,10 @@ void (*disable_vblank) (struct drm_device *dev, int crtc);</synopsis>
2527 with a call to <function>drm_vblank_cleanup</function> in the driver 3418 with a call to <function>drm_vblank_cleanup</function> in the driver
2528 <methodname>unload</methodname> operation handler. 3419 <methodname>unload</methodname> operation handler.
2529 </para> 3420 </para>
3421 <sect2>
3422 <title>Vertical Blanking and Interrupt Handling Functions Reference</title>
3423!Edrivers/gpu/drm/drm_irq.c
3424 </sect2>
2530 </sect1> 3425 </sect1>
2531 3426
2532 <!-- Internals: open/close, file operations and ioctls --> 3427 <!-- Internals: open/close, file operations and ioctls -->
@@ -2869,17 +3764,16 @@ int num_ioctls;</synopsis>
2869 <term>DRM_IOCTL_MODESET_CTL</term> 3764 <term>DRM_IOCTL_MODESET_CTL</term>
2870 <listitem> 3765 <listitem>
2871 <para> 3766 <para>
2872 This should be called by application level drivers before and 3767 This was only used for user-mode-settind drivers around
2873 after mode setting, since on many devices the vertical blank 3768 modesetting changes to allow the kernel to update the vblank
2874 counter is reset at that time. Internally, the DRM snapshots 3769 interrupt after mode setting, since on many devices the vertical
2875 the last vblank count when the ioctl is called with the 3770 blank counter is reset to 0 at some point during modeset. Modern
2876 _DRM_PRE_MODESET command, so that the counter won't go backwards 3771 drivers should not call this any more since with kernel mode
2877 (which is dealt with when _DRM_POST_MODESET is used). 3772 setting it is a no-op.
2878 </para> 3773 </para>
2879 </listitem> 3774 </listitem>
2880 </varlistentry> 3775 </varlistentry>
2881 </variablelist> 3776 </variablelist>
2882<!--!Edrivers/char/drm/drm_irq.c-->
2883 </para> 3777 </para>
2884 </sect1> 3778 </sect1>
2885 3779
@@ -2942,6 +3836,96 @@ int num_ioctls;</synopsis>
2942 probing, so those sections fully apply. 3836 probing, so those sections fully apply.
2943 </para> 3837 </para>
2944 </sect2> 3838 </sect2>
3839 <sect2>
3840 <title>DPIO</title>
3841!Pdrivers/gpu/drm/i915/i915_reg.h DPIO
3842 <table id="dpiox2">
3843 <title>Dual channel PHY (VLV/CHV)</title>
3844 <tgroup cols="8">
3845 <colspec colname="c0" />
3846 <colspec colname="c1" />
3847 <colspec colname="c2" />
3848 <colspec colname="c3" />
3849 <colspec colname="c4" />
3850 <colspec colname="c5" />
3851 <colspec colname="c6" />
3852 <colspec colname="c7" />
3853 <spanspec spanname="ch0" namest="c0" nameend="c3" />
3854 <spanspec spanname="ch1" namest="c4" nameend="c7" />
3855 <spanspec spanname="ch0pcs01" namest="c0" nameend="c1" />
3856 <spanspec spanname="ch0pcs23" namest="c2" nameend="c3" />
3857 <spanspec spanname="ch1pcs01" namest="c4" nameend="c5" />
3858 <spanspec spanname="ch1pcs23" namest="c6" nameend="c7" />
3859 <thead>
3860 <row>
3861 <entry spanname="ch0">CH0</entry>
3862 <entry spanname="ch1">CH1</entry>
3863 </row>
3864 </thead>
3865 <tbody valign="top" align="center">
3866 <row>
3867 <entry spanname="ch0">CMN/PLL/REF</entry>
3868 <entry spanname="ch1">CMN/PLL/REF</entry>
3869 </row>
3870 <row>
3871 <entry spanname="ch0pcs01">PCS01</entry>
3872 <entry spanname="ch0pcs23">PCS23</entry>
3873 <entry spanname="ch1pcs01">PCS01</entry>
3874 <entry spanname="ch1pcs23">PCS23</entry>
3875 </row>
3876 <row>
3877 <entry>TX0</entry>
3878 <entry>TX1</entry>
3879 <entry>TX2</entry>
3880 <entry>TX3</entry>
3881 <entry>TX0</entry>
3882 <entry>TX1</entry>
3883 <entry>TX2</entry>
3884 <entry>TX3</entry>
3885 </row>
3886 <row>
3887 <entry spanname="ch0">DDI0</entry>
3888 <entry spanname="ch1">DDI1</entry>
3889 </row>
3890 </tbody>
3891 </tgroup>
3892 </table>
3893 <table id="dpiox1">
3894 <title>Single channel PHY (CHV)</title>
3895 <tgroup cols="4">
3896 <colspec colname="c0" />
3897 <colspec colname="c1" />
3898 <colspec colname="c2" />
3899 <colspec colname="c3" />
3900 <spanspec spanname="ch0" namest="c0" nameend="c3" />
3901 <spanspec spanname="ch0pcs01" namest="c0" nameend="c1" />
3902 <spanspec spanname="ch0pcs23" namest="c2" nameend="c3" />
3903 <thead>
3904 <row>
3905 <entry spanname="ch0">CH0</entry>
3906 </row>
3907 </thead>
3908 <tbody valign="top" align="center">
3909 <row>
3910 <entry spanname="ch0">CMN/PLL/REF</entry>
3911 </row>
3912 <row>
3913 <entry spanname="ch0pcs01">PCS01</entry>
3914 <entry spanname="ch0pcs23">PCS23</entry>
3915 </row>
3916 <row>
3917 <entry>TX0</entry>
3918 <entry>TX1</entry>
3919 <entry>TX2</entry>
3920 <entry>TX3</entry>
3921 </row>
3922 <row>
3923 <entry spanname="ch0">DDI2</entry>
3924 </row>
3925 </tbody>
3926 </tgroup>
3927 </table>
3928 </sect2>
2945 </sect1> 3929 </sect1>
2946 3930
2947 <sect1> 3931 <sect1>
@@ -2950,6 +3934,11 @@ int num_ioctls;</synopsis>
2950 This sections covers all things related to the GEM implementation in the 3934 This sections covers all things related to the GEM implementation in the
2951 i915 driver. 3935 i915 driver.
2952 </para> 3936 </para>
3937 <sect2>
3938 <title>Batchbuffer Parsing</title>
3939!Pdrivers/gpu/drm/i915/i915_cmd_parser.c batch buffer command parser
3940!Idrivers/gpu/drm/i915/i915_cmd_parser.c
3941 </sect2>
2953 </sect1> 3942 </sect1>
2954 </chapter> 3943 </chapter>
2955</part> 3944</part>