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