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

TOMOYO Linux Cross Reference
Linux/Documentation/fb/modedb.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/fb/modedb.rst (Version linux-6.11.5) and /Documentation/fb/modedb.rst (Version linux-4.15.18)


  1 =================================                 
  2 modedb default video mode support                 
  3 =================================                 
  4                                                   
  5                                                   
  6 Currently all frame buffer device drivers have    
  7 which is a mess and a waste of resources. The     
  8                                                   
  9   - one routine to probe for video modes, whic    
 10     devices                                       
 11   - one generic video mode database with a fai    
 12     (taken from XFree86)                          
 13   - the possibility to supply your own mode da    
 14     needs non-standard modes, like amifb and M    
 15     use macmodes.c)                               
 16                                                   
 17 When a frame buffer device receives a video= o    
 18 consider that to be a video mode option. If no    
 19 in a video= option, fbmem considers that to be    
 20                                                   
 21 Valid mode specifiers (mode_option argument)::    
 22                                                   
 23     <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][    
 24     <name>[-<bpp>][@<refresh>]                     
 25                                                   
 26 with <xres>, <yres>, <bpp> and <refresh> decim    
 27 Things between square brackets are optional.      
 28                                                   
 29 Valid names are::                                 
 30                                                   
 31   - NSTC: 480i output, with the CCIR System-M     
 32   - NTSC-J: 480i output, with the CCIR System-    
 33     encoding, and a black level equal to the b    
 34   - PAL: 576i output, with the CCIR System-B T    
 35   - PAL-M: 480i output, with the CCIR System-M    
 36                                                   
 37 If 'M' is specified in the mode_option argumen    
 38 <bpp> and <refresh>, if specified) the timings    
 39 VESA(TM) Coordinated Video Timings instead of     
 40 If 'R' is specified, do a 'reduced blanking' c    
 41 If 'i' is specified, calculate for an interlac    
 42 specified, add margins to the calculation (1.8    
 43 pixels and 1.8% of yres).                         
 44                                                   
 45        Sample usage: 1024x768M@60m - CVT timin    
 46                                                   
 47 DRM drivers also add options to enable or disa    
 48                                                   
 49 'e' will force the display to be enabled, i.e.    
 50 if a display is connected. 'D' will force the     
 51 digital output. This is useful for outputs tha    
 52 signals (e.g. HDMI and DVI-I). For other outpu    
 53 is specified the output is disabled.              
 54                                                   
 55 You can additionally specify which output the     
 56 To force the VGA output to be enabled and driv    
 57                                                   
 58     video=VGA-1:1280x1024@60me                    
 59                                                   
 60 Specifying the option multiple times for diffe    
 61                                                   
 62     video=LVDS-1:d video=HDMI-1:D                 
 63                                                   
 64 Options can also be passed after the mode, usi    
 65                                                   
 66        Sample usage: 720x480,rotate=180 - 720x    
 67                                                   
 68 Valid options are::                               
 69                                                   
 70   - margin_top, margin_bottom, margin_left, ma    
 71     Number of pixels in the margins, typically    
 72   - reflect_x (boolean): Perform an axial symm    
 73   - reflect_y (boolean): Perform an axial symm    
 74   - rotate (integer): Rotate the initial frame    
 75     degrees. Valid values are 0, 90, 180 and 2    
 76   - tv_mode: Analog TV mode. One of "NTSC", "N    
 77     "PAL-M", "PAL-N", or "SECAM".                 
 78   - panel_orientation, one of "normal", "upsid    
 79     "right_side_up". For KMS drivers only, thi    
 80     property on the kms connector as hint for     
 81                                                   
 82                                                   
 83 ----------------------------------------------    
 84                                                   
 85 What is the VESA(TM) Coordinated Video Timings    
 86 ==============================================    
 87                                                   
 88 From the VESA(TM) Website:                        
 89                                                   
 90      "The purpose of CVT is to provide a metho    
 91       and coordinated set of standard formats,    
 92       timing specifications for computer displ    
 93       employing CRTs, and those using other di    
 94       intention of CVT is to give both source     
 95       common set of tools to enable new timing    
 96       consistent manner that ensures greater c    
 97                                                   
 98 This is the third standard approved by VESA(TM    
 99 first was the Discrete Video Timings (DVT) whi    
100 pre-defined modes approved by VESA(TM).  The s    
101 Formula (GTF) which is an algorithm to calcula    
102 pixelclock, the horizontal sync frequency, or     
103                                                   
104 The GTF is limited by the fact that it is desi    
105 It artificially increases the pixelclock becau    
106 requirement. This is inappropriate for digital    
107 data rate which requires that it conserves the    
108 Also, GTF does not take into account the aspec    
109                                                   
110 The CVT addresses these limitations.  If used     
111 is a derivation of GTF with a few modification    
112 displays, the "reduced blanking" calculation c    
113                                                   
114 From the framebuffer subsystem perspective, ne    
115 to the global mode database whenever a new mod    
116 manufacturers. Specifying for CVT will work fo    
117 new CRT displays and probably with most flatpa    
118 calculation is specified.  (The CVT compatibil    
119 determined from its EDID. The version 1.3 of t    
120 blocks where additional timing information is     
121 is no support yet in the layer to parse this a    
122                                                   
123 CVT also introduced a new naming convention (s    
124                                                   
125     <pix>M<a>[-R]                                 
126                                                   
127     where: pix = total amount of pixels in MB     
128            M   = always present                   
129            a   = aspect ratio (3 - 4:3; 4 - 5:    
130           -R   = reduced blanking                 
131                                                   
132           example:  .48M3-R - 800x600 with red    
133                                                   
134 Note: VESA(TM) has restrictions on what is a s    
135                                                   
136       - aspect ratio can only be one of the ab    
137       - acceptable refresh rates are 50, 60, 7    
138       - if reduced blanking, the refresh rate     
139                                                   
140 If one of the above are not satisfied, the ker    
141 timings will still be calculated.                 
142                                                   
143 ----------------------------------------------    
144                                                   
145 To find a suitable video mode, you just call::    
146                                                   
147   int __init fb_find_mode(struct fb_var_screen    
148                           struct fb_info *info    
149                           const struct fb_vide    
150                           const struct fb_vide    
151                           unsigned int default    
152                                                   
153 with db/dbsize your non-standard video mode da    
154 standard video mode database.                     
155                                                   
156 fb_find_mode() first tries the specified video    
157 e.g. there can be multiple 640x480 modes, each    
158 fails, the default mode is tried. If that fail    
159                                                   
160 To specify a video mode at bootup, use the fol    
161                                                   
162     video=<driver>:<xres>x<yres>[-<bpp>][@refr    
163                                                   
164 where <driver> is a name from the table below.    
165 found in drivers/video/fbdev/core/modedb.c.  C    
166 There may be more modes::                         
167                                                   
168     Drivers that support modedb boot options      
169     Boot Name     Cards Supported                 
170                                                   
171     amifb       - Amiga chipset frame buffer      
172     aty128fb    - ATI Rage128 / Pro frame buff    
173     atyfb       - ATI Mach64 frame buffer         
174     pm2fb       - Permedia 2/2V frame buffer      
175     pm3fb       - Permedia 3 frame buffer         
176     sstfb       - Voodoo 1/2 (SST1) chipset fr    
177     tdfxfb      - 3D Fx frame buffer              
178     tridentfb   - Trident (Cyber)blade chipset    
179     vt8623fb    - VIA 8623 frame buffer           
180                                                   
181 BTW, only a few fb drivers use this at the mom    
182 (feel free to send patches). The DRM drivers a    
                                                      

~ [ 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