summaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-10-19 19:01:49 -0400
committerDave Airlie <airlied@redhat.com>2015-10-19 19:01:49 -0400
commitaffa0e033b04996700434312c76df3c78f683870 (patch)
tree4d67cd508404360dccd4dbd0f7bf71059eb7624c /Documentation/DocBook
parent2dd3a88ac8c0ef7737335babfbacf79be68cfbea (diff)
parenta0fb6ad7ae28a4dce34c010028dc070eeacae1d9 (diff)
Merge tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel into drm-next
More drm-misc for 4.4. - fb refcount fix in atomic fbdev - various locking reworks to reduce drm_global_mutex and dev->struct_mutex - rename docbook to gpu.tmpl and include vga_switcheroo stuff, plus more vga_switcheroo (Lukas Wunner) - viewport check fixes for atomic drivers from Ville - DRM_DEBUG_VBL from Ville - non-contentious header fixes from Mikko Rapeli - small things all over * tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel: (31 commits) drm/fb-helper: Fix fb refcounting in pan_display_atomic drm/fb-helper: Set plane rotation directly drm: fix mutex leak in drm_dp_get_mst_branch_device drm: Check plane src coordinates correctly during page flip for atomic drivers drm: Check crtc viewport correctly with rotated primary plane on atomic drivers drm: Refactor plane src coordinate checks drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane drm: Don't leak fb when plane crtc coodinates are bad ALSA: hda - Spell vga_switcheroo consistently drm/gem: Use kref_get_unless_zero for the weak mmap references drm/vgem: Drop vgem_drm_gem_mmap drm: Fix return value of drm_framebuffer_init() drm/gem: Use container_of in drm_gem_object_free drm/gem: Check locking in drm_gem_object_unreference drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj drm/i810_drm.h: include drm/drm.h r128_drm.h: include drm/drm.h savage_drm.h: include <drm/drm.h> gpu/doc: Convert to markdown harder gpu/doc: Add vga_switcheroo documentation ...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/Makefile2
-rw-r--r--Documentation/DocBook/gpu.tmpl (renamed from Documentation/DocBook/drm.tmpl)94
2 files changed, 83 insertions, 13 deletions
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 93eff64387cd..810f466238d3 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -14,7 +14,7 @@ DOCBOOKS := z8530book.xml device-drivers.xml \
14 genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \ 14 genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
15 80211.xml debugobjects.xml sh.xml regulator.xml \ 15 80211.xml debugobjects.xml sh.xml regulator.xml \
16 alsa-driver-api.xml writing-an-alsa-driver.xml \ 16 alsa-driver-api.xml writing-an-alsa-driver.xml \
17 tracepoint.xml drm.xml media_api.xml w1.xml \ 17 tracepoint.xml gpu.xml media_api.xml w1.xml \
18 writing_musb_glue_layer.xml crypto-API.xml iio.xml 18 writing_musb_glue_layer.xml crypto-API.xml iio.xml
19 19
20include Documentation/DocBook/media/Makefile 20include Documentation/DocBook/media/Makefile
diff --git a/Documentation/DocBook/drm.tmpl b/Documentation/DocBook/gpu.tmpl
index ac76a8b0baaa..201dcd3c2e9d 100644
--- a/Documentation/DocBook/drm.tmpl
+++ b/Documentation/DocBook/gpu.tmpl
@@ -2,9 +2,9 @@
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> 3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
4 4
5<book id="drmDevelopersGuide"> 5<book id="gpuDevelopersGuide">
6 <bookinfo> 6 <bookinfo>
7 <title>Linux DRM Developer's Guide</title> 7 <title>Linux GPU Driver Developer's Guide</title>
8 8
9 <authorgroup> 9 <authorgroup>
10 <author> 10 <author>
@@ -40,6 +40,16 @@
40 </address> 40 </address>
41 </affiliation> 41 </affiliation>
42 </author> 42 </author>
43 <author>
44 <firstname>Lukas</firstname>
45 <surname>Wunner</surname>
46 <contrib>vga_switcheroo documentation</contrib>
47 <affiliation>
48 <address>
49 <email>lukas@wunner.de</email>
50 </address>
51 </affiliation>
52 </author>
43 </authorgroup> 53 </authorgroup>
44 54
45 <copyright> 55 <copyright>
@@ -51,6 +61,10 @@
51 <year>2012</year> 61 <year>2012</year>
52 <holder>Laurent Pinchart</holder> 62 <holder>Laurent Pinchart</holder>
53 </copyright> 63 </copyright>
64 <copyright>
65 <year>2015</year>
66 <holder>Lukas Wunner</holder>
67 </copyright>
54 68
55 <legalnotice> 69 <legalnotice>
56 <para> 70 <para>
@@ -69,6 +83,13 @@
69 <revremark>Added extensive documentation about driver internals. 83 <revremark>Added extensive documentation about driver internals.
70 </revremark> 84 </revremark>
71 </revision> 85 </revision>
86 <revision>
87 <revnumber>1.1</revnumber>
88 <date>2015-10-11</date>
89 <authorinitials>LW</authorinitials>
90 <revremark>Added vga_switcheroo documentation.
91 </revremark>
92 </revision>
72 </revhistory> 93 </revhistory>
73 </bookinfo> 94 </bookinfo>
74 95
@@ -78,9 +99,9 @@
78 <title>DRM Core</title> 99 <title>DRM Core</title>
79 <partintro> 100 <partintro>
80 <para> 101 <para>
81 This first part of the DRM Developer's Guide documents core DRM code, 102 This first part of the GPU Driver Developer's Guide documents core DRM
82 helper libraries for writing drivers and generic userspace interfaces 103 code, helper libraries for writing drivers and generic userspace
83 exposed by DRM drivers. 104 interfaces exposed by DRM drivers.
84 </para> 105 </para>
85 </partintro> 106 </partintro>
86 107
@@ -3583,10 +3604,11 @@ void (*postclose) (struct drm_device *, struct drm_file *);</synopsis>
3583 plane properties to default value, so that a subsequent open of the 3604 plane properties to default value, so that a subsequent open of the
3584 device will not inherit state from the previous user. It can also be 3605 device will not inherit state from the previous user. It can also be
3585 used to execute delayed power switching state changes, e.g. in 3606 used to execute delayed power switching state changes, e.g. in
3586 conjunction with the vga_switcheroo infrastructure. Beyond that KMS 3607 conjunction with the vga_switcheroo infrastructure (see
3587 drivers should not do any further cleanup. Only legacy UMS drivers might 3608 <xref linkend="vga_switcheroo"/>). Beyond that KMS drivers should not
3588 need to clean up device state so that the vga console or an independent 3609 do any further cleanup. Only legacy UMS drivers might need to clean up
3589 fbdev driver could take over. 3610 device state so that the vga console or an independent fbdev driver
3611 could take over.
3590 </para> 3612 </para>
3591 </sect2> 3613 </sect2>
3592 <sect2> 3614 <sect2>
@@ -3684,7 +3706,9 @@ int num_ioctls;</synopsis>
3684 </para></listitem> 3706 </para></listitem>
3685 <listitem><para> 3707 <listitem><para>
3686 DRM_UNLOCKED - The ioctl handler will be called without locking 3708 DRM_UNLOCKED - The ioctl handler will be called without locking
3687 the DRM global mutex 3709 the DRM global mutex. This is the enforced default for kms drivers
3710 (i.e. using the DRIVER_MODESET flag) and hence shouldn't be used
3711 any more for new drivers.
3688 </para></listitem> 3712 </para></listitem>
3689 </itemizedlist> 3713 </itemizedlist>
3690 </para> 3714 </para>
@@ -3887,8 +3911,8 @@ int num_ioctls;</synopsis>
3887 3911
3888 <partintro> 3912 <partintro>
3889 <para> 3913 <para>
3890 This second part of the DRM Developer's Guide documents driver code, 3914 This second part of the GPU Driver Developer's Guide documents driver
3891 implementation details and also all the driver-specific userspace 3915 code, implementation details and also all the driver-specific userspace
3892 interfaces. Especially since all hardware-acceleration interfaces to 3916 interfaces. Especially since all hardware-acceleration interfaces to
3893 userspace are driver specific for efficiency and other reasons these 3917 userspace are driver specific for efficiency and other reasons these
3894 interfaces can be rather substantial. Hence every driver has its own 3918 interfaces can be rather substantial. Hence every driver has its own
@@ -4213,4 +4237,50 @@ int num_ioctls;</synopsis>
4213 </chapter> 4237 </chapter>
4214!Cdrivers/gpu/drm/i915/i915_irq.c 4238!Cdrivers/gpu/drm/i915/i915_irq.c
4215</part> 4239</part>
4240
4241<part id="vga_switcheroo">
4242 <title>vga_switcheroo</title>
4243 <partintro>
4244!Pdrivers/gpu/vga/vga_switcheroo.c Overview
4245 </partintro>
4246
4247 <chapter id="modes_of_use">
4248 <title>Modes of Use</title>
4249 <sect1>
4250 <title>Manual switching and manual power control</title>
4251!Pdrivers/gpu/vga/vga_switcheroo.c Manual switching and manual power control
4252 </sect1>
4253 <sect1>
4254 <title>Driver power control</title>
4255!Pdrivers/gpu/vga/vga_switcheroo.c Driver power control
4256 </sect1>
4257 </chapter>
4258
4259 <chapter id="pubfunctions">
4260 <title>Public functions</title>
4261!Edrivers/gpu/vga/vga_switcheroo.c
4262 </chapter>
4263
4264 <chapter id="pubstructures">
4265 <title>Public structures</title>
4266!Finclude/linux/vga_switcheroo.h vga_switcheroo_handler
4267!Finclude/linux/vga_switcheroo.h vga_switcheroo_client_ops
4268 </chapter>
4269
4270 <chapter id="pubconstants">
4271 <title>Public constants</title>
4272!Finclude/linux/vga_switcheroo.h vga_switcheroo_client_id
4273!Finclude/linux/vga_switcheroo.h vga_switcheroo_state
4274 </chapter>
4275
4276 <chapter id="privstructures">
4277 <title>Private structures</title>
4278!Fdrivers/gpu/vga/vga_switcheroo.c vgasr_priv
4279!Fdrivers/gpu/vga/vga_switcheroo.c vga_switcheroo_client
4280 </chapter>
4281
4282!Cdrivers/gpu/vga/vga_switcheroo.c
4283!Cinclude/linux/vga_switcheroo.h
4284</part>
4285
4216</book> 4286</book>