summaryrefslogtreecommitdiffstats
path: root/drivers/video/via (follow)
Commit message (Collapse)AuthorAgeFilesLines
* viafb: rename display_timing to via_display_timingSteffen Trumtrar2013-01-246-13/+13
| | | | | | | | | | The struct display_timing is specific to the via subsystem. The naming leads to collisions with the new struct display_timing, which is supposed to be a shared struct between different subsystems. To clean this up, prepend the existing struct with the subsystem it is specific to. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
* Drivers: video: remove __dev* attributes.Greg Kroah-Hartman2013-01-049-42/+41
| | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option. As a result, the __dev* markings need to be removed. This change removes the use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit from these drivers. Based on patches originally written by Bill Pemberton, but redone by me in order to handle some of the coding style issues better, by hand. Cc: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* viafb: don't touch clock state on OLPC XO-1.5Daniel Drake2012-09-221-0/+19
| | | | | | | | | | | | | | | | | | | | As detailed in the thread titled "viafb PLL/clock tweaking causes XO-1.5 instability," enabling or disabling the IGA1/IGA2 clocks causes occasional stability problems during suspend/resume cycles on this platform. This is rather odd, as the documentation suggests that clocks have two states (on/off) and the default (stable) configuration is configured to enable the clock only when it is needed. However, explicitly enabling *or* disabling the clock triggers this system instability, suggesting that there is a 3rd state at play here. Leaving the clock enable/disable registers alone solves this problem. This fixes spurious reboots during suspend/resume behaviour introduced by commit b692a63a. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
* video/via: Convert to kstrtou8_from_userPeter Huewe2012-05-081-22/+12
| | | | | | | | | | This patch replaces the code for getting an number from a userspace buffer by a simple call to kstrou8_from_user. This makes it easier to read and less error prone. Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Acked-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6 into ↵Florian Tobias Schandinat2012-03-1425-1139/+936
|\ | | | | | | fbdev-next
| * viafb: avoid refresh and mode lookup in set_parFlorian Tobias Schandinat2012-03-081-18/+14
| | | | | | | | | | | | | | | | | | As check_var already ensures that the mode is valid there is no need to do those expensive lookups here again. The only thing that might change is that the deprecated interface could report slightly different refresh rates due to rounding errors. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: modetable conversionFlorian Tobias Schandinat2012-03-087-1035/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts the modetables used in viafb to - remove the strange thing that sync_end and blanking_end contained the length and not the absolute value - remove hundreds of useless defines - use fb_videomode and not our own definition so modes defined in the subsystem and received via EDID are compatible with ours As the modes are now stored in a flat structure and no longer in a tree like thing the lookup time was increased but as it is a rare event anyway it shouldn't matter. Otherwise the behaviour should be the same as before. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: LCD bpp cleanupFlorian Tobias Schandinat2012-03-045-30/+12
| | | | | | | | | | | | | | | | This patch removes redundant bits per pixel information by using the one storged in var directly. Simplifies code without any functional changes. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: Fix bug in centering codeFlorian Tobias Schandinat2012-02-211-1/+1
| | | | | | | | | | | | | | Obviously this is a typo and although there were no effects observed it's probably better to fix it. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: another workaround for OLPCs weird wiringFlorian Tobias Schandinat2012-02-211-2/+4
| | | | | | | | | | | | On OLPC we must not touch this I2C bus or it will hang. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: NULL dereference on allocation failure in query_edid()Dan Carpenter2012-02-171-2/+5
| | | | | | | | | | | | | | | | We should handle the allocation here, if only to keep the static checkers happy. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * Merge branch 'viafb-aux' into viafb-nextFlorian Tobias Schandinat2012-02-1515-10/+736
| |\
| | * viafb: add initial EDID supportFlorian Tobias Schandinat2012-02-134-8/+103
| | | | | | | | | | | | | | | | | | | | | This patch adds support for using EDID data on CRT and DVP1 for initial configuration if viafb_mode or viafb_mode1 are not present. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| | * viafb: fix I2C emulation on GPIO portsFlorian Tobias Schandinat2012-02-121-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the I2C emulation on GPIO ports by enabling it (software controlled) and disabling the output on a GPIO line before reading it. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| | * viafb: add auxiliary device management infrastructureFlorian Tobias Schandinat2012-02-1014-1/+626
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the basic infrastructure and a few stub drivers for devices that are connected via I2C busses. The infrastructure will be used to replace and extend the support that is scattered throughout viafb. The stub drivers are not very useful yet but they show how the infrastructure works, provide information about the chips integrated into a system and maybe gather some testers as it would be very difficult for a single person to get a sane test environment. The only thing this actually does is probing the I2C busses which will hopefully not cause any regressions. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: make SAMM to also work on LCDFlorian Tobias Schandinat2012-02-124-28/+22
| | | | | | | | | | | | | | | | | | This patch enables LCD to handle SAMM without dual fb. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: make single framebuffer multiple adapter mode workFlorian Tobias Schandinat2012-02-104-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implementes this mode (viafb_SAMM_ON set and viafb_dual_fb not set) in a useful way for CRT and DVI devices. The same content is shown on both devices in different video modes. The first (primary) resolution must not be bigger than the secondary one and determines the visible region. The same content is shown centered on the secondary output. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: fill xres and yresFlorian Tobias Schandinat2012-02-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | This patch fills xres and yres in var which is required when a temporary var is genereated when viafb_SAMM_ON is set and viafb_dual_fb is not set. It also removes an obsolete comment. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: set correct polarity for second adapterFlorian Tobias Schandinat2012-02-101-7/+7
| |/ | | | | | | | | | | | | | | This patch sets the correct polarity for the second adapter when viafb_SAMM_ON is set and viafb_dual_fb is not set. Just one step to make this mode useful. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: fix IGA1 modesetting on VX900Florian Tobias Schandinat2012-02-241-0/+3
| | | | | | | | | | | | | | | | Even if the documentation calls this bit "Reserved" it has to be set to 0 for correct modesetting on IGA1. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
* | viafb: select HW scaling on VX900 for IGA2Florian Tobias Schandinat2012-02-241-0/+1
|/ | | | | | | | | | | VX900 can do hardware scaling for both IGAs in contrast to previous hardware which could do it only for IGA2. This patch ensures that we set the parameter for IGA2 and not for IGA1. This fixes hardware scaling on VX900 until we have the infrastructure to support it for both IGAs. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
* viafb: correct sync polarity for OLPC DCONDaniel Drake2011-11-221-2/+2
| | | | | | | | | | | | | | | | | | | While the OLPC display appears to be able to handle either positive or negative sync, the Display Controller only recognises positive sync. This brings viafb (for XO-1.5) in line with lxfb (for XO-1) and fixes a recent regression where the XO-1.5 DCON could no longer be frozen. Thanks to Florian Tobias Schandinat for helping identify the fix. Test case: from a vt, echo 1 > /sys/devices/platform/dcon/freeze should cause the current screen contents to freeze, rather than garbage being displayed. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@kernel.org
* video: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/videoPaul Gortmaker2011-11-011-0/+1
| | | | | | | | | With module.h being implicitly everywhere via device.h, the absence of explicitly including something for EXPORT_SYMBOL went unnoticed. Since we are heading to fix things up and clean module.h from the device.h file, we need to explicitly include these files now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* viafb: replace strict_strtoul to kstrto* and check return valueWang Shaoyan2011-08-171-58/+68
| | | | | | | | | This commit replace the function strict_strtoul(becasue commit 33ee3b2e), and check the return value to avoid such warning: drivers/video/via/viafbdev.c:1992: warning: ignoring return value of 'kstrtoul', declared with attribute warn_unused_result Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* Merge commit 'v3.1-rc2' into HEADFlorian Tobias Schandinat2011-08-175-32/+30
|\
| * viafbdev: fix compilation warning for unused variableNikanth Karthikesan2011-06-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | viafbdev: Fix compilation warning for unused variable for #ifdef MODULE Fix compilation warning when #ifdef MODULE drivers/video/via/viafbdev.c: In function ‘viafb_init’: drivers/video/via/viafbdev.c:2019: warning: unused variable ‘r’ Signed-off-by: Nikanth Karthikesan <nikanth@google.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2011-05-261-24/+25
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: gpio/via: rename VIA local config struct basic_mmio_gpio: split into a gpio library and platform device gpio: remove some legacy comments in build files gpio: add trace events for setting direction and value gpio/pca953x: Use handle_simple_irq instead of handle_edge_irq gpiolib: export gpiochip_find gpio: remove redundant Kconfig depends on GPIOLIB basic_mmio_gpio: convert to non-__raw* accessors basic_mmio_gpio: support direction registers basic_mmio_gpio: support different input/output registers basic_mmio_gpio: detect output method at probe time basic_mmio_gpio: request register regions basic_mmio_gpio: allow overriding number of gpio basic_mmio_gpio: convert to platform_{get,set}_drvdata() basic_mmio_gpio: remove runtime width/endianness evaluation
| | * gpio/via: rename VIA local config structLinus Walleij2011-05-201-24/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | The local VIA GPIO config struct "gpio_config" collides with my extension to the gpio_chip struct, so rename it to viafb_gpio_config so we don't get this clash. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6Linus Torvalds2011-05-2218-706/+712
| |\ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'viafb-next' of git://github.com/schandinat/linux-2.6: (24 commits) viafb: Automatic OLPC XO-1.5 configuration viafb: remove unused CEA mode viafb: try to map less memory in case of failure viafb: use write combining for video ram viafb: add X server compatibility mode viafb: reduce OLPC refresh a bit viafb: fix OLPC XO 1.5 device connection viafb: fix OLPC DCON refresh rate viafb: delete clock and PLL initialization viafb: replace custom return values viafb: some small cleanup for global variables viafb: gather common good, old VGA initialization in one place viafb: add engine clock support viafb: add VIA slapping capability viafb: split clock and PLL code to an extra file viafb: add primary/secondary clock on/off switches viafb: add clock source selection and PLL power management support viafb: prepare for PLL separation viafb: call viafb_get_clk_value only in viafb_set_vclock viafb: remove unused max_hres/vres ...
| * | Merge branch 'fbdev-fixes-for-linus' of ↵Linus Torvalds2011-04-074-49/+46
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6 * 'fbdev-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: efifb: Add override for 11" Macbook Air 3,1 efifb: Support overriding fields FW tells us with the DMI data. fb: Reduce priority of resource conflict message savagefb: Remove obsolete else clause in savage_setup_i2c_bus savagefb: Set up I2C based on chip family instead of card id savagefb: Replace magic register address with define drivers/video/bfin-lq035q1-fb.c: introduce missing kfree video: s3c-fb: fix checkpatch errors and warning efifb: support AMD Radeon HD 6490 s3fb: fix Virge/GX2 fbcon: Remove unused 'display *p' variable from fb_flashcursor() fbdev: sh_mobile_lcdcfb: fix module lock acquisition fbdev: sh_mobile_lcdcfb: add blanking support viafb: initialize margins correct viafb: refresh rate bug collection sh: mach-ap325rxa: move backlight control code sh: mach-ecovec24: support for main lcd backlight
| | * \ Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6Paul Mundt2011-03-244-49/+46
| | |\ \
| * | | | Fix common misspellingsLucas De Marchi2011-03-313-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
| * | | kstrto*: converting strings to integers done (hopefully) rightAlexey Dobriyan2011-03-231-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. simple_strto*() do not contain overflow checks and crufty, libc way to indicate failure. 2. strict_strto*() also do not have overflow checks but the name and comments pretend they do. 3. Both families have only "long long" and "long" variants, but users want strtou8() 4. Both "simple" and "strict" prefixes are wrong: Simple doesn't exactly say what's so simple, strict should not exist because conversion should be strict by default. The solution is to use "k" prefix and add convertors for more types. Enter kstrtoull() kstrtoll() kstrtoul() kstrtol() kstrtouint() kstrtoint() kstrtou64() kstrtos64() kstrtou32() kstrtos32() kstrtou16() kstrtos16() kstrtou8() kstrtos8() Include runtime testsuite (somewhat incomplete) as well. strict_strto*() become deprecated, stubbed to kstrto*() and eventually will be removed altogether. Use kstrto*() in code today! Note: on some archs _kstrtoul() and _kstrtol() are left in tree, even if they'll be unused at runtime. This is temporarily solution, because I don't want to hardcode list of archs where these functions aren't needed. Current solution with sizeof() and __alignof__ at least always works. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | viafb: get rid of the remaining modetable structure assumptionsFlorian Tobias Schandinat2011-08-077-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the remaining places where assumptions about the structure of the modetable were made. Aside from some places where assumptions are made that certain modes are in the modetable the only code dealing with the modetable and not just a single mode is in viamode. This will allow chaniging the modetable and use other sources for videomodes like the subsystem or EDID. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: eliminate modetable dependancy of LCD modesettingFlorian Tobias Schandinat2011-08-073-22/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the need for knowing the modetable structure within the LCD modesetting function. The magic 60Hz refresh rate was already there as always the first entry for a resolution was choosen based on the ascending refresh rate ordering in the modetable. For all but one this is at least 60Hz, if only higher frequencies available we choose those like the code before did. The exception is OLPC but that resolution has only one frequency so we get the same behaviour there as well. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: seperate hardware initializationFlorian Tobias Schandinat2011-08-071-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch splits the hardware initialization out of the modesetting function which will make it easier to make it conditional and not require starting from scratch for every mode change, which is especially annoying in dual framebuffer mode. This required some minor reordering but it should not influence its functionality. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: use information in var for modesettingFlorian Tobias Schandinat2011-08-074-83/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch starts to use the information in var for modesetting for CRT and DVI devices. This is the right thing as it allows us to use more generic modes than the ones predefined by VIA. We do not yet allow more generic modes as check_var still limits them to the predefined ones but with this patch applied it would be really easy to do so. A problem was VIAs SAMM mode as it has 2 different modes but just one frame buffer device. This is solved by creating a pseudo var which contains enough information to use it for modesetting. Hopefully one day we can use information in var for all modes that do not involve hardware scaling. Well I'd like to say that the chance of regressions is low but it is quite likely that the behaviour in some cases changed especially when SAMM is involved. I hope we made it better than before in particular the DVI frequency check was probably broken before and hopefully works better now. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: eliminate viafb_get_pixclockFlorian Tobias Schandinat2011-08-073-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As there is only one user we can just insert the formula where needed. Avoids one lookup in the modetable and viafb_fill_var_timing_info does no longer depend on the modetable. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: add new funcions to select a single modeFlorian Tobias Schandinat2011-08-075-61/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces 2 new functions for selecting a single mode based on hres, vres and refresh rate and changes some uses to use those. The advantage is that it is less error prone than doing the selection based on refresh rate everywhere and allows replacing the modetable structure. This includes a little change that users may notice: If a refresh rate was given as module parameters but does not exist in the modetable prior to this patch a refresh rate of 60 was assumed and after this patch the closest supported refresh rate to the one provided by the user is used. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: fix pointer type missmatchWang Shaoyan2011-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/video/via/via-core.c: In function 'via_pci_probe': drivers/video/via/via-core.c:691: warning: assignment discards qualifiers from pointer target type Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: remove 640x480-60 CRT special caseFlorian Tobias Schandinat2011-08-052-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The timing for 640x480-60 was handled different than all others. This patch changes this by changing the blanking start and end. The reason for this is that I can't find any reason for the old behaviour and it was not consistent anyway as the special case for LCD did not always trigger as the LCD code does not use this function and it did trigger regardless of whether the display set is CRT or LCD but only based whether any DVI/LCD device exists. There are no negative effects observed for CRT or DVI devices. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: simplify viafb_fill_crtc_timingFlorian Tobias Schandinat2011-08-053-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As the first argument is just part of the structure passed as the second argument there is no need for it at all. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: remove superfluous mode lookupFlorian Tobias Schandinat2011-08-051-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As the result is not used anywhere there is no need to perform the lookup at all. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: remove superfluous register unlocking/lockingFlorian Tobias Schandinat2011-08-052-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The locking is done within the viafb_set_*_timing functions so there is no need to do it here. Move a missing hardware reset into the modesetting function. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: kill viafb_load_crtc_timingFlorian Tobias Schandinat2011-08-053-46/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces calls to viafb_load_crtc_timing with the code. This should make it easier to fix the oddity that in the modetable the blank and sync end entries contain the length and we need to add the start values to get those to be written to the hardware. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: use more compact modesetting functionsFlorian Tobias Schandinat2011-08-055-578/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces the old timing setup code with a redesigned one. The new code might be slightly faster as it has no conditinals and does not write the same register multiple times. Also it makes the comparison to the documentation easier. Regressions are unlikely but could happen as a lot of hardware is undocumented. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | | viafb: improve pitch handlingFlorian Tobias Schandinat2011-07-172-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds checks for minimum and maximum pitch size to prevent invalid settings which could otherwise crash the machine. Also the alignment is done in a slightly more readable way. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@kernel.org
* | | | viafb: use display information in info not in var for panningFlorian Tobias Schandinat2011-05-271-2/+3
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Laurent pointed out we must not use any information in the passed var besides xoffset, yoffset and vmode as otherwise applications might abuse it. Also use the aligned fix.line_length and not the (possible) unaligned xres_virtual. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: stable@kernel.org
* | | viafb: Automatic OLPC XO-1.5 configurationDaniel Drake2011-05-111-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, a long set of viafb options are needed to get the XO-1.5 laptop to output video (there is only 1 configuration that works, that can't really be autodetected). This patch automatically detects and configures viafb for the XO-1.5 laptop, meaning all that is required for working display is that viafb is loaded. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | | viafb: remove unused CEA modeFlorian Tobias Schandinat2011-04-263-34/+0
| | | | | | | | | | | | | | | | | | This trivial patch removes unused mode tables. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>