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