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