summaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-06-01 17:50:23 -0400
committerDave Airlie <airlied@redhat.com>2016-06-01 17:50:23 -0400
commit65439b68bb10afd877af05463bbff5d25200fd06 (patch)
tree846aeadab033ec39a3ed942c82976b40ea4994a2 /Documentation/DocBook
parent1a695a905c18548062509178b98bc91e67510864 (diff)
parentb82caafcf230362e2233ccf912a37face07f6d76 (diff)
Merge tag 'topic/drm-misc-2016-06-01' of git://anongit.freedesktop.org/drm-intel into drm-next
Frist -misc pull for 4.8, with pretty much just random all over plus a few more lockless gem BO patches acked/reviewed by driver maintainers. I'm starting a bit earlier this time around because there's a few invasive patch series to land (nonblocking atomic prep work, fence prep work, rst/sphinx kerneldoc finally happening) and I need a baseline with all the branches merged. * tag 'topic/drm-misc-2016-06-01' of git://anongit.freedesktop.org/drm-intel: (21 commits) drm/vc4: Use lockless gem BO free callback drm/vc4: Use drm_gem_object_unreference_unlocked drm: Initialize a linear gamma table by default drm/vgem: Use lockless gem BO free callback drm/qxl: Don't set a gamma table size drm/msm: Nuke dummy gamma_set/get functions drm/cirrus: Drop redundnant gamma size check drm/fb-helper: Remove dead code in setcolreg drm/mediatek: Use lockless gem BO free callback drm/hisilicon: Use lockless gem BO free callback drm/hlcd: Use lockless gem BO free callback vga_switcheroo: Support deferred probing of audio clients vga_switcheroo: Add helper for deferred probing virtio-gpu: fix output lookup drm/doc: Unify KMS Locking docs drm/atomic-helper: Do not call ->mode_fixup for CRTC which will be disabled Fix annoyingly awkward typo in drm_edid_load.c drm/doc: Drop vblank_disable_allow wording drm: use seqlock for vblank time/count drm/mm: avoid possible null pointer dereference ...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/gpu.tmpl25
1 files changed, 1 insertions, 24 deletions
diff --git a/Documentation/DocBook/gpu.tmpl b/Documentation/DocBook/gpu.tmpl
index 7586bf75f62e..b3a04b521b22 100644
--- a/Documentation/DocBook/gpu.tmpl
+++ b/Documentation/DocBook/gpu.tmpl
@@ -1092,22 +1092,6 @@ int max_width, max_height;</synopsis>
1092 operation. 1092 operation.
1093 </para> 1093 </para>
1094 </sect2> 1094 </sect2>
1095 <sect2>
1096 <title>Locking</title>
1097 <para>
1098 Beside some lookup structures with their own locking (which is hidden
1099 behind the interface functions) most of the modeset state is protected
1100 by the <code>dev-&lt;mode_config.lock</code> mutex and additionally
1101 per-crtc locks to allow cursor updates, pageflips and similar operations
1102 to occur concurrently with background tasks like output detection.
1103 Operations which cross domains like a full modeset always grab all
1104 locks. Drivers there need to protect resources shared between crtcs with
1105 additional locking. They also need to be careful to always grab the
1106 relevant crtc locks if a modset functions touches crtc state, e.g. for
1107 load detection (which does only grab the <code>mode_config.lock</code>
1108 to allow concurrent screen updates on live crtcs).
1109 </para>
1110 </sect2>
1111 </sect1> 1095 </sect1>
1112 1096
1113 <!-- Internals: kms initialization and cleanup --> 1097 <!-- Internals: kms initialization and cleanup -->
@@ -2845,14 +2829,7 @@ void (*disable_vblank) (struct drm_device *dev, int crtc);</synopsis>
2845 <para> 2829 <para>
2846 Drivers must initialize the vertical blanking handling core with a call to 2830 Drivers must initialize the vertical blanking handling core with a call to
2847 <function>drm_vblank_init</function> in their 2831 <function>drm_vblank_init</function> in their
2848 <methodname>load</methodname> operation. The function will set the struct 2832 <methodname>load</methodname> operation.
2849 <structname>drm_device</structname>
2850 <structfield>vblank_disable_allowed</structfield> field to 0. This will
2851 keep vertical blanking interrupts enabled permanently until the first mode
2852 set operation, where <structfield>vblank_disable_allowed</structfield> is
2853 set to 1. The reason behind this is not clear. Drivers can set the field
2854 to 1 after <function>calling drm_vblank_init</function> to make vertical
2855 blanking interrupts dynamically managed from the beginning.
2856 </para> 2833 </para>
2857 <para> 2834 <para>
2858 Vertical blanking interrupts can be enabled by the DRM core or by drivers 2835 Vertical blanking interrupts can be enabled by the DRM core or by drivers