Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# fbdev core configuration
4#
5
6config FB_CORE
7 select VIDEO
8 tristate
9
10config FB_NOTIFY
11 bool
12
13config FIRMWARE_EDID
14 bool "Enable firmware EDID"
15 depends on FB
16 help
17 This enables access to the EDID transferred from the firmware.
18 On the i386, this is from the Video BIOS. Enable this if DDC/I2C
19 transfers do not work for your driver and if you are using
20 nvidiafb, i810fb or savagefb.
21
22 In general, choosing Y for this option is safe. If you
23 experience extremely long delays while booting before you get
24 something on your display, try setting this to N. Matrox cards in
25 combination with certain motherboards and monitors are known to
26 suffer from this problem.
27
28config FB_DEVICE
29 bool "Provide legacy /dev/fb* device"
30 depends on FB_CORE
31 default FB
32 help
33 Say Y here if you want the legacy /dev/fb* device file and
34 interfaces within sysfs anc procfs. It is only required if you
35 have userspace programs that depend on fbdev for graphics output.
36 This does not affect the framebuffer console. If unsure, say N.
37
38config FB_DDC
39 tristate
40 depends on FB
41 select I2C_ALGOBIT
42 select I2C
43
44config FB_CFB_FILLRECT
45 tristate
46 depends on FB_CORE
47 help
48 Include the cfb_fillrect function for generic software rectangle
49 filling. This is used by drivers that don't provide their own
50 (accelerated) version.
51
52config FB_CFB_COPYAREA
53 tristate
54 depends on FB_CORE
55 help
56 Include the cfb_copyarea function for generic software area copying.
57 This is used by drivers that don't provide their own (accelerated)
58 version.
59
60config FB_CFB_IMAGEBLIT
61 tristate
62 depends on FB_CORE
63 help
64 Include the cfb_imageblit function for generic software image
65 blitting. This is used by drivers that don't provide their own
66 (accelerated) version.
67
68config FB_CFB_REV_PIXELS_IN_BYTE
69 bool
70 depends on FB_CORE
71 help
72 Allow I/O memory frame-buffer functions to work on displays with 1, 2
73 and 4 bits per pixel depths which has opposite order of pixels in
74 byte order to bytes in long order.
75
76config FB_SYS_FILLRECT
77 tristate
78 depends on FB_CORE
79 help
80 Include the sys_fillrect function for generic software rectangle
81 filling. This is used by drivers that don't provide their own
82 (accelerated) version and the framebuffer is in system RAM.
83
84config FB_SYS_COPYAREA
85 tristate
86 depends on FB_CORE
87 help
88 Include the sys_copyarea function for generic software area copying.
89 This is used by drivers that don't provide their own (accelerated)
90 version and the framebuffer is in system RAM.
91
92config FB_SYS_IMAGEBLIT
93 tristate
94 depends on FB_CORE
95 help
96 Include the sys_imageblit function for generic software image
97 blitting. This is used by drivers that don't provide their own
98 (accelerated) version and the framebuffer is in system RAM.
99
100config FB_SYS_REV_PIXELS_IN_BYTE
101 bool
102 depends on FB_CORE
103 help
104 Allow virtual memory frame-buffer functions to work on displays with 1, 2
105 and 4 bits per pixel depths which has opposite order of pixels in
106 byte order to bytes in long order.
107
108config FB_PROVIDE_GET_FB_UNMAPPED_AREA
109 bool
110 depends on FB
111 help
112 Allow generic frame-buffer to provide get_fb_unmapped_area
113 function to provide shareable character device support on nommu.
114
115menuconfig FB_FOREIGN_ENDIAN
116 bool "Framebuffer foreign endianness support"
117 depends on FB
118 help
119 This menu will let you enable support for the framebuffers with
120 non-native endianness (e.g. Little-Endian framebuffer on a
121 Big-Endian machine). Most probably you don't have such hardware,
122 so it's safe to say "n" here.
123
124choice
125 prompt "Choice endianness support"
126 depends on FB_FOREIGN_ENDIAN
127
128config FB_BOTH_ENDIAN
129 bool "Support for Big- and Little-Endian framebuffers"
130
131config FB_BIG_ENDIAN
132 bool "Support for Big-Endian framebuffers only"
133
134config FB_LITTLE_ENDIAN
135 bool "Support for Little-Endian framebuffers only"
136
137endchoice
138
139config FB_SYSMEM_FOPS
140 tristate
141 depends on FB_CORE
142
143config FB_DEFERRED_IO
144 bool
145 depends on FB_CORE
146
147config FB_DMAMEM_HELPERS
148 bool
149 depends on FB_CORE
150 select FB_SYS_COPYAREA
151 select FB_SYS_FILLRECT
152 select FB_SYS_IMAGEBLIT
153 select FB_SYSMEM_FOPS
154
155config FB_DMAMEM_HELPERS_DEFERRED
156 bool
157 depends on FB_CORE
158 select FB_DEFERRED_IO
159 select FB_DMAMEM_HELPERS
160
161config FB_IOMEM_FOPS
162 tristate
163 depends on FB_CORE
164
165config FB_IOMEM_HELPERS
166 bool
167 depends on FB_CORE
168 select FB_CFB_COPYAREA
169 select FB_CFB_FILLRECT
170 select FB_CFB_IMAGEBLIT
171 select FB_IOMEM_FOPS
172
173config FB_IOMEM_HELPERS_DEFERRED
174 bool
175 depends on FB_CORE
176 select FB_DEFERRED_IO
177 select FB_IOMEM_HELPERS
178
179config FB_SYSMEM_HELPERS
180 bool
181 depends on FB_CORE
182 select FB_SYS_COPYAREA
183 select FB_SYS_FILLRECT
184 select FB_SYS_IMAGEBLIT
185 select FB_SYSMEM_FOPS
186
187config FB_SYSMEM_HELPERS_DEFERRED
188 bool
189 depends on FB_CORE
190 select FB_DEFERRED_IO
191 select FB_SYSMEM_HELPERS
192
193config FB_BACKLIGHT
194 bool
195 depends on FB
196
197config FB_MODE_HELPERS
198 bool "Enable Video Mode Handling Helpers"
199 depends on FB
200 help
201 This enables functions for handling video modes using the
202 Generalized Timing Formula and the EDID parser. A few drivers rely
203 on this feature such as the radeonfb, rivafb, and the i810fb. If
204 your driver does not take advantage of this feature, choosing Y will
205 just increase the kernel size by about 5K.
206
207config FB_TILEBLITTING
208 bool "Enable Tile Blitting Support"
209 depends on FB
210 help
211 This enables tile blitting. Tile blitting is a drawing technique
212 where the screen is divided into rectangular sections (tiles), whereas
213 the standard blitting divides the screen into pixels. Because the
214 default drawing element is a tile, drawing functions will be passed
215 parameters in terms of number of tiles instead of number of pixels.
216 For example, to draw a single character, instead of using bitmaps,
217 an index to an array of bitmaps will be used. To clear or move a
218 rectangular section of a screen, the rectangle will be described in
219 terms of number of tiles in the x- and y-axis.
220
221 This is particularly important to one driver, matroxfb. If
222 unsure, say N.