aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-07-16 15:57:38 -0400
committerThomas Gleixner <tglx@linutronix.de>2014-07-16 15:57:38 -0400
commitafdb094380889222583df9ef803587f6b8a82c8d (patch)
tree4a03c516568e5c8b994a5739f3d34f4552c78898 /Documentation/DocBook
parentbe11e6d86081aa6328eaa4fe6dd14ccf39a023c8 (diff)
parent1795cd9b3a91d4b5473c97f491d63892442212ab (diff)
Merge tag 'v3.16-rc5' into timers/core
Reason: Bring in upstream modifications, so the pending changes which depend on them can be queued.
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/80211.tmpl1
-rw-r--r--Documentation/DocBook/drm.tmpl1027
-rw-r--r--Documentation/DocBook/gadget.tmpl2
-rw-r--r--Documentation/DocBook/genericirq.tmpl4
-rw-r--r--Documentation/DocBook/kernel-locking.tmpl2
-rw-r--r--Documentation/DocBook/libata.tmpl6
-rw-r--r--Documentation/DocBook/media/Makefile4
-rw-r--r--Documentation/DocBook/media_api.tmpl2
-rw-r--r--Documentation/DocBook/mtdnand.tmpl30
-rw-r--r--Documentation/DocBook/regulator.tmpl2
-rw-r--r--Documentation/DocBook/uio-howto.tmpl4
-rw-r--r--Documentation/DocBook/usb.tmpl2
-rw-r--r--Documentation/DocBook/writing-an-alsa-driver.tmpl2
13 files changed, 1039 insertions, 49 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl
index 044b76436e83..d9b9416c989f 100644
--- a/Documentation/DocBook/80211.tmpl
+++ b/Documentation/DocBook/80211.tmpl
@@ -100,6 +100,7 @@
100!Finclude/net/cfg80211.h wdev_priv 100!Finclude/net/cfg80211.h wdev_priv
101!Finclude/net/cfg80211.h ieee80211_iface_limit 101!Finclude/net/cfg80211.h ieee80211_iface_limit
102!Finclude/net/cfg80211.h ieee80211_iface_combination 102!Finclude/net/cfg80211.h ieee80211_iface_combination
103!Finclude/net/cfg80211.h cfg80211_check_combinations
103 </chapter> 104 </chapter>
104 <chapter> 105 <chapter>
105 <title>Actions and configuration</title> 106 <title>Actions and configuration</title>
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>
diff --git a/Documentation/DocBook/gadget.tmpl b/Documentation/DocBook/gadget.tmpl
index 4017f147ba2f..2c425d70f7e2 100644
--- a/Documentation/DocBook/gadget.tmpl
+++ b/Documentation/DocBook/gadget.tmpl
@@ -708,7 +708,7 @@ hardware level details could be very different.
708 708
709<para>Systems need specialized hardware support to implement OTG, 709<para>Systems need specialized hardware support to implement OTG,
710notably including a special <emphasis>Mini-AB</emphasis> jack 710notably including a special <emphasis>Mini-AB</emphasis> jack
711and associated transciever to support <emphasis>Dual-Role</emphasis> 711and associated transceiver to support <emphasis>Dual-Role</emphasis>
712operation: 712operation:
713they can act either as a host, using the standard 713they can act either as a host, using the standard
714Linux-USB host side driver stack, 714Linux-USB host side driver stack,
diff --git a/Documentation/DocBook/genericirq.tmpl b/Documentation/DocBook/genericirq.tmpl
index 46347f603353..59fb5c077541 100644
--- a/Documentation/DocBook/genericirq.tmpl
+++ b/Documentation/DocBook/genericirq.tmpl
@@ -182,7 +182,7 @@
182 <para> 182 <para>
183 Each interrupt is described by an interrupt descriptor structure 183 Each interrupt is described by an interrupt descriptor structure
184 irq_desc. The interrupt is referenced by an 'unsigned int' numeric 184 irq_desc. The interrupt is referenced by an 'unsigned int' numeric
185 value which selects the corresponding interrupt decription structure 185 value which selects the corresponding interrupt description structure
186 in the descriptor structures array. 186 in the descriptor structures array.
187 The descriptor structure contains status information and pointers 187 The descriptor structure contains status information and pointers
188 to the interrupt flow method and the interrupt chip structure 188 to the interrupt flow method and the interrupt chip structure
@@ -470,7 +470,7 @@ if (desc->irq_data.chip->irq_eoi)
470 <para> 470 <para>
471 To avoid copies of identical implementations of IRQ chips the 471 To avoid copies of identical implementations of IRQ chips the
472 core provides a configurable generic interrupt chip 472 core provides a configurable generic interrupt chip
473 implementation. Developers should check carefuly whether the 473 implementation. Developers should check carefully whether the
474 generic chip fits their needs before implementing the same 474 generic chip fits their needs before implementing the same
475 functionality slightly differently themselves. 475 functionality slightly differently themselves.
476 </para> 476 </para>
diff --git a/Documentation/DocBook/kernel-locking.tmpl b/Documentation/DocBook/kernel-locking.tmpl
index 19f2a5a5a5b4..e584ee12a1e7 100644
--- a/Documentation/DocBook/kernel-locking.tmpl
+++ b/Documentation/DocBook/kernel-locking.tmpl
@@ -1760,7 +1760,7 @@ as it would be on UP.
1760</para> 1760</para>
1761 1761
1762<para> 1762<para>
1763There is a furthur optimization possible here: remember our original 1763There is a further optimization possible here: remember our original
1764cache code, where there were no reference counts and the caller simply 1764cache code, where there were no reference counts and the caller simply
1765held the lock whenever using the object? This is still possible: if 1765held the lock whenever using the object? This is still possible: if
1766you hold the lock, no one can delete the object, so you don't need to 1766you hold the lock, no one can delete the object, so you don't need to
diff --git a/Documentation/DocBook/libata.tmpl b/Documentation/DocBook/libata.tmpl
index deb71baed328..d7fcdc5a4379 100644
--- a/Documentation/DocBook/libata.tmpl
+++ b/Documentation/DocBook/libata.tmpl
@@ -677,7 +677,7 @@ and other resources, etc.
677 677
678 <listitem> 678 <listitem>
679 <para> 679 <para>
680 ATA_QCFLAG_ACTIVE is clared from qc->flags. 680 ATA_QCFLAG_ACTIVE is cleared from qc->flags.
681 </para> 681 </para>
682 </listitem> 682 </listitem>
683 683
@@ -708,7 +708,7 @@ and other resources, etc.
708 708
709 <listitem> 709 <listitem>
710 <para> 710 <para>
711 qc->waiting is claread &amp; completed (in that order). 711 qc->waiting is cleared &amp; completed (in that order).
712 </para> 712 </para>
713 </listitem> 713 </listitem>
714 714
@@ -1163,7 +1163,7 @@ and other resources, etc.
1163 1163
1164 <para> 1164 <para>
1165 Once sense data is acquired, this type of errors can be 1165 Once sense data is acquired, this type of errors can be
1166 handled similary to other SCSI errors. Note that sense data 1166 handled similarly to other SCSI errors. Note that sense data
1167 may indicate ATA bus error (e.g. Sense Key 04h HARDWARE ERROR 1167 may indicate ATA bus error (e.g. Sense Key 04h HARDWARE ERROR
1168 &amp;&amp; ASC/ASCQ 47h/00h SCSI PARITY ERROR). In such 1168 &amp;&amp; ASC/ASCQ 47h/00h SCSI PARITY ERROR). In such
1169 cases, the error should be considered as an ATA bus error and 1169 cases, the error should be considered as an ATA bus error and
diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile
index 1d27f0a1abd1..639e74857968 100644
--- a/Documentation/DocBook/media/Makefile
+++ b/Documentation/DocBook/media/Makefile
@@ -202,8 +202,8 @@ $(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
202 202
203$(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES) 203$(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES)
204 @$($(quiet)gen_xml) 204 @$($(quiet)gen_xml)
205 @(ln -sf $(MEDIA_SRC_DIR)/v4l/*xml $(MEDIA_OBJ_DIR)/) 205 @(ln -sf `cd $(MEDIA_SRC_DIR) && /bin/pwd`/v4l/*xml $(MEDIA_OBJ_DIR)/)
206 @(ln -sf $(MEDIA_SRC_DIR)/dvb/*xml $(MEDIA_OBJ_DIR)/) 206 @(ln -sf `cd $(MEDIA_SRC_DIR) && /bin/pwd`/dvb/*xml $(MEDIA_OBJ_DIR)/)
207 207
208$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml 208$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml
209 @$($(quiet)gen_xml) 209 @$($(quiet)gen_xml)
diff --git a/Documentation/DocBook/media_api.tmpl b/Documentation/DocBook/media_api.tmpl
index 4decb46bfa76..03f9a1f8d413 100644
--- a/Documentation/DocBook/media_api.tmpl
+++ b/Documentation/DocBook/media_api.tmpl
@@ -68,7 +68,7 @@
68 several digital tv standards. While it is called as DVB API, 68 several digital tv standards. While it is called as DVB API,
69 in fact it covers several different video standards including 69 in fact it covers several different video standards including
70 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated 70 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated
71 to documment support also for DVB-S2, ISDB-T and ISDB-S.</para> 71 to document support also for DVB-S2, ISDB-T and ISDB-S.</para>
72 <para>The third part covers the Remote Controller API.</para> 72 <para>The third part covers the Remote Controller API.</para>
73 <para>The fourth part covers the Media Controller API.</para> 73 <para>The fourth part covers the Media Controller API.</para>
74 <para>For additional information and for the latest development code, 74 <para>For additional information and for the latest development code,
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl
index cd11926e07c7..7da8f0402af5 100644
--- a/Documentation/DocBook/mtdnand.tmpl
+++ b/Documentation/DocBook/mtdnand.tmpl
@@ -91,7 +91,7 @@
91 <listitem><para> 91 <listitem><para>
92 [MTD Interface]</para><para> 92 [MTD Interface]</para><para>
93 These functions provide the interface to the MTD kernel API. 93 These functions provide the interface to the MTD kernel API.
94 They are not replacable and provide functionality 94 They are not replaceable and provide functionality
95 which is complete hardware independent. 95 which is complete hardware independent.
96 </para></listitem> 96 </para></listitem>
97 <listitem><para> 97 <listitem><para>
@@ -100,14 +100,14 @@
100 </para></listitem> 100 </para></listitem>
101 <listitem><para> 101 <listitem><para>
102 [GENERIC]</para><para> 102 [GENERIC]</para><para>
103 Generic functions are not replacable and provide functionality 103 Generic functions are not replaceable and provide functionality
104 which is complete hardware independent. 104 which is complete hardware independent.
105 </para></listitem> 105 </para></listitem>
106 <listitem><para> 106 <listitem><para>
107 [DEFAULT]</para><para> 107 [DEFAULT]</para><para>
108 Default functions provide hardware related functionality which is suitable 108 Default functions provide hardware related functionality which is suitable
109 for most of the implementations. These functions can be replaced by the 109 for most of the implementations. These functions can be replaced by the
110 board driver if neccecary. Those functions are called via pointers in the 110 board driver if necessary. Those functions are called via pointers in the
111 NAND chip description structure. The board driver can set the functions which 111 NAND chip description structure. The board driver can set the functions which
112 should be replaced by board dependent functions before calling nand_scan(). 112 should be replaced by board dependent functions before calling nand_scan().
113 If the function pointer is NULL on entry to nand_scan() then the pointer 113 If the function pointer is NULL on entry to nand_scan() then the pointer
@@ -264,7 +264,7 @@ static void board_hwcontrol(struct mtd_info *mtd, int cmd)
264 is set up nand_scan() is called. This function tries to 264 is set up nand_scan() is called. This function tries to
265 detect and identify then chip. If a chip is found all the 265 detect and identify then chip. If a chip is found all the
266 internal data fields are initialized accordingly. 266 internal data fields are initialized accordingly.
267 The structure(s) have to be zeroed out first and then filled with the neccecary 267 The structure(s) have to be zeroed out first and then filled with the necessary
268 information about the device. 268 information about the device.
269 </para> 269 </para>
270 <programlisting> 270 <programlisting>
@@ -327,7 +327,7 @@ module_init(board_init);
327 <sect1 id="Exit_function"> 327 <sect1 id="Exit_function">
328 <title>Exit function</title> 328 <title>Exit function</title>
329 <para> 329 <para>
330 The exit function is only neccecary if the driver is 330 The exit function is only necessary if the driver is
331 compiled as a module. It releases all resources which 331 compiled as a module. It releases all resources which
332 are held by the chip driver and unregisters the partitions 332 are held by the chip driver and unregisters the partitions
333 in the MTD layer. 333 in the MTD layer.
@@ -494,7 +494,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
494 in this case. See rts_from4.c and diskonchip.c for 494 in this case. See rts_from4.c and diskonchip.c for
495 implementation reference. In those cases we must also 495 implementation reference. In those cases we must also
496 use bad block tables on FLASH, because the ECC layout is 496 use bad block tables on FLASH, because the ECC layout is
497 interferring with the bad block marker positions. 497 interfering with the bad block marker positions.
498 See bad block table support for details. 498 See bad block table support for details.
499 </para> 499 </para>
500 </sect2> 500 </sect2>
@@ -542,7 +542,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
542 <para> 542 <para>
543 nand_scan() calls the function nand_default_bbt(). 543 nand_scan() calls the function nand_default_bbt().
544 nand_default_bbt() selects appropriate default 544 nand_default_bbt() selects appropriate default
545 bad block table desriptors depending on the chip information 545 bad block table descriptors depending on the chip information
546 which was retrieved by nand_scan(). 546 which was retrieved by nand_scan().
547 </para> 547 </para>
548 <para> 548 <para>
@@ -554,7 +554,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
554 <sect2 id="Flash_based_tables"> 554 <sect2 id="Flash_based_tables">
555 <title>Flash based tables</title> 555 <title>Flash based tables</title>
556 <para> 556 <para>
557 It may be desired or neccecary to keep a bad block table in FLASH. 557 It may be desired or necessary to keep a bad block table in FLASH.
558 For AG-AND chips this is mandatory, as they have no factory marked 558 For AG-AND chips this is mandatory, as they have no factory marked
559 bad blocks. They have factory marked good blocks. The marker pattern 559 bad blocks. They have factory marked good blocks. The marker pattern
560 is erased when the block is erased to be reused. So in case of 560 is erased when the block is erased to be reused. So in case of
@@ -565,10 +565,10 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
565 of the blocks. 565 of the blocks.
566 </para> 566 </para>
567 <para> 567 <para>
568 The blocks in which the tables are stored are procteted against 568 The blocks in which the tables are stored are protected against
569 accidental access by marking them bad in the memory bad block 569 accidental access by marking them bad in the memory bad block
570 table. The bad block table management functions are allowed 570 table. The bad block table management functions are allowed
571 to circumvernt this protection. 571 to circumvent this protection.
572 </para> 572 </para>
573 <para> 573 <para>
574 The simplest way to activate the FLASH based bad block table support 574 The simplest way to activate the FLASH based bad block table support
@@ -592,7 +592,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
592 User defined tables are created by filling out a 592 User defined tables are created by filling out a
593 nand_bbt_descr structure and storing the pointer in the 593 nand_bbt_descr structure and storing the pointer in the
594 nand_chip structure member bbt_td before calling nand_scan(). 594 nand_chip structure member bbt_td before calling nand_scan().
595 If a mirror table is neccecary a second structure must be 595 If a mirror table is necessary a second structure must be
596 created and a pointer to this structure must be stored 596 created and a pointer to this structure must be stored
597 in bbt_md inside the nand_chip structure. If the bbt_md 597 in bbt_md inside the nand_chip structure. If the bbt_md
598 member is set to NULL then only the main table is used 598 member is set to NULL then only the main table is used
@@ -666,7 +666,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
666 <para> 666 <para>
667 For automatic placement some blocks must be reserved for 667 For automatic placement some blocks must be reserved for
668 bad block table storage. The number of reserved blocks is defined 668 bad block table storage. The number of reserved blocks is defined
669 in the maxblocks member of the babd block table description structure. 669 in the maxblocks member of the bad block table description structure.
670 Reserving 4 blocks for mirrored tables should be a reasonable number. 670 Reserving 4 blocks for mirrored tables should be a reasonable number.
671 This also limits the number of blocks which are scanned for the bad 671 This also limits the number of blocks which are scanned for the bad
672 block table ident pattern. 672 block table ident pattern.
@@ -1068,11 +1068,11 @@ in this page</entry>
1068 <chapter id="filesystems"> 1068 <chapter id="filesystems">
1069 <title>Filesystem support</title> 1069 <title>Filesystem support</title>
1070 <para> 1070 <para>
1071 The NAND driver provides all neccecary functions for a 1071 The NAND driver provides all necessary functions for a
1072 filesystem via the MTD interface. 1072 filesystem via the MTD interface.
1073 </para> 1073 </para>
1074 <para> 1074 <para>
1075 Filesystems must be aware of the NAND pecularities and 1075 Filesystems must be aware of the NAND peculiarities and
1076 restrictions. One major restrictions of NAND Flash is, that you cannot 1076 restrictions. One major restrictions of NAND Flash is, that you cannot
1077 write as often as you want to a page. The consecutive writes to a page, 1077 write as often as you want to a page. The consecutive writes to a page,
1078 before erasing it again, are restricted to 1-3 writes, depending on the 1078 before erasing it again, are restricted to 1-3 writes, depending on the
@@ -1222,7 +1222,7 @@ in this page</entry>
1222#define NAND_BBT_VERSION 0x00000100 1222#define NAND_BBT_VERSION 0x00000100
1223/* Create a bbt if none axists */ 1223/* Create a bbt if none axists */
1224#define NAND_BBT_CREATE 0x00000200 1224#define NAND_BBT_CREATE 0x00000200
1225/* Write bbt if neccecary */ 1225/* Write bbt if necessary */
1226#define NAND_BBT_WRITE 0x00001000 1226#define NAND_BBT_WRITE 0x00001000
1227/* Read and write back block contents when writing bbt */ 1227/* Read and write back block contents when writing bbt */
1228#define NAND_BBT_SAVECONTENT 0x00002000 1228#define NAND_BBT_SAVECONTENT 0x00002000
diff --git a/Documentation/DocBook/regulator.tmpl b/Documentation/DocBook/regulator.tmpl
index 346e552fa2cc..3b08a085d2c7 100644
--- a/Documentation/DocBook/regulator.tmpl
+++ b/Documentation/DocBook/regulator.tmpl
@@ -155,7 +155,7 @@
155 release regulators. Functions are 155 release regulators. Functions are
156 provided to <link linkend='API-regulator-enable'>enable</link> 156 provided to <link linkend='API-regulator-enable'>enable</link>
157 and <link linkend='API-regulator-disable'>disable</link> the 157 and <link linkend='API-regulator-disable'>disable</link> the
158 reguator and to get and set the runtime parameters of the 158 regulator and to get and set the runtime parameters of the
159 regulator. 159 regulator.
160 </para> 160 </para>
161 <para> 161 <para>
diff --git a/Documentation/DocBook/uio-howto.tmpl b/Documentation/DocBook/uio-howto.tmpl
index 95618159e29b..bbe9c1fd5cef 100644
--- a/Documentation/DocBook/uio-howto.tmpl
+++ b/Documentation/DocBook/uio-howto.tmpl
@@ -766,10 +766,10 @@ framework to set up sysfs files for this region. Simply leave it alone.
766 <para> 766 <para>
767 The dynamic memory regions will be allocated when the UIO device file, 767 The dynamic memory regions will be allocated when the UIO device file,
768 <varname>/dev/uioX</varname> is opened. 768 <varname>/dev/uioX</varname> is opened.
769 Simiar to static memory resources, the memory region information for 769 Similar to static memory resources, the memory region information for
770 dynamic regions is then visible via sysfs at 770 dynamic regions is then visible via sysfs at
771 <varname>/sys/class/uio/uioX/maps/mapY/*</varname>. 771 <varname>/sys/class/uio/uioX/maps/mapY/*</varname>.
772 The dynmaic memory regions will be freed when the UIO device file is 772 The dynamic memory regions will be freed when the UIO device file is
773 closed. When no processes are holding the device file open, the address 773 closed. When no processes are holding the device file open, the address
774 returned to userspace is ~0. 774 returned to userspace is ~0.
775 </para> 775 </para>
diff --git a/Documentation/DocBook/usb.tmpl b/Documentation/DocBook/usb.tmpl
index 8d57c1888dca..85fc0e28576f 100644
--- a/Documentation/DocBook/usb.tmpl
+++ b/Documentation/DocBook/usb.tmpl
@@ -153,7 +153,7 @@
153 153
154 <listitem><para>The Linux USB API supports synchronous calls for 154 <listitem><para>The Linux USB API supports synchronous calls for
155 control and bulk messages. 155 control and bulk messages.
156 It also supports asynchnous calls for all kinds of data transfer, 156 It also supports asynchronous calls for all kinds of data transfer,
157 using request structures called "URBs" (USB Request Blocks). 157 using request structures called "URBs" (USB Request Blocks).
158 </para></listitem> 158 </para></listitem>
159 159
diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl
index d0056a4e9c53..6f639d9530b5 100644
--- a/Documentation/DocBook/writing-an-alsa-driver.tmpl
+++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl
@@ -5696,7 +5696,7 @@ struct _snd_pcm_runtime {
5696 suspending the PCM operations via 5696 suspending the PCM operations via
5697 <function>snd_pcm_suspend_all()</function> or 5697 <function>snd_pcm_suspend_all()</function> or
5698 <function>snd_pcm_suspend()</function>. It means that the PCM 5698 <function>snd_pcm_suspend()</function>. It means that the PCM
5699 streams are already stoppped when the register snapshot is 5699 streams are already stopped when the register snapshot is
5700 taken. But, remember that you don't have to restart the PCM 5700 taken. But, remember that you don't have to restart the PCM
5701 stream in the resume callback. It'll be restarted via 5701 stream in the resume callback. It'll be restarted via
5702 trigger call with <constant>SNDRV_PCM_TRIGGER_RESUME</constant> 5702 trigger call with <constant>SNDRV_PCM_TRIGGER_RESUME</constant>