diff options
author | Dave Airlie <airlied@redhat.com> | 2015-10-19 19:01:49 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-10-19 19:01:49 -0400 |
commit | affa0e033b04996700434312c76df3c78f683870 (patch) | |
tree | 4d67cd508404360dccd4dbd0f7bf71059eb7624c /Documentation/DocBook | |
parent | 2dd3a88ac8c0ef7737335babfbacf79be68cfbea (diff) | |
parent | a0fb6ad7ae28a4dce34c010028dc070eeacae1d9 (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/Makefile | 2 | ||||
-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 | ||
20 | include Documentation/DocBook/media/Makefile | 20 | include 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> |