summaryrefslogtreecommitdiffstats
path: root/Documentation/driver-api/frame-buffer.rst
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2016-08-20 15:17:32 -0400
committerJonathan Corbet <corbet@lwn.net>2016-08-22 16:42:08 -0400
commitdcec3c8c9aea9e779c59f420465381c0f3322913 (patch)
treef8752c216e37a44941af6a16fda595c0fa4dde0d /Documentation/driver-api/frame-buffer.rst
parent47cb398dd75a9faa89d0617b55d4cf537935b731 (diff)
docs: split up the driver book
We don't need to keep it as a single large file anymore; split it up so that it is easier to manage and the individual sections can be read directly as plain files. Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/driver-api/frame-buffer.rst')
-rw-r--r--Documentation/driver-api/frame-buffer.rst62
1 files changed, 62 insertions, 0 deletions
diff --git a/Documentation/driver-api/frame-buffer.rst b/Documentation/driver-api/frame-buffer.rst
new file mode 100644
index 000000000000..9dd3060f027d
--- /dev/null
+++ b/Documentation/driver-api/frame-buffer.rst
@@ -0,0 +1,62 @@
1Frame Buffer Library
2====================
3
4The frame buffer drivers depend heavily on four data structures. These
5structures are declared in include/linux/fb.h. They are fb_info,
6fb_var_screeninfo, fb_fix_screeninfo and fb_monospecs. The last
7three can be made available to and from userland.
8
9fb_info defines the current state of a particular video card. Inside
10fb_info, there exists a fb_ops structure which is a collection of
11needed functions to make fbdev and fbcon work. fb_info is only visible
12to the kernel.
13
14fb_var_screeninfo is used to describe the features of a video card
15that are user defined. With fb_var_screeninfo, things such as depth
16and the resolution may be defined.
17
18The next structure is fb_fix_screeninfo. This defines the properties
19of a card that are created when a mode is set and can't be changed
20otherwise. A good example of this is the start of the frame buffer
21memory. This "locks" the address of the frame buffer memory, so that it
22cannot be changed or moved.
23
24The last structure is fb_monospecs. In the old API, there was little
25importance for fb_monospecs. This allowed for forbidden things such as
26setting a mode of 800x600 on a fix frequency monitor. With the new API,
27fb_monospecs prevents such things, and if used correctly, can prevent a
28monitor from being cooked. fb_monospecs will not be useful until
29kernels 2.5.x.
30
31Frame Buffer Memory
32-------------------
33
34.. kernel-doc:: drivers/video/fbdev/core/fbmem.c
35 :export:
36
37Frame Buffer Colormap
38---------------------
39
40.. kernel-doc:: drivers/video/fbdev/core/fbcmap.c
41 :export:
42
43Frame Buffer Video Mode Database
44--------------------------------
45
46.. kernel-doc:: drivers/video/fbdev/core/modedb.c
47 :internal:
48
49.. kernel-doc:: drivers/video/fbdev/core/modedb.c
50 :export:
51
52Frame Buffer Macintosh Video Mode Database
53------------------------------------------
54
55.. kernel-doc:: drivers/video/fbdev/macmodes.c
56 :export:
57
58Frame Buffer Fonts
59------------------
60
61Refer to the file lib/fonts/fonts.c for more information.
62