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