mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:38:03 +00:00
01c0cce88c
Commit95da53d63d
("drm/omapdrm: Use regular fbdev I/O helpers") stopped console from updating for command mode displays because there is no damage handling in fb_sys_write() unlike we had earlier in drm_fb_helper_sys_write(). Let's fix the issue by adding FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS and FB_DMAMEM_HELPERS_DEFERRED as suggested by Thomas. We cannot use the FB_DEFAULT_DEFERRED_OPS as fb_deferred_io_mmap() won't work properly for write-combine. Fixes:95da53d63d
("drm/omapdrm: Use regular fbdev I/O helpers") Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240228063540.4444-3-tony@atomide.com
216 lines
5.7 KiB
Plaintext
216 lines
5.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# fbdev core configuration
|
|
#
|
|
|
|
config FB_CORE
|
|
select VIDEO
|
|
tristate
|
|
|
|
config FB_NOTIFY
|
|
bool
|
|
|
|
config FIRMWARE_EDID
|
|
bool "Enable firmware EDID"
|
|
depends on FB
|
|
help
|
|
This enables access to the EDID transferred from the firmware.
|
|
On the i386, this is from the Video BIOS. Enable this if DDC/I2C
|
|
transfers do not work for your driver and if you are using
|
|
nvidiafb, i810fb or savagefb.
|
|
|
|
In general, choosing Y for this option is safe. If you
|
|
experience extremely long delays while booting before you get
|
|
something on your display, try setting this to N. Matrox cards in
|
|
combination with certain motherboards and monitors are known to
|
|
suffer from this problem.
|
|
|
|
config FB_DEVICE
|
|
bool "Provide legacy /dev/fb* device"
|
|
depends on FB_CORE
|
|
default FB
|
|
help
|
|
Say Y here if you want the legacy /dev/fb* device file and
|
|
interfaces within sysfs anc procfs. It is only required if you
|
|
have userspace programs that depend on fbdev for graphics output.
|
|
This does not affect the framebuffer console. If unsure, say N.
|
|
|
|
config FB_DDC
|
|
tristate
|
|
depends on FB
|
|
select I2C_ALGOBIT
|
|
select I2C
|
|
|
|
config FB_CFB_FILLRECT
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the cfb_fillrect function for generic software rectangle
|
|
filling. This is used by drivers that don't provide their own
|
|
(accelerated) version.
|
|
|
|
config FB_CFB_COPYAREA
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the cfb_copyarea function for generic software area copying.
|
|
This is used by drivers that don't provide their own (accelerated)
|
|
version.
|
|
|
|
config FB_CFB_IMAGEBLIT
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the cfb_imageblit function for generic software image
|
|
blitting. This is used by drivers that don't provide their own
|
|
(accelerated) version.
|
|
|
|
config FB_CFB_REV_PIXELS_IN_BYTE
|
|
bool
|
|
depends on FB_CORE
|
|
help
|
|
Allow generic frame-buffer functions to work on displays with 1, 2
|
|
and 4 bits per pixel depths which has opposite order of pixels in
|
|
byte order to bytes in long order.
|
|
|
|
config FB_SYS_FILLRECT
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the sys_fillrect function for generic software rectangle
|
|
filling. This is used by drivers that don't provide their own
|
|
(accelerated) version and the framebuffer is in system RAM.
|
|
|
|
config FB_SYS_COPYAREA
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the sys_copyarea function for generic software area copying.
|
|
This is used by drivers that don't provide their own (accelerated)
|
|
version and the framebuffer is in system RAM.
|
|
|
|
config FB_SYS_IMAGEBLIT
|
|
tristate
|
|
depends on FB_CORE
|
|
help
|
|
Include the sys_imageblit function for generic software image
|
|
blitting. This is used by drivers that don't provide their own
|
|
(accelerated) version and the framebuffer is in system RAM.
|
|
|
|
config FB_PROVIDE_GET_FB_UNMAPPED_AREA
|
|
bool
|
|
depends on FB
|
|
help
|
|
Allow generic frame-buffer to provide get_fb_unmapped_area
|
|
function to provide shareable character device support on nommu.
|
|
|
|
menuconfig FB_FOREIGN_ENDIAN
|
|
bool "Framebuffer foreign endianness support"
|
|
depends on FB
|
|
help
|
|
This menu will let you enable support for the framebuffers with
|
|
non-native endianness (e.g. Little-Endian framebuffer on a
|
|
Big-Endian machine). Most probably you don't have such hardware,
|
|
so it's safe to say "n" here.
|
|
|
|
choice
|
|
prompt "Choice endianness support"
|
|
depends on FB_FOREIGN_ENDIAN
|
|
|
|
config FB_BOTH_ENDIAN
|
|
bool "Support for Big- and Little-Endian framebuffers"
|
|
|
|
config FB_BIG_ENDIAN
|
|
bool "Support for Big-Endian framebuffers only"
|
|
|
|
config FB_LITTLE_ENDIAN
|
|
bool "Support for Little-Endian framebuffers only"
|
|
|
|
endchoice
|
|
|
|
config FB_SYSMEM_FOPS
|
|
tristate
|
|
depends on FB_CORE
|
|
|
|
config FB_DEFERRED_IO
|
|
bool
|
|
depends on FB_CORE
|
|
|
|
config FB_DMAMEM_HELPERS
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_SYS_COPYAREA
|
|
select FB_SYS_FILLRECT
|
|
select FB_SYS_IMAGEBLIT
|
|
select FB_SYSMEM_FOPS
|
|
|
|
config FB_DMAMEM_HELPERS_DEFERRED
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_DEFERRED_IO
|
|
select FB_DMAMEM_HELPERS
|
|
|
|
config FB_IOMEM_FOPS
|
|
tristate
|
|
depends on FB_CORE
|
|
|
|
config FB_IOMEM_HELPERS
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_CFB_COPYAREA
|
|
select FB_CFB_FILLRECT
|
|
select FB_CFB_IMAGEBLIT
|
|
select FB_IOMEM_FOPS
|
|
|
|
config FB_IOMEM_HELPERS_DEFERRED
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_DEFERRED_IO
|
|
select FB_IOMEM_HELPERS
|
|
|
|
config FB_SYSMEM_HELPERS
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_SYS_COPYAREA
|
|
select FB_SYS_FILLRECT
|
|
select FB_SYS_IMAGEBLIT
|
|
select FB_SYSMEM_FOPS
|
|
|
|
config FB_SYSMEM_HELPERS_DEFERRED
|
|
bool
|
|
depends on FB_CORE
|
|
select FB_DEFERRED_IO
|
|
select FB_SYSMEM_HELPERS
|
|
|
|
config FB_BACKLIGHT
|
|
tristate
|
|
depends on FB
|
|
select BACKLIGHT_CLASS_DEVICE
|
|
|
|
config FB_MODE_HELPERS
|
|
bool "Enable Video Mode Handling Helpers"
|
|
depends on FB
|
|
help
|
|
This enables functions for handling video modes using the
|
|
Generalized Timing Formula and the EDID parser. A few drivers rely
|
|
on this feature such as the radeonfb, rivafb, and the i810fb. If
|
|
your driver does not take advantage of this feature, choosing Y will
|
|
just increase the kernel size by about 5K.
|
|
|
|
config FB_TILEBLITTING
|
|
bool "Enable Tile Blitting Support"
|
|
depends on FB
|
|
help
|
|
This enables tile blitting. Tile blitting is a drawing technique
|
|
where the screen is divided into rectangular sections (tiles), whereas
|
|
the standard blitting divides the screen into pixels. Because the
|
|
default drawing element is a tile, drawing functions will be passed
|
|
parameters in terms of number of tiles instead of number of pixels.
|
|
For example, to draw a single character, instead of using bitmaps,
|
|
an index to an array of bitmaps will be used. To clear or move a
|
|
rectangular section of a screen, the rectangle will be described in
|
|
terms of number of tiles in the x- and y-axis.
|
|
|
|
This is particularly important to one driver, matroxfb. If
|
|
unsure, say N.
|