summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'viafb-pll' into viafb-nextFlorian Tobias Schandinat2011-04-248-408/+588
|\ | | | | | | | | | | | | Conflicts: drivers/video/via/viamode.c Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: add X server compatibility modeFlorian Tobias Schandinat2011-04-242-0/+18
| | | | | | | | | | | | | | | | | | | | | | This patch adds a config option to be compatible with X servers like OpenChrome. This is required as for example the X server does not handle things like disabled IGAs/PLLs resulting in a potential freeze on X startup. With this option disabled we can provide some nice features like power management and not reinitializing the hardware on every mode switch (taking long time, causing flickering). Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: delete clock and PLL initializationFlorian Tobias Schandinat2011-04-011-6/+2
| | | | | | | | | | | | | | We do this also in the real program code so there is no reason to do it here too (and here it's hardly readable). Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: add engine clock supportFlorian Tobias Schandinat2011-03-263-0/+55
| | | | | | | | | | | | | | | | This patch adds support for enabling and configuring the engine on VIAs IGPs. This is the main clock used for everything but pixel output. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: add VIA slapping capabilityFlorian Tobias Schandinat2011-03-242-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces dummy functions to execute when we don't know what we should do (due to missing documentation). They do nothing but print a nice message in the log explaining the situation. To trigger this message initial power management support is activated which might save a bit energy by disabling PLL and clock if no device is configured to use them. Note: The message is only shown for the oldest IGPs CLE266 and K400 as for the other platforms there are reasonable assumptions how it does (hopefully) work. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: split clock and PLL code to an extra fileFlorian Tobias Schandinat2011-03-245-281/+368
| | | | | | | | | | | | | | | | | | | | | | This patch is a huge move operation with some rename and introduces an interface to still use the functions. This should be a step in the right direction to reuse the code whenever possible but cleanly separate code that differs on different platform and keeping the complexity as low as possible. pll_config was renamed to via_pll_config to keep the naming scheme. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: add primary/secondary clock on/off switchesFlorian Tobias Schandinat2011-03-241-1/+37
| | | | | | | | | | | | | | | | This patch adds functions to enable/disable the display clocks. It also fixes a tiny bug that slipped in with a previous commit but could not yet have caused any problems. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: add clock source selection and PLL power management supportFlorian Tobias Schandinat2011-03-231-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds some support for clock source selection as well as PLL power management. The code is unused at the moment but was successfully tested as far as possible. The implementation is according to the documentation for VX700, VX800, VX855, VX900. Probably the source selection works like this starting with K800 and the power managemennt at least since VX700. (guessed based on the initialization in viamode.c) Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: prepare for PLL separationFlorian Tobias Schandinat2011-03-231-43/+84
| | | | | | | | | | | | This patch splits some functionality to extra functions. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: call viafb_get_clk_value only in viafb_set_vclockFlorian Tobias Schandinat2011-03-233-21/+19
| | | | | | | | | | | | | | | | As no caller is interested in the result call viafb_get_clk_value directly from viafb_set_vclock to encapsulate the hardware dependend stuff there. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: allow some pll calculationsFlorian Tobias Schandinat2011-03-232-282/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows calculating the pll multiplier within limits based on the previous table. All available information supports that it should be possible/sane to choose the multiplier free within some ranges. Storing the multiplier ranges instead of lots of pll configurations reduces the memory needed and may as well improve the performance. It is also expected to provide better pll values resulting in better frequencies for the connected devices. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | Merge branch 'viafb-cleanup' into viafb-nextFlorian Tobias Schandinat2011-04-2413-251/+84
|\ \
| * | viafb: replace custom return valuesFlorian Tobias Schandinat2011-03-275-33/+17
| | | | | | | | | | | | | | | | | | This patch replaces OK/FAIL by true/false which is simpler and saner. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: some small cleanup for global variablesFlorian Tobias Schandinat2011-03-275-18/+7
| | | | | | | | | | | | | | | | | | | | | | | | We do not need viafb_second{,_virtual}_{xres,yres} outside of viafbdev.c so move them there and eliminate the virtual ones where the only sane usage is done during initalization. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: gather common good, old VGA initialization in one placeFlorian Tobias Schandinat2011-03-272-31/+37
| | | | | | | | | | | | | | | | | | | | | This patch moves all unprotected VGA initialization in one table and provides some documentation for those values. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: remove unused max_hres/vresFlorian Tobias Schandinat2011-03-232-137/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the max_hres and max_vres which are not used at the moment. In general they could be useful but it would be better to get them via any standard EDID implementation and not the buggy incomplete one currently used which is also removed as far as possible. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: kill crt_setting_informationFlorian Tobias Schandinat2011-03-214-26/+15
| | | | | | | | | | | | | | | | | | | | | As the iga path is the only remaining information which is also handled by the active devices there is no reason to keep it. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: no need to write CRTC values twiceFlorian Tobias Schandinat2011-03-211-3/+0
| | | | | | | | | | | | | | | | | | | | | Later the correct values will be written so there is no need to write early some values which might be wrong. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * | viafb: move initialization codeFlorian Tobias Schandinat2011-03-211-5/+7
| |/ | | | | | | | | | | | | This moves some mode independend initialization code to the function where the other parts of the initialization are. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: reduce OLPC refresh a bitFlorian Tobias Schandinat2011-04-243-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | When allowing some PLL calculation we get a frequency that seems to be a bit higher than what the OLPC DCON likes resulting in a still readable but not so good image. We don't really know whether this is a problem with the calculation formula or the OLPC but as other displays seem to be happy with the other modes adjusting the OLPC refresh looks like the better thing. This patch prevents a regression when dynamic PLL calculation is allowed. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: fix OLPC XO 1.5 device connectionFlorian Tobias Schandinat2011-04-241-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the devices connected on OLPC. The OLPC panel seems to be connected to DVP1 and LVDS2 for some reasons and if not both are handled correct the display does not work correct or not at all. This patch prevents regressions on the OLPC where it worked by accident but would break in future as the driver did not know the correct devices connected. This might also fix hardware scaling. Hopefully the OLPC is the only device with such a requirement but it will be certainly better to actually know what devices are actually connected and to not work by accident. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: fix OLPC DCON refresh rateFlorian Tobias Schandinat2011-04-152-3/+7
|/ | | | | | | | | | | | | | | | | This patch fixes a regression introduced by fd3cc69848b7e1873e5f12bbcdd572b20277ecf3a "viafb: remove duplicated clock storage" caused by an incosistent mode which pretended to have a higher refresh rate than it actually had. The wrong refresh rate resulted in a calculated higher pixclock which the OLPC DCON could not handle. By reducing the refresh rate to 50Hz we get close to the old pixclock which makes the OLPC display usable again. Minor other adjustments are needed as 60Hz is assumed to be a safe value which is not true for OLPC DCON. This is no problem as we only support 1200x900 on the OLPC. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Reported-by: Daniel Drake <dsd@laptop.org>
* viafb: initialize margins correctFlorian Tobias Schandinat2011-03-211-20/+11
| | | | | | | | This patch initializes the margins for the initial mode correct. This is required to get the desired initial refresh rate. Also do more verbose sanity checking to prevent misbehavior. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* viafb: refresh rate bug collectionFlorian Tobias Schandinat2011-03-164-30/+36
| | | | | | | | This patch fixes multiple issues with the handling of refresh rates especially for multi-display setups. If you experienced problems with wrong refresh rates this patch might fix them. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* Merge branch 'viafb-pll' into viafb-nextFlorian Tobias Schandinat2011-03-127-747/+479
|\
| * viafb: split pll configs upFlorian Tobias Schandinat2011-03-121-347/+301
| | | | | | | | | | | | | | | | | | | | This patch splits the pll configs up on pll versions. This allows easy adding of other known good pll values. Additionally it made it possible to remove invalid configurations resulting in better behaviour for such cases. The resulting clocks are no longer stored resulting in some computing overhead on each mode change. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: remove duplicated clock storageFlorian Tobias Schandinat2011-03-125-212/+133
| | | | | | | | | | | | | | | | The clocks can be easily recalculated by the timing and refresh value. This brings us one step closer to removing VIAs modetable and use generic ones and being easier extensible. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: always return the best possible clockFlorian Tobias Schandinat2011-03-122-34/+28
| | | | | | | | | | | | | | | | | | | | Before this patch only clocks that perfectly match were used and if none existed this was not handled properly. This patch changes this to always use the closest clock supported. This should behave like before for clocks that have a perfect match but be much saner for clocks which are slightly off. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
| * viafb: remove duplicated clock informationFlorian Tobias Schandinat2011-03-124-166/+29
| | | | | | | | | | | | | | | | | | This patch removes the direct lookup table for resolution+refresh and pixclock by calculating this information from the mode table. Removes a lot of dupllication and error potential by just doing a little more calculations on each mode change. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: factor lcd scaling parameters outFlorian Tobias Schandinat2011-03-092-85/+19
| | | | | | | | | | | | | | | | These parameters are the same for all currently known VIA IGPs so it does not make any sense to store them with IGP specific data. This saves a few bytes and helps a bit in dicovering the real differences. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: strip some structuresFlorian Tobias Schandinat2011-03-092-15/+0
| | | | | | | | | | | | | | This patch removes some write-only variables from the device management structures. Just a small cleanup. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: remove unused data_mode and device_typeFlorian Tobias Schandinat2011-03-091-3/+0
| | | | | | | | | | | | This patch is a little cleanup for the chip_info structures. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* | viafb: kill lcd_panel_idFlorian Tobias Schandinat2011-03-095-107/+13
|/ | | | | | | | | | This patch removes all internal uses of another mostly artificial value. It does duplicate the information of the maximum resolution and it is not flexible as only a few resolutions exist. Hence it is better to remove it and clean the mess up. No runtime change expected. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* video via: make local variables staticStephen Hemminger2011-03-095-59/+61
| | | | | | | | Many local variables should be declared static. Found by sparse, compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* video via: fix iomem accessStephen Hemminger2011-03-091-8/+7
| | | | | | | | | | | | | This driver is not respecting the iomem memory space restrictions and does direct access. This works on x86 but is non-portable and should not be done. Converted memcpy() of 2 to readw. Last post increment of romptr was unnecessary since pointer never used after that. Found by sparse, compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* video/via: drop deprecated (and unused) i2c_adapter.idPeter Huewe2011-03-021-1/+0
| | | | | | | | | | This patch removes an assignment to the deprecated i2c_adapter.id field. Since the field isn't used anywhere else in the driver it is save to remove it. Signed-off-by: Peter Huewe <peterhuewe@gmx.de> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
* Revert "TPM: Long default timeout fix"Linus Torvalds2011-03-011-6/+4
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit c4ff4b829ef9e6353c0b133b7adb564a68054979. Ted Ts'o reports: "TPM is working for me so I can log into employer's network in 2.6.37. It broke when I tried 2.6.38-rc6, with the following relevant lines from my dmesg: [ 11.081627] tpm_tis 00:0b: 1.2 TPM (device-id 0x0, rev-id 78) [ 25.734114] tpm_tis 00:0b: Operation Timed out [ 78.040949] tpm_tis 00:0b: Operation Timed out This caused me to get suspicious, especially since the _other_ TPM commit in 2.6.38 had already been reverted, so I tried reverting commit c4ff4b829e: "TPM: Long default timeout fix". With this commit reverted, my TPM on my Lenovo T410 is once again working." Requested-and-tested-by: Theodore Ts'o <tytso@mit.edu> Acked-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'hwmon-for-linus' of ↵Linus Torvalds2011-03-012-0/+2
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: hwmon: (adt7411) add MODULE_DEVICE_TABLE hwmon: (ad7414) add MODULE_DEVICE_TABLE
| * hwmon: (adt7411) add MODULE_DEVICE_TABLEaxel lin2011-02-261-0/+1
| | | | | | | | | | | | | | | | The device table is required to load modules based on modaliases. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
| * hwmon: (ad7414) add MODULE_DEVICE_TABLEaxel lin2011-02-261-0/+1
| | | | | | | | | | | | | | The device table is required to load modules based on modaliases. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
* | ACPI: Fix build for CONFIG_NET unsetRafael J. Wysocki2011-03-012-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several ACPI drivers fail to build if CONFIG_NET is unset, because they refer to things depending on CONFIG_THERMAL that in turn depends on CONFIG_NET. However, CONFIG_THERMAL doesn't really need to depend on CONFIG_NET, because the only part of it requiring CONFIG_NET is the netlink interface in thermal_sys.c. Put the netlink interface in thermal_sys.c under #ifdef CONFIG_NET and remove the dependency of CONFIG_THERMAL on CONFIG_NET from drivers/thermal/Kconfig. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Len Brown <lenb@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Luming Yu <luming.yu@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'drm-fixes' of ↵Linus Torvalds2011-03-012-2/+6
|\ \ | |/ |/| | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: fix unsigned vs signed comparison issue in modeset ctl ioctl. drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo
| * Merge remote branch 'nouveau/drm-nouveau-fixes' of /ssd/git/drm-nouveau-next ↵Dave Airlie2011-02-281-1/+4
| |\ | | | | | | | | | | | | | | | | | | into drm-fixes * 'nouveau/drm-nouveau-fixes' of /ssd/git/drm-nouveau-next: drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo
| | * drm/nv50-nvc0: make sure vma is definitely unmapped when destroying boBen Skeggs2011-02-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Somehow fixes a misrendering + hang at GDM startup on my NVA8... My first guess would have been stale TLB entries laying around that a new bo then accidentally inherits. That doesn't make a great deal of sense however, as when we mapped the pages for the new bo the TLBs would've gotten flushed anyway. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * | drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.Dave Airlie2011-02-281-1/+2
| |/ | | | | | | | | | | | | | | This fixes CVE-2011-1013. Reported-by: Matthiew Herrb (OpenBSD X.org team) Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* | rapidio: fix sysfs config attribute to access 16MB of maint spaceAlexandre Bounine2011-02-261-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes sysfs config attribute to allow access to entire 16MB maintenance space of RapidIO devices. Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: Matt Porter <mporter@kernel.crashing.org> Cc: Li Yang <leoli@freescale.com> Cc: Thomas Moll <thomas.moll@sysgo.com> Cc: Micha Nelissen <micha@neli.hopto.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | pps: initialize ts_real properlyAlexander Gordeev2011-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | Initialize ts_real.flags to fix compiler warning about possible uninitialized use of this field. Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> Cc: john stultz <johnstul@us.ibm.com> Cc: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | drivers/rtc/rtc-ds3232.c: fix time range difference between linux and RTC chipLei Xu2011-02-261-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In linux rtc_time struct, tm_mon range is 0~11, tm_wday range is 0~6, while in RTC HW REG, month range is 1~12, day of the week range is 1~7, this patch adjusts difference of them. The efect of this bug was that most of month will be operated on as the next month by the hardware (When in Jan it maybe even worse). For example, if in May, software wrote 4 to the hardware, which handled it as April. Then the logic would be different between software and hardware, which would cause weird things to happen. Signed-off-by: Lei Xu <B33228@freescale.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: john stultz <johnstul@us.ibm.com> Cc: Jack Lan <jack.lan@freescale.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | drivers/nfc/pn544.c: add missing regulatorMatti J. Aaltonen2011-02-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regulator framework is used for power management. The regulators are only named in the driver code, the actual control stuff is in the board file for each architecture or use case. The PN544 chip has three regulators that can be controlled or not - depending on the architecture where the chip is being used. So some of the regulators may not be controllable. In our current case the third regulator, which was missing from the code, went unnoticed because we didn't need to control it. To be as general as possible - in this respect - the driver needs to list all regulators. Then the board file can be used to actually set the usage. Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | drivers/nfc/Kconfig: use full form of the NFC acronymMatti J. Aaltonen2011-02-261-1/+1
| | | | | | | | | | | | | | | | | | Spell out the NFC acronym when it's shown for the first time. Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>