Commit graph

528 commits

Author SHA1 Message Date
Aaro Koskinen 98f4eade14 staging: xgifb: setup initial video RAM size for systems without BIOS
On embedded systems without a BIOS, the DRAM sizing register is 0 after
the boot, and the driver thinks we have only 1 MB video memory. On such
cases, use the PCI window size for the initial size. This information
is needed only to create the I/O mapping - the driver will later detect
and configure the memory size correctly. Limit the size to 16 MB as it
should be sufficient for all supported video modes.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-13 20:41:56 -07:00
Aaro Koskinen 6b2a7e0c9b staging: xgifb: prevent video RAM size exceeding PCI window size
Add a sanity check for the video RAM size. It should fit into the
PCI window.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-12 09:47:09 -07:00
Aaro Koskinen a09f347c6c staging: xgifb: validate the mode against video memory size
It's possible to select video mode that exceeds the available video
memory. This is potentially dangerous, fix by adding a check.

The patch fixes system hangs seen occasionally when playing random videos
with mplayer.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-12 09:45:58 -07:00
Aaro Koskinen a7e46d8b5c staging: xgifb: delete redundant casts
Delete some redundant casts.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen e8cb03d422 staging: xgifb: use correct type for VBVCLKData
Use correct type to eliminate casting.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen 8951dadc97 staging: xgifb: delete ISXPDOS
Delete unneeded flag.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen d21222d186 staging: xgifb: mark constant data with const
Mark some data tables as const.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen 073b61e8c1 staging: xgifb: access static data tables directly
Access some data tables directly instead of using pointers.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen d3ae5762c6 staging: xgifb: use "else if"
Use "else if" when possible to reduce nesting.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen 14f7c11187 staging: xgifb: delete XGI_LCDDataTablStruct
Delete an unused structure.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen 898df16401 staging: xgifb: delete LCDLenList
LCDLenList is redundant. It's only used for modifying a write-only stack
variable. Delete also related #defines.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen 378fd8a582 staging: xgifb: XGI_GetLcdPtr: delete dead code
Only table values 0..5 are ever used.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:17 -07:00
Aaro Koskinen bc9ffcc2c6 staging: xgifb: delete Chrontel 7017 LCD data
Delete unused Chrontel 7017 LCD data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 18ba866bb4 staging: xgifb: use a real pointer for TV DATAPTR
Replace DATAPTR numbers with a real pointer to make code simpler.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 2457254560 staging: xgifb: use proper typing for TV data
There's a dangerous cast from XGI330_TVDataStruct to SiS_TVData. Use
SiS_TVData everywhere, also the data can be made const.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 6265ee4c0b staging: xgifb: delete Chrontel TV data
Delete unused Chrontel TV data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 56d276cad4 staging: xgifb: XGI_GetTVPtr: drop the table parameter
Only one TV data table is used by the driver, delete unneeded complexity.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 4c047ac461 staging: xgifb: avoid copy-pasting LCD data
Share the common data tables instead of having the same data in multiple
tables.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 4d8f5ca7d2 staging: xgifb: delete redundant chip type check
All chip type values are covered by (chip >= XG20 || chip >= XG40).

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen c62c517e51 staging: xgifb: delete some unused #defines
Delete some unused #defines.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 31fb40fd13 staging: xgifb: delete IF_DEF_LCDA
IF_DEF_LCDA is always true.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:16 -07:00
Aaro Koskinen 6e90d0570d staging: xgifb: delete IF_DEF_ExpLink
Delete a flag which is never set.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:15 -07:00
Aaro Koskinen 886230c12d staging: xgifb: replace XGI_XG21SetPanelDelay() with mdelay()
Eliminate a trivial wrapper function.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:15 -07:00
Aaro Koskinen 2fd002bc7b staging: xgifb: document some LVDS data delay values
Document some delay values based on the comments in
XGI_XG21SetPanelDelay().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 15:48:15 -07:00
Dan Carpenter 2f123cbcf0 Staging: xgifb: fix bitwise vs logical bug
This is a static checker fix and not something I can test.  The intent
of the code here is to set some bit flags.  For a logical OR the ">> 1"
shift wouldn't make a difference.  So it should be using a bitwise OR.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-14 16:46:33 -07:00
Andy Shevchenko 977310bbc3 staging: xgifb: print small buffers via %*ph
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-08-13 19:23:18 -07:00
Miguel Gómez f6002041af Staging: xgifb: Remove useless condition.
Remove last if branch in XGIfb_do_set_var(), as it has no action assigned.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:32 -07:00
Miguel Gómez 3bcc246016 Staging: xgifb: Fix coding style.
Fix small coding style warnings in several files.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:32 -07:00
Miguel Gómez e123e46630 Staging: xgifb: Rework some conditions in XGI_SetCRT2ModeRegs().
Rework some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:31 -07:00
Miguel Gómez b1bf998c67 Staging: xgifb: Rework conditions in XGI_EnableBridge().
Rework some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:31 -07:00
Miguel Gómez 470c533896 Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Rework some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:31 -07:00
Miguel Gómez 3339db8a0c Staging: xgifb: Refactor XGI_GetCRT2ResInfo().
Use a goto to remove one level of indentation, fixing style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:31 -07:00
Miguel Gómez f93173515f Staging: xgifb: Rework conditions in XGI_GetVBInfo().
Rework some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:30 -07:00
Miguel Gómez 7eec23a7b3 Staging: xgifb: Refactor XGI_GetVBType().
Refactor XGI_GetVBType() to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:30 -07:00
Miguel Gómez 3b175621a2 Staging: xgifb: Refactor XGI_AjustCRT2Rate().
Refactor some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:30 -07:00
Miguel Gómez 661a6384f8 Staging: xgifb: Rework conditions in XGI_SetATTRegs().
Rework some conditions to reduce indentation and fix style warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:30 -07:00
Miguel Gómez 8afb7d3528 Staging: xgifb: Remove useless always true condition.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:29 -07:00
Miguel Gómez 4362f5becd Staging: xgifb: Remove unneeded var and condition in XGIfb_search_vesamode().
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:29 -07:00
Miguel Gómez 791fef1b30 Staging: xgifb: Simplify XGIfb_GetXG21DefaultLVDSModeIdx().
Simplify the code and make it more readable.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:29 -07:00
Miguel Gómez 1cd1703081 Staging: xgifb: Remove useless switch in XGIfb_detect_VB().
The switch performs no action so it can be removed.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:29 -07:00
Miguel Gómez be25aef0ca Staging: xgifb: Improve debug strings.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:28 -07:00
Miguel Gómez 61439fa873 Staging: xgifb: Remove unused struct _chswtable.
Struct _chswtable and the variable mychswtable are not used anywhere, so remove
them.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:28 -07:00
Miguel Gómez 469b43c0a6 Staging: xgifb: Remove LCDA detection in xgifb_probe().
The piece of code that checks for LCDA in xgifb_probe() just checks for some
register values but doesn't really do anything in response to them (the actions
that should be executed are commented).
As nothing is really being done, the code can be safely removed.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:28 -07:00
Miguel Gómez c2dd691eed Staging: xgifb: Remove unneeded XGI_LCD_TYPE enumeration.
LCD_TYPEs are taken from drivers/video/sis/sis.h, so this enumeration is not
needed.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:27 -07:00
Miguel Gómez 949eb0aeb9 Staging: xgifb: Comment cleaning.
Remove commented code and useless comments. Leave only those with relevant
hints to the code.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-07-11 16:59:27 -07:00
Miguel Gómez 1918570388 Staging: xgifb: Replace pr_* with dev_* when possible.
Replace pr_* calls with dev_* ones when the device structure is available.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:21 -07:00
Miguel Gómez e054102b9f Staging: xgifb: Fix sparse warnings.
Add include files with function definitions to avoid sparse warnings.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:21 -07:00
Miguel Gómez 448810662a Staging: xgifb: Remove printk usage.
Replace meaninful printks with pr_debug and remove useless ones.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:21 -07:00
Miguel Gómez 47cee13d1d Staging: xgifb: Remove XGIFAIL() macro and its calls.
XGIFAIL() prints a message and returns a value, but it's used only in one
place. Better remove it and replace the call with the macro content.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:20 -07:00
Miguel Gómez 96cd1f8b41 Staging: xgifb: define real dumpVGAReg() content only in DEBUG mode.
Define real content of dumpVGAReg() only in debug mode. Remove old condition.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:20 -07:00
Miguel Gómez d56b4c3dff Staging: xgifb: remove DPRINTK() macro and replace it with pr_debug.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:20 -07:00
Miguel Gómez 67c0bf7ac7 Staging: xgifb: remove DEBUGPRN() macro and its uses.
Remove DEBUGPRN() macro which is defined as empty.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:20 -07:00
Miguel Gómez 560e8788eb Staging: xgifb: reformat module parameter descriptions.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-18 17:20:20 -07:00
Peter Huewe 6d12dae47e staging/xgifb: Cleanup vb_device_info struct
This patch cleans up the vb_device_info struct and the related
functions.
The cleanup decreases the size of the compiled module by
about 10kB.

== Remove fields in vb_device_info that are never read: ==
pOutputSelect
pRGBSenseData
pRGBSenseData2
pVideoSenseData
pVideoSenseData2
pYCSenseData
pYCSenseData2
CR49
pXGINew_I2CDefinition
pCR2E
pCR2F
pCR46
pCR47
pCRD0
pCRDE
pSR40
pSR41
pCR47

=== Remove the corresponding 'constants' ===
XGI330_RGBSenseData
XGI330_RGBSenseData2
XGI330_VideoSenseData
XGI330_VideoSenseData2
XGI330_YCSenseData
XGI330_YCSenseData2
XGI330_CR49
XG40_I2CDefinition
XG21_CR2E
XG21_CR2F
XG21_CR46
XG21_CR47
XG27_CRD0
XG27_CRDE
XGI330_OutputSelect

== Remove 'constant fields' and replace constant value with #define ==
pSR07 = XGI330_SR07 -> 0x18
pSR1F = XGI330_SR1F -> 0
pSR23 = XGI330_SR23 -> 0xf6
pSR24 = XGI330_SR24 -> 0x0d
pSR33 = XGI330_SR33 ->0
pCRT2Data_1_2 = XGI330_CRT2Data_1_2 -> 0
pCRT2Data_4_D = XGI330_CRT2Data_4_D -> 0
pCRT2Data_4_E = XGI330_CRT2Data_4_E -> 0
pCRT2Data_4_10 = XGI330_CRT2Data_4_10 -> 0x80
pSR36 = XG27_SR36 -> 0x30
pCR8F = &XG27_CR8F -> 0x0C
pSR40 = XG27_SR40 -> 0x04
pSR41 = XG27_SR41 ->0x00
pSR31 = XGI330_SR31 -> 0xc0
pSR32 = XGI330_SR32 -> 0xc0
SR25 = XGI330_sr25 -> 0 (we only use XGI330_sr25[0])

== Constant fields with 'dead' code: ==
pSoftSetting is set to XGI330_SoftSetting = 0x30
-> if (*pVBInfo->pSoftSetting & SoftDRAMType) is never true since
SoftDRAMType = 0x80
-> if (*pVBInfo->pSoftSetting & ModeSoftSetting) is never true since
ModeSoftSetting = 0x04
--> remove the code, remove pSoftSetting, remove XGI330_SoftSetting

pDVOSetting is set to XG21_DVOSetting = 0
-> if (((*pVBInfo->pDVOSetting) & 0xC0) == 0xC0) is never true
--> remove the code, remove pDVOSetting, remove XG21_DVOSetting

pXGINew_DRAMTypeDefinition is set to &XG40_DRAMTypeDefinition 0xFF
-> if (*pVBInfo->pXGINew_DRAMTypeDefinition != 0x0C) is always true
--> remove the if and remove pXGINew_DRAMTypeDefinition
remove XG40_DRAMTypeDefinition

== Replace pointer to unsigned char with unsigned char variable
and assign value of referenced pointer: ==
pSR21 -> SR21, remove XGI330_SR21
pSR22 -> SR22, remove XGI330_SR22
pXGINew_CR97 -> XGINew_CR97, remove XG20_CR97, XG27_CR97 and Z11m_CR97

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:43 -07:00
Peter Huewe 51f984bc06 staging/xgifb: Use SiS structs
This patch replaces some of the XGI internal structs by their
counterparts in the SiS driver.
XGI330_LVDSDataStruct -> SiS_LVDSData
XGI330_LCDDataStruct -> SiS_LCDData
XGI330_CHTVDataStruct -> SiS_LVDSData

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:43 -07:00
Peter Huewe 03f76fc617 staging/xgifb: Replace delay lookup tables with constant values
For TV Devices:
The values taken from XGI_TVDelayList are always overwritten with the
values from XGI_TVDelayList2 since the if condition for using the values
from XGI_TVDelayList2 is identical with the check to enter this scope and
thus always true.
The delay values in XGI_TVDelayList2 is always 0x22 so we
can simply replace it with this constant value.

For LCD Devices:
The LCD_DelayCompensation field is always set to 0x12 so we can simply
replace this field with a constant value.

This saves about 500 bytes in compiled size.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:43 -07:00
Peter Huewe 64e2498b6c staging/xgifb: Remove useless function XGI_CloseCRTC
Since XGI_CloseCRTC does not perform anything useful we can simply
remove it.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:42 -07:00
Peter Huewe 950725920a staging/xgifb: Simplyfy XGI_GetVCLK2Ptr a bit
This patch simplyfies the XGI_GetVCLK2Ptr a bit by moving the +=25 to
a define and removing statements without effect.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:42 -07:00
Peter Huewe f477d3e6bb staging/xgifb: Replace constant arrays with constant values
This patch removes the arrays in XGI_GetVCLK2Ptr which each contain only
one value four times and replaces them with their constant value.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:42 -07:00
Peter Huewe d6461e49c0 staging/xgifb: Remove unnecessary fields of XGINew_DDRDRAM_TYPE{340, 20}
Since the first three entries in XGINew_DDRDRAM_TYPE{340,20} are never
used, we can simply remove them;
and instead of passing XGINew_DDRDRAM_TYPE with an index we can simply
pass the value directly to XGINew_SetDRAMSize20Reg.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:42 -07:00
Peter Huewe 4e55d0b3ee staging/xgifb: Inline XGINew_SetDRAMSizingType
Since the function XGINew_SetDRAMSizingType is only called from one
location and consist only of 2 valuable lines we can simply inline it
here.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:41 -07:00
Peter Huewe 672f5ee27e staging/xgifb: Remove duplicated code from XGINew_DDRSizing340
Since XGINew_SetDRAMSize20Reg now handles both cases we can remove
the code duplication in XGINew_DDRSizing340.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:41 -07:00
Peter Huewe 391f695b90 staging/xgifb: Consolidate XGINew_SetDRAMSize{,20}Reg
This patch consolidates the almost identical functions
XGINew_SetDRAMSizeReg and XGINew_SetDRAMSize20Reg as they are
implemented identically except one division factor.

The changed factor is now reflected in the input data.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:15:41 -07:00
Peter Huewe f3ca589baf staging/xgifb: Remove superfluous header includes
This patch removes all unnecessary, redundant and superfluous header
includes from xgifb.

Tested on hp t5325 (XGI Z11)

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:14:49 -07:00
Peter Huewe ac326fb96b staging/xgifb: Add header #include guards to vb_table.h
This patch adds a simple #include guard to vb_table.h

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:13:22 -07:00
Peter Huewe 95649c425f staging/xgifb: Add mutext for fb_mmap locking
This adds a mutex for fb_mmap around smem_start and smem_len
so the mutex inside the fb_mmap() is actually used.  Changing of
these fields before calling the framebuffer_register() are not mutexed.

We check whether framebuffer_register has been called by reading
fbinfo->count.

See 537a1bf0 - "fbdev: add mutex for fb_mmap locking" by Krzysztof Helt
for details.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:13:22 -07:00
Peter Huewe 176f7842a8 staging/xgifb: Remove assignments without effect
This patch removes assignments to the fb_fix_screeninfo struct which are
overwritten by the memset in XGIfb_get_fix() a few lines later.
Since the name/id might be useful this was moved to XGIfb_get_fix().

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-13 17:13:21 -07:00
Miguel Gómez bf55b48371 Staging: xgifb: disable pci device on pci remove function.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-11 17:02:12 -07:00
Miguel Gómez 05e06036dd Staging: xgifb: disable pci device if there's an error after enabling it.
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-11 17:02:12 -07:00
Miguel Gómez d049053ef0 Staging: xgifb: reorder the code a bit to be more module friendly
Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-11 17:02:11 -07:00
Miguel Gómez f059077388 Staging: xgifb: Remove #ifdef MODULE
Check for MODULE is not needed. In a static compilation the parameters
definition is valid and module_exit() does nothing.

Signed-off-by: Miguel Gómez <magomez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-11 17:02:11 -07:00
Greg Kroah-Hartman d210267741 Merge 3.4-rc5 into staging-next
This resolves the conflict in:
	drivers/staging/vt6656/ioctl.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-05-02 11:48:07 -07:00
Aaro Koskinen 6c0965fd7b staging: xgifb: inline XGI_GetResInfo()
Inline a trivial function.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:09 -07:00
Aaro Koskinen d00d12f87a staging: xgifb: eliminate redundant struct definition
Replace XGI330_LCDDataDesStruct with identical XGI_LCDDesStruct.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:09 -07:00
Aaro Koskinen 354f49fa12 staging: xgifb: delete VB_ExtTVEdgeIndex
Delete VB_ExtTVEdgeIndex. It's 0 for all video modes.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:09 -07:00
Aaro Koskinen 36ae035b45 staging: xgifb: delete VB_ExtTVFlickerIndex
Delete VB_ExtTVFlickerIndex. It's 0 for all video modes.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen 66f38592a0 staging: xgifb: XGI_ExtStruct: delete unused fields
Delete unused struct fields.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen 1bb52cc9d5 staging: xgifb: delete legacy DAC data
Delete DAC data for unsupported legacy modes.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen a157961ca4 staging: xgifb: delete StandTableIndex parameters
Delete unused function parameters.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen fb60d0c4f7 staging: xgifb: truncate XGI330_StandTable
Only single element from XGI330_StandTable is used, so the array can be
truncated.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen 969f7f3b1d staging: xgifb: delete code for EGA or lower modes
All supported modes have ModeType > 2.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen ace1055e5e staging: xgifb: delete SModeIDTable
Delete unused data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:08 -07:00
Aaro Koskinen 34c13ee2b6 staging: xgifb: drop code for legacy VGA modes
Drop code for mode_no <= 14. These are not supported so this is all
just dead code.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:07 -07:00
Aaro Koskinen 77f3e4b159 staging: xgifb: unwrap mode table lines
Unwrap lines to improve readability. Comments were deleted as they were not
really informative.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:20:07 -07:00
Aaro Koskinen ac64fdf488 staging: xgifb: delete MD_XGI300
Nobody cares about this bit.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:09 -07:00
Aaro Koskinen c6d5841b5f staging: xgifb: delete mode rows and columns
Delete redudant rows and columns data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen 283b846940 staging: xgifb: delete mode names from the mode table
Delete mode names from the table. They are just redundant data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen ba6288f6ac staging: xgifb: drop redudant mode table entries
Since the mode search is not string-based anymore, we can drop XxYx24
entries which were just duplicated XxYx32 entries.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen f9e5de0f17 staging: xgifb: eliminate string comparison from mode search
Eliminate string comparison from the video mode search.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen f47f12d621 staging: xgifb: delete rate_idx from mode table
The default rate_idx is same for all video modes, no need to keep that
in the table.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen b07b3a9059 staging: xgifb: delete XGI300paneltype
Delete unused table.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:08 -07:00
Aaro Koskinen c38d044bf2 staging: xgifb: drop XG45 code
XG45 is not recognized/supported by the driver.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:07 -07:00
Aaro Koskinen 18408da0e8 staging: xgifb: drop XG41 code
XG_41 is not listed in xgifb_pci_table, so the code can be safely dropped.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 10:19:07 -07:00
Aaro Koskinen aca03bcc29 staging: xgifb: XGIfb_mode_rate_to_dclock: initialize ModeIdIndex properly
Initialize ModeIdIndex according to the selected video mode. Currently
index 0 is always used and wrong clock data may be used.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:55:09 -07:00
Aaro Koskinen e484975a23 staging: xgifb: XGIfb_mode_rate_to_dclock: delete commented-out code
Delete code that has been commented out.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:55:09 -07:00
Aaro Koskinen 051ff1bb3c staging: xgifb: XGIfb_mode_rate_to_ddata: initialize ModeIdIndex properly
Initialize ModeIdIndex according to the selected video mode. Currently
index 0 is always used and wrong video mode data may be used.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:55:09 -07:00
Aaro Koskinen 3a05de3304 staging: xgifb: XGIfb_mode_rate_to_ddata: delete commented-out code
Delete code that has been commented out.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:55:08 -07:00
Dmitry Eremin-Solenikov f650caaa49 staging/xgifb: fix addressing issues on platform with long physical addressing
Some platforms (e.g. ppc460ex) have 36-bit physical addressing, while
sizeof(unsigned long) == 4. Adapt xgifb driver to use phys_addr_t for
physical address variables instead of unsigned long.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:52:58 -07:00
Dmitry Eremin-Solenikov 9a801f252a staging/xgifb: simplify vga I/O ports handling
XGIfb driver transfers integer port number through several typecasts via
pjIOAddress field. Drop that field completely and use vga_base field of
xgifb_info directly.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:52:58 -07:00
Dmitry Eremin-Solenikov 30b7681615 staging/xgifb: drop RelIO from vb_device_info
The RelIO field is unused in the driver, drop it.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:52:58 -07:00
Dmitry Eremin-Solenikov ef23b21061 staging/xgifb: remove unused variable
In function XGIfb_do_set_var() remove unused variable sr_data.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:52:57 -07:00
Dmitry Eremin-Solenikov 6490311f42 staging/xgifb: fix display on XGI Volari Z11m cards
Image on Z11m cards was totally garbled due to wrong memory being
selected. Add a special handling for Z11m cards. Tested on PCIe Z11 and
Z11m cards.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-10 09:51:49 -07:00
Peter Huewe c3b3b3f9b0 staging/xgifb: remove remaining duplicate initdef.h defines
This patch removes the remaining defines that are already defined
identically in the sis initdef.h header.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:25 -08:00
Peter Huewe ccc8cb25ae staging/xgifb: Use TVCLKBASE_315 as a base address
Since the defines TVVCLKDIV2, TVVCLK, HiTVVCLKDIV2, HiTVVCLK,
HiTVSimuVCLK and HiTVTextVCLK are now defined as relative values, we
have to use TVCLKBASE_315 (0x31) as a base address to get the same values
as before the merge.

The old and now duplicated defines were removed

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:24 -08:00
Peter Huewe a3d675c88f staging/xgifb: Rename XGI specific initdef.h defines
This patch renames some of the defines that exist in the sis initdef.h
but seem to have a different value.
In order to preserve the functionality of the driver, we simply prepend
these defines with XGI_ (for now) to resolve conflicts and review them
later on.

Renames:
SetCRT2ToLCDA -> XGI_SetCRT2ToLCDA
LCDVESATiming -> XGI_LCDVESATiming
EnableLVDSDDA -> XGI_EnableLVDSDDA
LCDDualLink  -> XGI_LCDDualLink
ModeSwitchStatus  -> XGI_ModeSwitchStatus
YPbPr750pVCLK  -> XGI_YPbPr750pVCLK

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:24 -08:00
Peter Huewe 6896b94e24 staging/xgifb: Rename remaining sis initdef.h defines and remove duplicates
This patch renames the remaining duplicate defines and their usage to
the naming convention of the sis initdef.h and removes the now duplicated
defines.

Renames:
CRT2DisplayFlag -> DisableCRT2Display
ModeInfoFlag -> ModeTypeMask

Support16Bpp -> Mode16Bpp
Support32Bpp -> Mode32Bpp

SupportHiVisionTV -> SupportHiVision
SupportYPbPr -> SupportYPbPr750p
SwitchToCRT2 -> SwitchCRT2

VB_XGI301 -> VB_SIS301
VB_XGI301B -> VB_SIS301B
VB_XGI301LV -> VB_SIS301LV
VB_XGI302B -> VB_SIS302B
VB_XGI302LV -> VB_SIS302LV
VB_YPbPr525p -> YPbPr525p
VB_YPbPr750p -> YPbPr750p

VCLK108_2 -> VCLK108_2_315
VCLK65 -> VCLK65_315

XGI_CRT2_PORT_04 -> SIS_CRT2_PORT_04
XGI_CRT2_PORT_10 -> SIS_CRT2_PORT_10
XGI_CRT2_PORT_12 -> SIS_CRT2_PORT_12
XGI_CRT2_PORT_14 -> SIS_CRT2_PORT_14

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:24 -08:00
Peter Huewe 599801f926 staging/xgifb: Rename Set* defines and remove duplicated defines
This patch renames the Set* defines and their usage to the naming
convention of the sis initdef.h and removes the now duplicated defines.

Renames:
SetCRT2ToHiVisionTV -> SetCRT2ToHiVision
SetCRT2ToYPbPr -> SetCRT2ToYPbPr525750

SetNTSCJ -> TVSetNTSCJ
SetPALMTV -> TVSetPALM
SetPALNTV -> TVSetPALN
SetPALTV -> TVSetPAL

SetYPbPrMode1080i -> TVSetHiVision
SetYPbPrMode525i -> TVSetYPbPr525i
SetYPbPrMode525p -> TVSetYPbPr525p
SetYPbPrMode750p -> TVSetYPbPr750p

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:23 -08:00
Peter Huewe 255aabd2b8 staging/xgifb: Rename panel defines and remove duplicated defines
This patch renames the Panel* defines and their usage to the naming
convention of the sis initdef.h and removes the now duplicated defines.

Renames:
Panel320x480 -> Panel_320x480
Panel800x600 -> Panel_800x600
Panel1024x768 -> Panel_1024x768
Panel1024x768x75 -> Panel_1024x768x75
Panel1280x1024 -> Panel_1280x1024
Panel1280x1024x75 -> Panel_1280x1024x75
Panel1280x960 -> Panel_1280x960
Panel1400x1050 -> Panel_1400x1050
Panel1600x1200 -> Panel_1600x1200

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:22 -08:00
Peter Huewe 84359ef62a staging/xgifb: Include sis initdef.h header
This patch includes the initdef.h header from the sis driver.
Since the xgi driver used to redefine a lot of stuff from the sis
driver, we can simply include the headers of the sis driver itself, so
we can remove duplicated stuff later on.

In order to include the initdef.h we have to rename the header guards.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-10 09:56:21 -08:00
Sam Hansen 4a6b1518d7 staging: xgifb: checkpatch cleanup printk() -> pr_lvl()
Rewrote code to use pr_lvl() instead of printk().  There are still a few
instances of printk(), mainly in the debug code which looks like it's going to
be dropped/rewrote (most of it is blocked out).

Signed-off-by: Sam Hansen <solid.se7en@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:25:45 -08:00
Sam Hansen b4fdf7be0a staging: xgifb: checkpatch cleanup __func__
Replaced an instance of __FUNCTION__ with __func__ in XGI_main_26.c.

Signed-off-by: Sam Hansen <solid.se7en@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:24:38 -08:00
Sam Hansen cae9a7bef2 staging: xgifb: checkpatch cleanup braces
Cleaned up XGI_main_26.c and removed some unneeded braces to keep with code
conventions.

Signed-off-by: Sam Hansen <solid.se7en@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:24:10 -08:00
Sam Hansen 96c66042be staging: xgifb: pr_fmt kbuild macro
Added the kbuild macro pr_fmt() to XGI_main_26.c

Signed-off-by: Sam Hansen <solid.se7en@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:23:09 -08:00
Peter Huewe 7ad6651d78 staging/xgifb: Remove remaining duplicate structs and defines
This patch removes the now unused structs and defines which were mere
duplicates of the ones in the sgi headers

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:21:57 -08:00
Peter Huewe fc39dcb7fa staging/xgifb: Use structs and defines from the sis headers
This patch removes the usage of some xgi structs and defines and
replaces them with the _identical_ structs from the sis headers.
Thus the old structs and defines can be removed.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:21:56 -08:00
Peter Huewe b33704dffa staging/xgifb: Include sis headers
This patch includes the headers of the sis driver and reorders some
includes.

Since the xgi driver used to redefine a lot of stuff from the sis
driver, we can simply include the headers of the sis driver itself, so
we can remove duplicated stuff later on.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:21:56 -08:00
Peter Huewe e24b0a3f0c staging/xgifb: Remove unsupported mode LCD_320x480
This patch removes the probed mode LCD_320x480 which isn't supported
anyway since this mode falls through to the default (=invalid) mode in
the
XGIfb_validate_mode function (see line 529 ff. for details. the
commented out code for this mode is also removed).

By removing this assignment, we can use the LCD_TYPEs from the sis
driver without modifications.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-09 09:21:55 -08:00
Aaro Koskinen 2d2c880f8c staging: xgifb: enable forcecrt2type as a module parameter
Enable forcecrt2type as a module parameter.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:09 -08:00
Aaro Koskinen 25aa75f142 staging: xgifb: enable forcecrt2type on XG21
Make "forcecrt2type" to apply also for XG21. The patch enables user to
switch LVDS LCD ON/OFF without the need to update the video BIOS.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:08 -08:00
Aaro Koskinen 776091018b staging: xgifb: delete "userom" option
Delete a redundant option.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:08 -08:00
Aaro Koskinen aa56b2790a staging: xgifb: vb_table: delete XGI21_LCDCapList
Delete XGI21_LCDCapList. This data is display specific and does not
belong to the driver. It should be provided by the video BIOS.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:08 -08:00
Aaro Koskinen fab04b97be staging: xgifb: move XGI21_LVDSCapStruct into xgifb_video_info
Move the LVDS data into a device-specific data, and eliminate the global
variable usage.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:07 -08:00
Aaro Koskinen 64afdf8722 staging: xgifb: disable LVDS on XG27
XG27 has the second display output already hardcoded to disabled. Just
in case, ensure that it has the LVDS code paths disabled. This will
simplify the future cleanups.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:07 -08:00
Aaro Koskinen d38f702b77 staging: xgifb: delete XGIfb_GetXG21LVDSData()
Delete XGIfb_GetXG21LVDSData() and code which duplicates
xgifb_read_vbios().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:07 -08:00
Aaro Koskinen 4e6f403a3b staging: xgifb: ReadVBIOSTablData(): rename to xgifb_read_vbios()
Rename the function to xgifb_read_vbios().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:06 -08:00
Aaro Koskinen d1805b3870 staging: xgifb: ReadVBIOSTablData(): copy only a single LVDS entry
Only a single LVDS table entry is needed by the driver.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:06 -08:00
Aaro Koskinen 08ce239c10 staging: xgifb: ReadVBIOSTablData(): check the BIOS size
Check the BIOS size to avoid out of bounds array access. Disable LVDS
in case errors are detected.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:06 -08:00
Aaro Koskinen 82986dd9e7 staging: xgifb: use u8 for video BIOS data
Use u8 for video BIOS data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:06 -08:00
Aaro Koskinen e27060f0e6 staging: xgifb: delete pjVirtualRomBase
Delete a redundant struct member.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:05 -08:00
Aaro Koskinen f7054c2a3c staging: xgifb: delete ROMAddr
Delete a redundant struct member.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:04 -08:00
Aaro Koskinen 02a81dd9d6 staging: xgifb: move video BIOS handling completely to ReadVBIOSTablData()
We need the video BIOS only on XG21 and only during the init, so let's
do everything at the same place.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:04 -08:00
Aaro Koskinen c4ffaa4422 staging: xgifb: XGINew_GetXG21Sense(): eliminate video BIOS access
Remove video BIOS access from the routine, use the flag instead which
is initialized according to the BIOS data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:03 -08:00
Aaro Koskinen 97f4532d6d staging: xgifb: ReadVBIOSTablData(): use a pointer to access the array
Use a pointer variable to make some lines shorter and more readable.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:03 -08:00
Aaro Koskinen 4b21d99072 staging: xgifb: ReadVBIOSTablData(): rename pVideoMemory
Rename pVideoMemory to vbios, and also remove volatile at the same go.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:02 -08:00
Aaro Koskinen 83fae3970e staging: xgifb: ReadVBIOSTablData(): use ARRAY_SIZE
Use ARRAY_SIZE.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:01 -08:00
Aaro Koskinen bd76127489 staging: xgifb: ReadVBIOSTablData(): rearrange code to avoid nesting
Rearrange code to avoid deep nesting.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:01 -08:00
Aaro Koskinen b8e719754f staging: xgifb: ReadVBIOSTablData(): avoid duplicating code
If the count (j) is 0xff, just do the loop once.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08 12:26:00 -08:00
Aaro Koskinen ef497f46c3 staging: xgifb: vb_setmode: clean up a single statement if
Eliminate the only remaining checkpatch.pl warning:

	WARNING: braces {} are not necessary for single statement blocks
	#7463: FILE: staging/xgifb/vb_setmode.c:7463:
	+       if (ModeNo & 0x80) {
	+               ModeNo = ModeNo & 0x7F;
	+       }

	total: 0 errors, 1 warnings, 0 checks, 7554 lines checked

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:14 +09:00
Aaro Koskinen 798b4da50f staging: xgifb: vb_setmode: reduce if nesting in XGI_GetVCLK2Ptr()
Eliminate unnecessary nesting levels by rearranging code and conditions.
The resulting code should be still identical.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:14 +09:00
Aaro Koskinen 6596fc06e4 staging: xgifb: vb_setmode: reduce if nesting in XGI_SetLockRegs()
Eliminate unnecessary nesting levels by rearranging code and conditions.
The resulting code should be still identical.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen ebe3302410 staging: xgifb: vb_setmode: delete empty if statement blocks
Delete empty if statement blocks. The patch eliminates following
checkpatch.pl warnings:

WARNING: suspect code indent for conditional statements (8, 8)

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen 337a1a8f78 staging: xgifb: vb_setmode: delete XGI_VBLongWait()
XGI_VBLongWait() is NOP, so just delete it.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen 9a0b295e29 staging: xgifb: vb_setmode: delete commented-out code
Delete commented-out code.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen eb9aef1de1 staging: xgifb: vb_setmode: inline XGI_SetMiscRegs()
Inline a trivial function.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen 9ffc7e9fee staging: xgifb: vb_setmode: eliminate GetVGAType/Set_VGAType
Eliminate unneeded function and struct field. The same information is
available in HwDeviceExtension->jChipType.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:13 +09:00
Aaro Koskinen fac2cc9205 staging: xgifb: vb_setmode: make internal functions static
Make internal functions static.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:12 +09:00
Aaro Koskinen ed2e7203c3 staging: xgifb: vb_setmode: make XGI_GetLVDSOEMTableIndex() static
XGI_GetLVDSOEMTableIndex() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:12 +09:00
Aaro Koskinen 9913b6c0d7 staging: xgifb: vb_setmode: make XGI_XG21SetPanelDelay() static
XGI_XG21SetPanelDelay() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:12 +09:00
Aaro Koskinen 776115a0eb staging: xgifb: vb_setmode: make XGI_XG27BLSignalVDD() static
XGI_XG27BLSignalVDD() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:12 +09:00
Aaro Koskinen 0ebf538b8a staging: xgifb: vb_setmode: make XGI_XG21BLSignalVDD() static
XGI_XG21BLSignalVDD() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:12 +09:00
Aaro Koskinen a2d08cf38a staging: xgifb: vb_setmode: make XGI_SetXG27FPBits() static
XGI_SetXG27FPBits() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:11 +09:00
Aaro Koskinen e85f203696 staging: xgifb: vb_setmode: make XGI_SetXG21FPBits() static
XGI_SetXG21FPBits() can be made static. Move the function, so that
forward declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:11 +09:00
Aaro Koskinen 0646596cc7 staging: xgifb: vb_setmode: make XGI_GetResInfo() static
XGI_GetResInfo() can be made static. Move the function, so that forward
declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:11 +09:00
Aaro Koskinen 7f04ec3058 staging: xgifb: vb_setmode: make XGI_LongWait() static
XGI_LongWait() can be made static. Move the function, so that forward
declaration is not needed.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-28 06:20:11 +09:00
Aaro Koskinen 15eac0f847 staging: xgifb: delete vb_ext.{c,h}
Delete empty files.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 18:03:18 -08:00
Aaro Koskinen 40544b0411 staging: xgifb: move XGINew_SenseLCD() to vb_init.c
The function is used only in vb_init.c, so move it there and make
it static.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 18:02:56 -08:00
Aaro Koskinen 7a809f5c20 staging: xgifb: rename XGINew_GetLCDDDCInfo() to XGINew_SenseLCD()
Eliminate an unnecessary wrapper function.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 18:02:24 -08:00
Aaro Koskinen f1c289115a staging: xgifb: delete XGI_GetSenseStatus()
Delete unused function XGI_GetSenseStatus().

Static functions XGINew_Is301B(), XGINew_Sense(), XGINew_GetPanelID(),
XGINew_BridgeIsEnable() and XGINew_SenseHiTV() can be deleted as well,
since they are not used anymore.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 18:02:10 -08:00
Peter Huewe 27d73f1a5a staging/xgifb: Convert pci_table entries to PCI_DEVICE (if PCI_ANY_ID is used)
This patch converts pci_table entries to use the PCI_DEVICE macro,
if .subvendor and .subdevice are set to PCI_ANY_ID,
and thus improves readability.

v2:
Since the driver_data field isn't used anywhere we can also drop the
assignments for class, class_mask and driver_data.
(found by Aaro Koskinen)

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-26 18:00:09 -08:00
Linus Torvalds acff987d94 Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6
* 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
  video: platinumfb: Add __devexit_p at necessary place
  drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
  drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
  drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
  drivers/video: fsl-diu-fb: remove unused panel operating mode support
  drivers/video: fsl-diu-fb: use an enum for the AOI index
  drivers/video: fsl-diu-fb: add several new video modes
  drivers/video: fsl-diu-fb: remove broken screen blanking support
  drivers/video: fsl-diu-fb: move some definitions out of the header file
  drivers/video: fsl-diu-fb: fix some ioctls
  video: da8xx-fb: Increased resolution configuration of revised LCDC IP
  OMAPDSS: picodlp: add missing #include <linux/module.h>
  fb: fix au1100fb bitrot.
  mx3fb: fix NULL pointer dereference in screen blanking.
  video: irq: Remove IRQF_DISABLED
  smscufx: change edid data to u8 instead of char
  OMAPDSS: DISPC: zorder support for DSS overlays
  OMAPDSS: DISPC: VIDEO3 pipeline support
  OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
  video/omap: fix build dependencies
  ...

Fix up conflicts in:
 - drivers/staging/xgifb/XGI_main_26.c
	Changes to XGIfb_pan_var()
 - drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
	Removed (or in the case of apollon.c, merged into the generic
	DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)
2011-10-30 15:30:01 -07:00
Aaro Koskinen 289ea5249c staging: xgifb: clean up 2nd display state
Convert the display type to enum and rename disp_state to display2.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:49 -06:00
Aaro Koskinen 3261f2a171 staging: xgifb: delete CRT1 state
The driver does not need to manage CRT1 state.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:49 -06:00
Aaro Koskinen 624554dae3 staging: xgifb: make DAC tables const
DAC tables are read-only and can be made const.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:49 -06:00
Aaro Koskinen 4397c7f03b staging: xgifb: make RAM type tables const
RAM type tables are read-only and can be made const.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:49 -06:00
Aaro Koskinen 2f0f395ef7 staging: xgifb: move XGINew_DataBusWidth into vb_device_info
Move the memory bus width info to vb_device_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:48 -06:00
Aaro Koskinen ee055a48ce staging: xgifb: move XGINew_ChannelAB into vb_device_info
Move the memory channel info into vb_device_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:48 -06:00
Aaro Koskinen 2af1a29da7 staging: xgifb: move XGINew_RAMType into vb_device_info
The RAM type is device specific, so move it into vb_device_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:48 -06:00
Aaro Koskinen f2df8c097a staging: xgifb: eliminate global XGI_Pr data
Move vb_device_info into xgifb_video_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:48 -06:00
Aaro Koskinen 7d2ab0c62d staging: xgifb: make XGIbios_mode const
Comments are wrong, the table is read-only and can be made const.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:47 -06:00
Aaro Koskinen 84a6c46eb2 staging: xgifb: eliminate filter_tb global variable
filter_tb is only used inside a single function, and it does not need
to be static.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:47 -06:00
Aaro Koskinen c11d0ef3e2 staging: xgifb: eliminate XGIfb_fix
Eliminate XGIfb_fix and initialize needed fields of fb_info->fix
in probe().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:47 -06:00
Aaro Koskinen e9865d47d4 staging: xgifb: eliminate default_var
Eliminate default_var and initialize needed fields of fb_info->var
in probe().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:47 -06:00
Aaro Koskinen 39f10bf18c staging: xgifb: eliminate XGIfb_CRT2_write_enable variable
Replace XGIfb_CRT2_write_enable with IND_XGI_CRT2_WRITE_ENABLE_315.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:47 -06:00
Aaro Koskinen 76cabaa428 staging: xgifb: move pseudo_palette into xgifb_video_info
pseudo_palette should be dynamically allocated for each fb.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:46 -06:00
Aaro Koskinen 5aa55d9f97 staging: xgifb: move XGIfb_rate_idx into xgifb_video_info
The current refresh rate index should be stored in the device-specific
data allocated in probe().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:46 -06:00
Aaro Koskinen ccf265ad57 staging: xgifb: move xgifb_mode_idx into xgifb_video_info
The current mode index should be stored in the device-specific data
allocated in probe().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:46 -06:00
Aaro Koskinen 6928c18ee5 staging: xgifb: eliminate XGIfb_mode_no
We can get the information from the table with mode index.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:46 -06:00
Aaro Koskinen fcbdda90ef staging: xgifb: dynamically allocate xgifb_video_info
Delete global xgi_video_info and dynamically allocate the data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:45 -06:00
Aaro Koskinen fd26d42019 staging: xgifb: avoid direct references xgi_video_info
Avoid direct references to global xgi_video_info. This will help changing
the data from statically allocated to dynamically allocated.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:45 -06:00
Aaro Koskinen ab886ff86d staging: xgifb: rename struct video_info to xgifb_video_info
Rename struct video_info to xgifb_video_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:45 -06:00
Aaro Koskinen 7548a83e5f staging: xgifb: add a global variable for the default refresh rate
Add a global variable for the default refresh rate. This is done to
get rid of references to xgi_video_info before the probe routine, which
should allocate the xgi_video_info dynamically in the future.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:45 -06:00
Aaro Koskinen 6048d761d2 staging: xgifb: inline XGIfb_query_VGA_config_space()
XGIfb_query_VGA_config_space() is used only once during the init and
can be replaced with a single PCI configuration space read.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:45 -06:00
Aaro Koskinen c62f2e466f staging: xgifb: eliminate global XGIhw_ext data
Move xgi_hw_device_info into xgi_video_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:44 -06:00
Aaro Koskinen 19c1e88e02 staging: xgifb: eliminate global fb_info variable
Move fb_info into xgi_video_info.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:44 -06:00
Aaro Koskinen 54301b5cfe staging: xgifb: use PCI drvdata
Don't access the global xgi_video_info directly in xgifb_remove().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-10-12 09:51:44 -06:00
Aaro Koskinen 8775316e1a staging: xgifb: update TODO
There are no build warnings at the moment.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-16 20:16:48 +02:00
Aaro Koskinen 09d1cad15d staging: xgifb: add missing #include
Add a missing include to eliminate the following sparse warning:

drivers/staging/xgifb/vb_table.h:2572:28: warning: symbol 'XGI21_LCDCapList' was not declared. Should it be static?

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-16 20:16:48 +02:00
Aaro Koskinen c44fa627c7 staging: xgifb: vb_init: use readl()/writel() to access iomapped memory
Use readl() and writel() in FB memory test instead of direct pointer
access, and also add iomem annotations for the FB memory.

The patch eliminates the following sparse warnings:

drivers/staging/xgifb/XGI_main_26.c:2113:69: warning: incorrect type in assignment (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2113:69:    expected unsigned char *static [addressable] [toplevel] [assigned] pjVideoMemoryAddress
drivers/staging/xgifb/XGI_main_26.c:2113:69:    got void [noderef] <asn:2>*
drivers/staging/xgifb/XGI_main_26.c:2399:30: warning: incorrect type in assignment (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2399:30:    expected char [noderef] <asn:2>*screen_base
drivers/staging/xgifb/XGI_main_26.c:2399:30:    got char *[addressable] [toplevel] [assigned] video_vbase
drivers/staging/xgifb/XGI_main_26.c:2430:31: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2430:31:    expected void volatile [noderef] <asn:2>*addr
drivers/staging/xgifb/XGI_main_26.c:2430:31:    got char *[addressable] [toplevel] [assigned] video_vbase
drivers/staging/xgifb/XGI_main_26.c:2454:31: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2454:31:    expected void volatile [noderef] <asn:2>*addr
drivers/staging/xgifb/XGI_main_26.c:2454:31:    got char *[addressable] [toplev

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-16 20:16:48 +02:00
Aaro Koskinen 4b4954621f staging: xgifb: unify #include order
Include Linux headers before driver's own headers.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-16 20:16:48 +02:00
Aaro Koskinen 863c02af58 staging: xgifb: main: use readb()/readw() to access iomapped memory
Use readb()/readw() instead of direct pointer access to read I/O mapped
memory and also add __iomem annotation.

The patch eliminates the following sparse warnings:

drivers/staging/xgifb/XGI_main_26.c:2125:35: warning: incorrect type in assignment (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2125:35:    expected char *[addressable] [toplevel] [assigned] mmio_vbase
drivers/staging/xgifb/XGI_main_26.c:2125:35:    got void [noderef] <asn:2>*
drivers/staging/xgifb/XGI_main_26.c:2439:31: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2439:31:    expected void volatile [noderef] <asn:2>*addr
drivers/staging/xgifb/XGI_main_26.c:2439:31:    got char *[addressable] [toplevel] [assigned] mmio_vbase
drivers/staging/xgifb/XGI_main_26.c:2463:31: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/xgifb/XGI_main_26.c:2463:31:    expected void volatile [noderef] <asn:2>*addr
drivers/staging/xgifb/XGI_main_26.c:2463:31:    got char *[addressable] [toplevel] [assigned] mmio_vbase

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-16 20:16:47 +02:00
Aaro Koskinen 7c1387e0ec staging: xgifb: delete redundant casts from mtrr_add() call
Delete redundant casts from mtrr_add() call.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-12 16:52:16 +02:00
Aaro Koskinen 15ebe6c657 staging: xgifb: fix up MTRR printk
The condition for printk() is wrong. Also change it to dev_info().

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-12 16:52:15 +02:00
Aaro Koskinen 3028474cb4 staging: xgifb: properly delete MTRR region
MTRR region should be deleted on probe failure and driver removal.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-12 16:52:15 +02:00
Aaro Koskinen aef6bc7458 staging: xgifb: delete IF_DEF_ScaleLCD
Delete one more disabled feature.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:15 -07:00
Aaro Koskinen 3d6defadda staging: xgifb: delete IF_DEF_PWD
Delete already disabled code paths.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:15 -07:00
Aaro Koskinen 66cfacecc3 staging: xgifb: delete IF_DEF_OEMUtil
Delete already disabled code paths.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:14 -07:00
Aaro Koskinen 09cb8e509b staging: xgifb: delete Win9xDOSMode
Delete another useless flag.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:14 -07:00
Aaro Koskinen d2de85c5da staging: xgifb: delete IF_DEF_VideoCapture
Delete already disabled code paths.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:13 -07:00
Aaro Koskinen 11fbdcde54 staging: xgifb: delete duplicated timing data
Delete redundant timing data tables. Replace as follows:

	EnlargeTap4Timing	==> xgifb_tap4_timing
	NoScaleTap4Timing	==> xgifb_tap4_timing
	NTSCTap4Timing		==> xgifb_ntsc_525_tap4_timing
	YPbPr525iTap4Timing	==> xgifb_ntsc_525_tap4_timing
	YPbPr525pTap4Timing	==> xgifb_ntsc_525_tap4_timing

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:13 -07:00
Aaro Koskinen 0c23b6d2fe staging: xgifb: delete duplicated TV data tables
Delete redundant TV data tables. Replace as follows:

	XGI_EPLCHTVDataPtr	==> xgifb_chrontel_tv
	XGI_EPLCHTVRegPtr	==> xgifb_chrontel_tv

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-06 11:42:13 -07:00