25 Jul, 2008

40 commits

  • Add a platform_lcd driver to allow boards with simple lcd power controls
    to register themselves easily.

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Ben Dooks
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Add the lcd_device being checked to the check_fb entry of lcd_ops. This
    ensures that any driver using this to check against it's own state can do
    so, and also makes all the calls in lcd_ops more orthogonal in their
    arguments.

    Signed-off-by: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Provide support for the ILI9320 display controller chip which is found in
    many LCD displays. Included with this is support for an example LCD using
    this chip, the VGG2432A4.

    Signed-off-by: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • As pointed out by Andrew Morton, we have a problem when setting the 64bit
    resources option. Alter the allocation routines to remove the need to use
    the start and end fields, use the proper HEAD_PANEL/HEAD_CRT and update
    the comments.

    Note, we also fix the bug where we failed to check the size of the
    CRT memory allocation.

    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Add the ability to register only one of the two possible main framebuffer
    devices on the SM501 by passing platform data for only the framebuffer
    that you are interested in having.

    As a side note, we update the init sequence to commonise the code that is
    executed twice, and fix a pair of missing frees that we didn't do on
    framebuffer exit, such as freeing the fb's cmap.

    Signed-off-by: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Add flags to allow the driver to invert the sense of both VBIASEN and FPEN
    signals comming from the SM501.

    Signed-off-by: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Avoid division by zero in atmel_lcdfb_check_var() function.

    If pixclock is not specified while passing a var structure in
    the check_var() funtion, a division by zero occurs (when
    translating pixclock to KHz).

    This patch adds a checking of this value and try to choose a
    video mode in the modelist.

    The mode found in the probe function in added to the modelist.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • It updates skeletonfb to new platform driver API. The skeletonfb is
    templates for creating new drivers.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Signed-off-by: Akinobu Mita
    Cc: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • The argument to iounmap() is void __iomem *. Fix the cast.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Properly propagate errors to the probe function.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Convert atyfb to use a PCI device ID table.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Atari probe code relies on correct_chipset() failing if the device is not
    a mach64 GX/CX. aty_chips[] array would be indexed with -1 in that case.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Remove dead code. This will slightly change the behaviour of the driver
    on systems that support backlight control. Previously they would just
    turn the backlight off using the backlight control but now the generic LCD
    code will also turn off the LCD using the POWER_MANAGEMENT register.

    Signed-off-by: Olaf Hering
    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • The xoffset, yoffset and yres members of fb_var_screeninfo are __u32.
    Make them unsigned in the code as well.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • The width and height members of fb_var_screeninfo are __u32. The code
    initializes them to -1 which seems wrong, and 0 seems like an equally good
    default value.

    Signed-off-by: Ville Syrjala
    Cc: "Antonino A. Daplas"
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjala
     
  • Convert the hgafb driver to use new platform driver API.

    Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9689

    Signed-off-by: Krzysztof Helt
    Cc: Anton Vorontsov
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • The Kconfig help for the vfb driver says:
    Do NOT enable it for normal systems! To protect the innocent, it
    has to be enabled explicitly at boot time using the kernel option
    `video=vfb:'.

    This change lets the code match the description.

    Support for vfb:disable is kept for backwards compatibility; vfb:off works
    because it is tested at a higher level.

    Note: any undefined option (e.g. vfb:enable) will also enable this driver.

    The relevant code has been unchanged since before the migration to
    git (2.6.12).

    This patch fixes bugzilla #9310 and was the root cause behind
    http://lkml.org/lkml/2008/5/31/220.

    Signed-off-by: Frans Pop
    Cc: Antonino A. Daplas
    Acked-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frans Pop
     
  • This is the SuperH Mobile LCDC frame buffer driver V2, adding support for
    the LCDC block found in SuperH Mobile processors. The hardware supports
    up to two LCD panels per LCDC block, and both RGB and SYS interfaces can
    be used to hook up LCD panels/modules.

    The device driver is a regular platform driver, so LCD configuration and
    board specific hooks are passed to the driver using platform data. LCD
    modules using SYS interface often require special configuration using the
    SYS bus, and to solve this cleanly the driver provides SYS interface
    operations to the board code.

    Tested on sh7723 and sh7722 processors with a SYS16A QVGA panel and WVGA
    panels using RGB16 and RGB18 interfaces.

    Signed-off-by: Magnus Damm
    Acked-by: Paul Mundt
    Reviewed-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     
  • These checks and assignments are done by a higher layer so remove them
    from the driver.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Use constants and functions from the vga.h file. Also add module
    description.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Small step toward unification of mode setting parameter. This is required
    to fix the Bugzilla's bug 9847

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Make the tridentfb documentation closer to current state of the tridentfb
    driver. Fix also some formatting.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Make more drivers use the "mode_option" parameter. This one is quite new
    so drop the old "mode" parameter before someone starts using it seriously.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Make logo_height variable local in the only function it is used.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Manage atmel_lcdfb FIFO underflow

    Resetting the LCD and DMA allows to fix screen shifting after a FIFO
    underflow. It follows reset sequence from errata "LCD Screen Shifting
    After a Reset".

    Signed-off-by: Nicolas Ferre
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • dx and dy are u32's, so the test should occur before the subtraction

    Signed-off-by: Roel Kluin
    Cc: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • dx and dy are u32's, so the test should occur before the subtraction

    Signed-off-by: Roel Kluin
    Cc: Tim Schmielau
    Cc: Krzysztof Helt
    Cc: Antonino Daplas
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • dx and dy are u32's, so the test should occur before the subtraction

    Signed-off-by: Roel Kluin
    Cc: Antonino Daplas
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • pll->post_divider is unsigned, so the test fails

    Signed-off-by: Roel Kluin
    Cc: Benjamin Herrenschmidt
    Cc: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • Current kernel builds warn about:
    drivers/video/aty/radeon_base.c: In function 'radeonfb_pci_register':
    drivers/video/aty/radeon_base.c:2334: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result
    drivers/video/aty/radeon_base.c:2336: warning: ignoring return value of 'sysfs_create_bin_file', declared with attribute warn_unused_result

    Do minimal checking of these functions and issue a warning if either
    fails. They don't seem to be critical..

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Tony Breeds
    Cc: "Antonino A. Daplas"
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tony Breeds
     
  • The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API

    Signed-off-by: Matthias Kaehlcke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthias Kaehlcke
     
  • The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API.

    Signed-off-by: Matthias Kaehlcke
    Cc: Daniel Mack
    Cc: Eric Miao
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthias Kaehlcke
     
  • This patch removes compat code for older kernel versions.

    Signed-off-by: Adrian Bunk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • mdacon incorrectly detects MDA hardware on systems without such graphics card.

    One may load this module by chance, for example when doing some systematical
    module-testing, and if there is no Monochrome Display Adapter attached ,
    module init renders vc1-16 completely unusable.

    I and others have run into this more than once. see [Bug 224522 - modprobe
    mdacon freezes machine -> https://bugzilla.novell.com/show_bug.cgi?id=224522 ]
    for example

    Apparently proper MDA detection seems to be broken for a long time - seems to
    be related to those #ifdef TEST_MDA_B statements added by Edward Betts.

    this commit back in 2002 made things even worse :
    http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=c72757b49c88914433244757fb4967fc63546685

    It changed default vc allocation from 13-16 to 1-16 for no apparent reason
    (!?) , and with that (and without X), mdacon grabs the vc you`re currently
    sitting on and locks you out.

    this is from Kconfig :
    >config MDA_CONSOLE
    > depends on !M68K && !PARISC && ISA
    > tristate "MDA text console (dual-headed) (EXPERIMENTAL)"
    > ---help---
    > Say Y here if you have an old MDA or monochrome Hercules graphics
    > adapter in your system acting as a second head ( = video card). You
    > will then be able to use two monitors with your Linux system. Do not
    > say Y here if your MDA card is the primary card in your system; the
    > normal VGA driver will handle it.

    As we can see mdacon is just meant as an additional driver for dual-head
    setup, and since kernel 2.4.36 still defaults to vc13-16 , setting the default
    back to that value again shouldn`t do any harm.

    Hereby i'm reverting that change, setting default back to to vc13-16 again.

    Besides the fact that mdacon may be rarely or never be used these days and
    could perhaps put to trash anyway (pre-dinosaur hardware!), indeed this is not
    a real solution, but at least it removes the unfortunate side-effect of
    messing up the vc you`re working on.

    Signed-off-by: Roland Kletzing
    Cc: James Simmons
    Cc: "Antonino A. Daplas"
    Cc: Tim Schmielau
    Cc: Jan Engelhardt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland Kletzing
     
  • The tridentfb driver should handle now all chipsets handled by the cyblafb
    driver. Remove the message which claims that support will be removed.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Add imageblit acceleration for the Blade3D family of cores. The code is
    based on code from the cyblafb driver.

    It is a step toward assimilating back the cyblafb driver into the
    tridentfb driver. The cyblafb driver handles a subfamily of the Trident
    Blade3d cores.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • This patch fixes following problems:
    - does not allow the m parameter to reach 0 as
    it locks the graphics core (power cycle needed)
    - for the newer chips (with new clock registers)
    does not allow of n / m ratio below 4 as it gives
    unstable image on the Blade3D core
    - extend shift parameter (k) range to 2 for the newer
    chips to cope with the n /m >= 4 limit at low resolution
    (bandwidth) modes
    - prefer modes with higher n / m ratio (higher k values)

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • The Trident cards uses only 20-bit address of screen start in double
    words. This allows addressing for only 4MB of video memory so check this.

    Also remove some redundant checks and assignments.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Fix depth setting for 8 bpp mode. The nice 224 color logo is not
    displayed in 8 bpp depth without this fix.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt