mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
dc0ad215e5
Initialize all instances of struct fb_ops with fbdev initializer macros for framebuffers in I/O address space. Set the read/write, draw and mmap callbacks to the correct implementation and avoid implicit defaults. Also select the necessary helpers in Kconfig. Fbdev drivers sometimes rely on the callbacks being NULL for a default I/O-memory-based implementation to be invoked; hence requiring the I/O helpers to be built in any case. Setting all callbacks in all drivers explicitly will allow to make the I/O helpers optional. This benefits systems that do not use these functions. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Cc: Teddy Wang <teddy.wang@siliconmotion.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-staging@lists.linux.dev Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patchwork.freedesktop.org/patch/msgid/20231127131655.4020-27-tzimmermann@suse.de |
||
---|---|---|
.. | ||
ddk750_chip.c | ||
ddk750_chip.h | ||
ddk750_display.c | ||
ddk750_display.h | ||
ddk750_dvi.c | ||
ddk750_dvi.h | ||
ddk750_hwi2c.c | ||
ddk750_hwi2c.h | ||
ddk750_mode.c | ||
ddk750_mode.h | ||
ddk750_power.c | ||
ddk750_power.h | ||
ddk750_reg.h | ||
ddk750_sii164.c | ||
ddk750_sii164.h | ||
ddk750_swi2c.c | ||
ddk750_swi2c.h | ||
ddk750.h | ||
Kconfig | ||
Makefile | ||
readme | ||
sm750_accel.c | ||
sm750_accel.h | ||
sm750_cursor.c | ||
sm750_cursor.h | ||
sm750_hw.c | ||
sm750.c | ||
sm750.h | ||
TODO |
Introduction: SM750 of Silicon MOtion is pci express display controller device. The SM750 embedded graphics features include: - dual display - 2D acceleration - 16MB integrated video memory About the kernel module parameter of driver: Use 1280,8bpp index color and 60 hz mode: insmod ./sm750fb.ko g_option="1280x1024-8@60" Disable MTRR,Disable 2d acceleration,Disable hardware cursor, and use a 800x600 mode : insmod ./sm750fb.ko g_option="noaccel:nomtrr:nohwc:800x600" dual frame buffer for driver with "dual" parameter insmod ./sm750fb.ko g_option="dual,800x600:1024x768" it will create fb0 and fb1 (or fb1,fb2 if fb0 already exist) under /dev and user can use con2fb to link fbX and ttyX Notes: 1) if you build the driver with built-in method, the parameter you edited in the grub config file will be also the same format as above modular method,but additionally add "video=sm750fb:" ahead of parameters,so,it looks like: video=sm750fb:noaccel,1280x1024@60,otherparam,etc... it equal to modular method with below command: insmod ./sm750fb.ko g_option="noaccel:1280x1024@60:otherparm:etc..." 2) if you put 800x600 into the parameter without bpp and refresh rate, kernel driver will defaulty use 16bpp and 60hz Important: if you have vesafb enabled in your config then /dev/fb0 will be created by vesafb and this driver will use fb1, fb2. In that case, you need to configure your X-server to use fb1. Another simple althernative is to disable vesafb from your config.