summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2011-03-22video: s3c-fb: return proper error if clk_get failsaxel lin
Return PTR_ERR(sfb->bus_clk) instead of 0 if clk_get fails. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22uvesafb,vesafb: create WC or WB PAT-entriesThomas Schlichter
with an PAT-enabled kernel, when using uvesafb or vesafb, these drivers will create uncached-minus PAT entries for the framebuffer memory because they use ioremap() (not the *_cache or *_wc variants). When the framebuffer memory intersects with the video RAM used by Xorg, the complete video RAM will be mapped uncached-minus what results in a serve performance penalty. Here are the correct MTRR entries created by uvesafb: schlicht@netbook:~$ cat /proc/mtrr reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back reg01: base=0x06ff00000 ( 1791MB), size= 1MB, count=1: uncachable reg02: base=0x070000000 ( 1792MB), size= 256MB, count=1: uncachable reg03: base=0x0d0000000 ( 3328MB), size= 16MB, count=1: write-combining And here are the problematic PAT entries: schlicht@netbook:~$ sudo cat /sys/kernel/debug/x86/pat_memtype_list PAT memtype list: write-back @ 0x0-0x1000 uncached-minus @ 0x6fedd000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee3000-0x6fee4000 uncached-minus @ 0x6fee3000-0x6fee4000 uncached-minus @ 0x6fee3000-0x6fee4000 uncached-minus @ 0xd0000000-0xe0000000 <-- created by xserver-xorg uncached-minus @ 0xd0000000-0xd1194000 <-- created by uvesafb uncached-minus @ 0xf4000000-0xf4009000 uncached-minus @ 0xf4200000-0xf4400000 uncached-minus @ 0xf5000000-0xf5010000 uncached-minus @ 0xf5100000-0xf5104000 uncached-minus @ 0xf5400000-0xf5404000 uncached-minus @ 0xf5404000-0xf5405000 uncached-minus @ 0xf5404000-0xf5405000 uncached-minus @ 0xfed00000-0xfed01000 Therefore I created the attached patch for uvesafb which uses ioremap_wc() to create the correct PAT entries, as shown below: schlicht@netbook:~$ sudo cat /sys/kernel/debug/x86/pat_memtype_list PAT memtype list: write-back @ 0x0-0x1000 uncached-minus @ 0x6fedd000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee2000-0x6fee3000 uncached-minus @ 0x6fee3000-0x6fee4000 uncached-minus @ 0x6fee3000-0x6fee4000 uncached-minus @ 0x6fee3000-0x6fee4000 write-combining @ 0xd0000000-0xe0000000 write-combining @ 0xd0000000-0xd1194000 uncached-minus @ 0xf4000000-0xf4009000 uncached-minus @ 0xf4200000-0xf4400000 uncached-minus @ 0xf5000000-0xf5010000 uncached-minus @ 0xf5100000-0xf5104000 uncached-minus @ 0xf5400000-0xf5404000 uncached-minus @ 0xf5404000-0xf5405000 uncached-minus @ 0xf5404000-0xf5405000 uncached-minus @ 0xfed00000-0xfed01000 This results in a performance gain, objectively measurable with e.g. x11perf -comppixwin10 -comppixwin100 -comppixwin500: 1: x11perf_xaa.log 2: x11perf_xaa_patched.log 1 2 Operation -------- ---------------- ----------------- 124000.0 202000.0 ( 1.63) Composite 10x10 from pixmap to window 3340.0 24400.0 ( 7.31) Composite 100x100 from pixmap to window 131.0 1150.0 ( 8.78) Composite 500x500 from pixmap to window You can see the serve performance gain when composing larger pixmaps to window. The patches replace the ioremap() function with the variant matching the mtrr- parameter. To create "write-back" PAT entries, the ioremap_cache() function must be called after creating the MTRR entries, and the ioremap_cache() region must completely fit into the MTRR region, this is why the MTRR region size is now rounded up to the next power-of-two. Signed-off-by: Thomas Schlichter <thomas.schlichter@web.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22video: ffb: fix ffb_probe error pathaxel lin
Current implementation calls of_iounmap for par->fbc twice in error path. In the case of goto out_unmap_dac, we should call of_iounmap for par->dac. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22radeonfb: Let hwmon driver probe the "monid" I2C busJean Delvare
Some Radeon cards have an I2C-based thermal sensor chip connected to the "monid" I2C bus. Set the I2C probing class of this bus properly so that hwmon drivers can detect devices on it and bind to them. This closes kernel.org bug #26172. We exclude PPC for the time being, as Benjamin doesn't want us to mess up with them without explicit testing, and there is no evidence that this change is needed for them either. Reported-by: Alexander Goomenyuk <emerg.reanimator@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22fbdev: sh_mobile_lcdc: checking NULL instead of IS_ERR()Dan Carpenter
backlight_device_register() returns an ERR_PTR. It doesn't return NULL. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22video: sh7760fb: use resource_size()axel lin
The size calculation is done incorrectly in request_mem_region because it should include both the start and end (end - start + 1). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22video: hpfb: use resource_size()axel lin
The size calculation is done incorrectly here because it should include both the start and end (end - start + 1). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: use new start address registerOndrej Zary
Use "new" start address register 0x69 (bits 16-20) instead of "old" 0x31 (bits 16-17) and 0x51 (bits 18-19). This is needed for panning to work correctly on Trio3D/2X cards (and does no harm on other ones). Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Ondrej Zajicek <santiago@crfreenet.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: enable DTPCOndrej Zary
Enable Data Transfer Position Control (DTPC). This is needed at least on Virge/DX to correctly display at higher pixclocks. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Ondrej Zajicek <santiago@crfreenet.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: fix 15/16bpp modes with over 115MHz pixclocks on 86C365 Trio3DOndrej Zary
Enable pixel multiplexing in 15/16bpp modes when pixclock is over 115MHz on Trio3D (86C365) cards to fix artifacts on the left side of screen. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Ondrej Zajicek <santiago@crfreenet.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: add support for 86C365 Trio3DOndrej Zary
Add support for S3 Trio3D (86C365) cards to s3fb driver. Tested with one 4MB card. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Ondrej Zajicek <santiago@crfreenet.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: maximize virtual vertical size for fast scrollingOndrej Zary
Maximize virtual vertical framebuffer size during init to allow fast scrolling (accelerated by panning). Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Ondrej Zajicek <santiago@crfreenet.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22vt8623fb: Compute VGA base iomem pointer explicitly.David Miller
This allows the driver to work in multi-domain PCI configurations. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22arkfb: Compute VGA base iomem pointer explicitly.David Miller
This allows the driver to work in multi-domain PCI configurations. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: Compute VGA base iomem pointer explicitly.David Miller
This allows the driver to work in multi-domain PCI configurations. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22vt8623fb: Don't clobber par->state.vgabase during open method.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: Don't clobber par->state.vgabase during open method.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22arkfb: Don't clobber par->state.vgabase during open method.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22vt8623fb: Pass par->state.vgabase to vga_*() calls.David Miller
Instead of just plain NULL. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22s3fb: Pass par->state.vgabase to vga_*() calls.David Miller
Instead of just plain NULL. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22arkfb: Pass par->state.vgabase to vga_*() calls.David Miller
Instead of just plain NULL. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_timings() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_tilecursor() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_textmode_vga_regs() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_default_crt_regs() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_wcrt_mask() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_wseq_mask() take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_default_seq_regs take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_default_atc_regs take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_set_default_gfx_regs take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_wseq_multi take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_wcrt_multi take an iomem regbase pointer.David Miller
Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22svga: Make svga_wattr take an iomem regbase pointer.David Miller
And use vga_{r,w}(). Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: add support for XGI Z9 DDR2 POSTAaro Koskinen
Add support for ZGI Z9 DDR2 POST. The init sequence is from XGI's xgifb driver. Tested with ARM board using a PCI card with XGI Z9s and 32 MB DDR2 memory. After a cold reset the POST succeeds. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: move XGI POST DDR2 bootup code into subroutinesAaro Koskinen
Move DDR2 register setting code into separate subroutines. No changes in functionality. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: add RAM type detection for XGI Z9Aaro Koskinen
Detect the XGI Z9 RAM type as "documented" by the XGI's xgifb driver. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: add subroutine for detecting XGI Z9Aaro Koskinen
Z7 and Z9 have the same PCI ID, so additional checking is needed to detect Z9. The method was "documented" in XGI's xgifb driver. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: move XGI POST RAM type detection into a subroutineAaro Koskinen
Move XGI POST RAM type detection into a separate subroutine to make further code changes easier. No changes in functionality Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22sisfb: POST should fail if R/W test failsAaro Koskinen
Currently there is no indication if R/W test fails during POST. This can happen e.g. when user plugs in a card with unsupported type of memory. Since the driver will be unusable, it's better to fail the whole POST if the memory cannot be configured properly. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22vmlfb: use list_move() instead of list_del()/list_add() combinationKirill A. Shutemov
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22omap: use list_move() instead of list_del()/list_add() combinationKirill A. Shutemov
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-22Merge branch 'for-paul' of git://gitorious.org/linux-omap-dss2/linuxPaul Mundt
Conflicts: arch/arm/mach-omap2/board-overo.c Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-03-21matrox: Remove legacy VIDIOC_*_OLD ioctlsMauro Carvalho Chehab
Those ioctls were produced by the wrong arguments for _IO macros, and were replaced by fixed versions on an early 2.6 kernel. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-21matroxfb: remove incorrect Matrox G200eV supportGary Hade
Remove incorrect Matrox G200eV support that was previously added by commit e3a1938805d2e81b27d3d348788644f3bad004f2 A serious issue with the incorrect G200eV support that reproduces on the Matrox G200eV equipped IBM x3650 M2 is the total lack of text (login banner, login prompt, etc) on the console when X is not running and total lack of text on all of the virtual consoles after X is started. Any concerns that the incorrect code (upstream since October 2008) has been successfully used on non-IBM G200eV equipped system(s) appear to be unwarranted. In addition to the serious/non-intermittent nature of issues that have been spotted on IBM systems, complete removal of the incorrect code is clearly supported by the following Matrox (Yannick Heneault) provided input: "It impossible that this patch should have work on a system. The patch only declare the G200eV as a regular G200 which is not case. Many registers are different, including at least the PLL programming sequence. If the G200eV is programmed like a regular G200, it will not display anything." v1 - Initial patch that removed the incorrect code for _all_ G200eV equipped systems. v2 - Darrick Wong provided patch that blacklisted the incorrect code on G200eV equipped IBM systems leaving it enabled on all G200eV equipped non-IBM systems. v3 - Same code changes included with v1 plus additional justification for complete removal of the incorrect code. Signed-off-by: Gary Hade <garyhade@us.ibm.com> Cc: Darrick J. Wong <djwong@us.ibm.com> Cc: Krzysztof Helt <krzysztof.h1@wp.pl> Cc: Petr Vandrovec <vandrove@vc.cvut.cz> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Yannick Heneault <yannick_heneault@matrox.com> Cc: Christian Toutant <ctoutant@matrox.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-21viafb: initialize margins correctFlorian Tobias Schandinat
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>
2011-03-21Merge branch 'trivial' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) video: change to new flag variable scsi: change to new flag variable rtc: change to new flag variable rapidio: change to new flag variable pps: change to new flag variable net: change to new flag variable misc: change to new flag variable message: change to new flag variable memstick: change to new flag variable isdn: change to new flag variable ieee802154: change to new flag variable ide: change to new flag variable hwmon: change to new flag variable dma: change to new flag variable char: change to new flag variable fs: change to new flag variable xtensa: change to new flag variable um: change to new flag variables s390: change to new flag variable mips: change to new flag variable ... Fix up trivial conflict in drivers/hwmon/Makefile
2011-03-20Merge branches 'fixes', 'pgt-next' and 'versatile' into develRussell King
2011-03-18OMAP: DSS2: Implement OMAP4 DSS fclk supportMurthy, Raghuveer
Add dss.dpll4_m4_ck (DSS FCLK) initialization for OMAP4. This is used to compute the pixel clock for DPI interface and also to reconfigure the DSS FCLK to the desired rate, corresponding to the rate computed for pixel clock. Adding these cpu_is_44xx() checks are meant to be temporary, until a cleaner implementation to manage these checks are added. Currently this is needed to get DVI display running on OMAP4 PandaBoard Signed-off-by: Raghuveer Murthy <raghuveer.murthy@ti.com> [tomi.valkeinen@ti.com: minor changes due to conflicts] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-03-18OMAP: DSS2: Clean up for dpll4_m4_ck handlingTomi Valkeinen
OMAP2 does not have dpll4_m4_ck source clock for dss functional clock, but later OMAPs do. Currently we check for cpu type in multiple places to find out if dpll4_m4_ck is available. This patch cleans up dss.c by using the fact that dss.dpll4_m4_ck pointer is NULL on OMAP2. This allows us to remove many of the cpu checks. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-03-18Merge branch 'for-linus' of git://codeaurora.org/quic/kernel/davidb/linux-msmLinus Torvalds
* 'for-linus' of git://codeaurora.org/quic/kernel/davidb/linux-msm: (46 commits) msm: scm: Check for interruption immediately msm: scm: Fix improper register assignment msm: scm: Mark inline asm as volatile msm: iommu: Enable HTW L2 redirection on MSM8960 msm: iommu: Don't read from write-only registers msm: iommu: Remove dependency on IDR msm: iommu: Use ASID tagging instead of VMID tagging msm: iommu: Rework clock logic and add IOMMU bus clock control msm: iommu: Clock control for the IOMMU driver msm: mdp: Set the correct pack pattern for XRGB/ARGB msm_fb: Fix framebuffer console msm: mdp: Add support for RGBX 8888 image format. video: msmfb: Put the partial update magic value into the fix_screen struct. msm: clock: Migrate to clkdev msm: clock: Remove references to clk_ops_pcom msm: headsmp.S: Fix section mismatch msm: Use explicit GPLv2 licenses msm: iommu: Enable IOMMU support for MSM8960 msm: iommu: Generalize platform data for multiple targets msm: iommu: Create a Kconfig item for the IOMMU driver ...