linux/drivers/staging/sm750fb
Huacai Chen 33c027ae3c staging: sm750fb: Fix bugs introduced by early commits
Early commit 30ca5cb63c ("staging: sm750fb: change definition of
PANEL_PLANE_TL fields") and 27b047bbe1 ("staging: sm750fb: change
definition of PANEL_PLANE_BR fields") modify the register bit fields
definitions. But the modifications are wrong, because the bit mask of
"bit field 10:0" is not 0xeff, but 0x7ff. The wrong definition bugs
makes display very strange.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: stable <stable@vger.kernel.org> # 4.6+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-07 10:27:40 +01:00
..
ddk750_chip.c staging: sm750fb: replace roundedDiv with DIV_ROUND_CLOSEST 2016-10-02 16:52:46 +02:00
ddk750_chip.h staging: sm750fb: rename getChipType to sm750_get_chip_type 2016-09-27 13:08:05 +02:00
ddk750_display.c Staging: sm750fb: Remove unnecessary blank line 2016-09-16 09:45:16 +02:00
ddk750_display.h staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
ddk750_dvi.c staging: sm750fb: Fix block comment style 2016-08-21 18:08:29 +02:00
ddk750_dvi.h Staging: sm750fb: Remove unused functions 2016-03-11 22:09:09 -08:00
ddk750_help.c
ddk750_help.h staging: sm750fb: remove sm750_help.h 2016-02-20 15:33:00 -08:00
ddk750_hwi2c.c staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
ddk750_hwi2c.h
ddk750_mode.c staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
ddk750_mode.h
ddk750_power.c staging: sm750fb: rename getChipType to sm750_get_chip_type 2016-09-27 13:08:05 +02:00
ddk750_power.h staging: sm750fb: use BIT macro for MISC_CTRL single-bit fields 2016-02-07 18:51:36 -08:00
ddk750_reg.h staging: sm750fb: Fix bugs introduced by early commits 2016-11-07 10:27:40 +01:00
ddk750_sii164.c staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
ddk750_sii164.h staging: sm750fb, fix typos 2016-02-07 18:53:35 -08:00
ddk750_swi2c.c staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
ddk750_swi2c.h
ddk750.h
Kconfig
Makefile
readme
sm750_accel.c staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
sm750_accel.h staging: sm750: change definition of multi-bit register fields 2016-02-20 15:33:00 -08:00
sm750_cursor.c staging: sm750fb: Remove Unused macro 2016-03-11 22:09:09 -08:00
sm750_cursor.h
sm750_hw.c staging: sm750fb: rename getChipType to sm750_get_chip_type 2016-09-27 13:08:05 +02:00
sm750.c staging: sm750fb: Change 'x != NULL' to 'x' 2016-09-16 09:49:56 +02:00
sm750.h staging: sm750fb: conform to block comment style 2016-10-02 16:51:56 +02:00
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.