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. 223