linux/drivers/staging/sm750fb
Dhananjay Balan 97af1ce278 drivers: staging: sm750: Hold lock irrespective of fb numbers.
Start holding the lock for all cases irrespective of number of fb,
there could be a deadlock since this number could change in the
lifetime of this lock

Signed-off-by: Dhananjay Balan <mail@dbalan.in>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29 16:38:50 +02:00
..
ddk750_chip.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_chip.h staging: sm750fb: Add identifier to function definition argument. 2017-03-06 09:17:06 +01:00
ddk750_display.c staging: sm750fb: ddk750_display.c - fixed checkpatch warning: line over 80 chars 2017-04-08 17:00:51 +02:00
ddk750_display.h staging: sm750fb: function prototype argument should have an identifier name 2017-03-14 07:57:53 +08:00
ddk750_dvi.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_dvi.h staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_hwi2c.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_hwi2c.h staging: sm750fb: ddk750_*i2c: shorten lines to under 80 characters 2015-09-14 08:50:47 -07:00
ddk750_mode.c staging: sm750fb: Remove typedef from "typedef struct _mode_parameter_t" 2017-03-23 14:23:19 +01:00
ddk750_mode.h staging: sm750fb: Remove typedef from "typedef enum _spolarity_t" 2017-03-23 14:23:19 +01:00
ddk750_power.c staging: sm750fb: Remove unnecessary blank lines. 2017-03-06 09:17:06 +01:00
ddk750_power.h staging: sm750fb: function prototype argument should have an identifier name 2017-03-14 07:57:53 +08:00
ddk750_reg.h staging: sm750fb: Remove unnecessary blank lines. 2017-03-06 09:17:06 +01:00
ddk750_sii164.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_sii164.h staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_swi2c.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750_swi2c.h staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
ddk750.h staging: sm750fb: restructure multi-line comments to follow CodingStyle 2016-10-25 10:56:17 +02:00
Kconfig staging: sm750fb: Add missing Kconfig dependency 2015-06-08 13:26:30 -07:00
Makefile staging: sm750fb: Merge ddk750_help.* into ddk750_chip.*. 2016-10-16 10:26:18 +02:00
readme
sm750_accel.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
sm750_accel.h staging: sm750fb: prefix global identifiers 2016-11-10 13:55:03 +01:00
sm750_cursor.c staging: sm750fb: fix length of lines, function calls and declaration 2017-05-18 15:57:25 +02:00
sm750_cursor.h staging: sm750fb: prefix global identifiers 2016-11-10 13:55:03 +01:00
sm750_hw.c staging: sm750fb: Remove typedef from "typedef struct _mode_parameter_t" 2017-03-23 14:23:19 +01:00
sm750.c drivers: staging: sm750: Hold lock irrespective of fb numbers. 2017-06-29 16:38:50 +02:00
sm750.h staging: sm750fb - add parameter names 2017-06-25 16:31:21 +02:00
TODO staging: sm750: Fix lynxfb_ops_imageblit() if image->depth != 1 2015-05-24 13:34:49 -07:00

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.