~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/gpu/introduction.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/gpu/introduction.rst (Version linux-6.11.5) and /Documentation/gpu/introduction.rst (Version linux-2.6.0)


  1 ============                                      
  2 Introduction                                      
  3 ============                                      
  4                                                   
  5 The Linux DRM layer contains code intended to     
  6 complex graphics devices, usually containing p    
  7 suited to 3D graphics acceleration. Graphics d    
  8 make use of DRM functions to make tasks like m    
  9 interrupt handling and DMA easier, and provide    
 10 applications.                                     
 11                                                   
 12 A note on versions: this guide covers features    
 13 including the TTM memory manager, output confi    
 14 and the new vblank internals, in addition to a    
 15 found in current kernels.                         
 16                                                   
 17 [Insert diagram of typical DRM stack here]        
 18                                                   
 19 Style Guidelines                                  
 20 ================                                  
 21                                                   
 22 For consistency this documentation uses Americ    
 23 are written as all-uppercase, for example: DRM    
 24 on. To aid in reading, documentations make ful    
 25 characters kerneldoc provides: @parameter for     
 26 @member for structure members (within the same    
 27 reference structures and function() for functi    
 28 hyperlinked if kerneldoc for the referenced ob    
 29 entries in function vtables (and structure mem    
 30 &vtable_name.vfunc. Unfortunately this does no    
 31 member, only the structure.                       
 32                                                   
 33 Except in special situations (to separate lock    
 34 locking requirements for functions aren't docu    
 35 Instead locking should be check at runtime usi    
 36 ``WARN_ON(!mutex_is_locked(...));``. Since it'    
 37 documentation than runtime noise this provides    
 38 that runtime checks do need to be updated when    
 39 increasing the chances that they're correct. W    
 40 the locking rules should be explained in the r    
 41 in the comment for the lock explaining what it    
 42 need a note about which lock protects them, or    
 43                                                   
 44 Functions which have a non-\ ``void`` return v    
 45 called "Returns" explaining the expected retur    
 46 cases and their meanings. Currently there's no    
 47 section name should be all upper-case or not,     
 48 in a colon or not. Go with the file-local styl    
 49 names are "Notes" with information for dangero    
 50 and "FIXME" where the interface could be clean    
 51                                                   
 52 Also read the :ref:`guidelines for the kernel     
 53                                                   
 54 Documentation Requirements for kAPI               
 55 -----------------------------------               
 56                                                   
 57 All kernel APIs exported to other modules must    
 58 datastructures and at least a short introducto    
 59 concepts. Documentation should be put into the    
 60 as much as reasonable.                            
 61                                                   
 62 Do not blindly document everything, but docume    
 63 authors: Internal functions of drm.ko and defi    
 64 have formal kerneldoc comments. Use normal C c    
 65 is warranted. You may use kerneldoc syntax in     
 66 start with a /** kerneldoc marker. Similar for    
 67 anything entirely private with ``/* private: *    
 68 documentation guide.                              
 69                                                   
 70 Getting Started                                   
 71 ===============                                   
 72                                                   
 73 Developers interested in helping out with the     
 74 Often people will resort to sending in patches    
 75 checkpatch or sparse. We welcome such contribu    
 76                                                   
 77 Anyone looking to kick it up a notch can find     
 78 the :ref:`TODO list <todo>`.                      
 79                                                   
 80 Contribution Process                              
 81 ====================                              
 82                                                   
 83 Mostly the DRM subsystem works like any other     
 84 main process guidelines and documentation <pro    
 85 Here we just document some of the specialities    
 86                                                   
 87 Feature Merge Deadlines                           
 88 -----------------------                           
 89                                                   
 90 All feature work must be in the linux-next tre    
 91 current release cycle, otherwise they must be     
 92 merge window. All patches must have landed in     
 93 but if your branch is not in linux-next then t    
 94 already.                                          
 95                                                   
 96 After that point only bugfixes (like after the    
 97 with the -rc1 release) are allowed. No new pla    
 98 allowed.                                          
 99                                                   
100 This means that there's a blackout-period of a    
101 can't be merged. The recommended way to deal w    
102 that's always open, but making sure to not fee    
103 blackout period. As an example, drm-misc works    
104                                                   
105 Code of Conduct                                   
106 ---------------                                   
107                                                   
108 As a freedesktop.org project, dri-devel, and t    
109 Contributor Covenant, found at: https://www.fr    
110                                                   
111 Please conduct yourself in a respectful and ci    
112 interacting with community members on mailing     
113 trackers. The community represents the project    
114 or bullying behaviour is not tolerated by the     
115                                                   
116 Simple DRM drivers to use as examples             
117 =====================================             
118                                                   
119 The DRM subsystem contains a lot of helper fun    
120 simple graphic devices. For example, the `driv    
121 set of drivers that are simple enough to be im    
122                                                   
123 These drivers make use of the `struct drm_simp    
124 any complexity of the DRM subsystem and just r    
125 functions needed to operate the device. This c    
126 need a display pipeline with one full-screen s    
127                                                   
128 The tiny DRM drivers are good examples to unde    
129 like. Since are just a few hundreds lines of c    
130                                                   
131 External References                               
132 ===================                               
133                                                   
134 Delving into a Linux kernel subsystem for the     
135 experience, one needs to get familiar with all    
136 subsystem's internals, among other details.       
137                                                   
138 To shallow the learning curve, this section co    
139 and documents that can be used to learn about     
140                                                   
141 There are different reasons why someone might     
142 existing fbdev driver, write a DRM driver for     
143 could face when working on the graphics user-s    
144 the learning material covers many aspects of t    
145 overview of the kernel and user-space stacks t    
146                                                   
147 The list is sorted in reverse chronological or    
148 material at the top. But all of them contain u    
149 valuable to go through older material to under    
150 in which the changes to the DRM subsystem were    
151                                                   
152 Conference talks                                  
153 ----------------                                  
154                                                   
155 * `An Overview of the Linux and Userspace Grap    
156 * `Getting pixels on screen on Linux: introduc    
157 * `Everything Great about Upstream Graphics <h    
158 * `An introduction to the Linux DRM subsystem     
159 * `Embrace the Atomic (Display) Age <https://w    
160 * `Anatomy of an Atomic KMS Driver <https://ww    
161 * `Atomic Modesetting for Drivers <https://www    
162 * `Anatomy of an Embedded KMS Driver <https://    
163                                                   
164 Slides and articles                               
165 -------------------                               
166                                                   
167 * `The Linux graphics stack in a nutshell, par    
168 * `The Linux graphics stack in a nutshell, par    
169 * `Understanding the Linux Graphics Stack <htt    
170 * `DRM KMS overview <https://wiki.st.com/stm32    
171 * `Linux graphic stack <https://studiopixl.com    
172 * `Atomic mode setting design overview, part 1    
173 * `Atomic mode setting design overview, part 2    
174 * `The DRM/KMS subsystem from a newbie’s poi    
175 * `A brief introduction to the Linux graphics     
176 * `The Linux Graphics Stack <https://blog.mech    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php