28 Apr, 2008

40 commits

  • Add support for the 965G and 965GM graphic chipsets to the intelfb driver. I
    have a notebook with an Intel Mobile GM965/GL960 Integrated Graphics
    Controller and with the attached patch the framebuffer comes up. I have
    tested it a bit with DirectFB to make sure it is working stable.

    I also have an Intel Mobile GM945 and I compared the results, the programming
    interface of the 9xx series from Intel is mostly the same, so I think the
    patch should add all the functionality which the 945GM has.

    Signed-off-by: Maik Broemme
    Cc: Dave Airlie
    Cc: Antonino Daplas
    Cc: Geert Uytterhoeven
    Cc: Krzysztof Halasa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maik Broemme
     
  • Note: looks like accesses to "registered_fb" are done without any exclusion
    so there're none in new proc code, too. This should be fixed in separate
    patch.

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

    Alexey Dobriyan
     
  • Fix bug identified by Daniel Marjamki: `m' is leaked on the error path.

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

    Cc: Daniel Marjamki
    Cc: "Antonino A. Daplas"
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • This patch splits hecubafb into the platform independent hecubafb and the
    platform dependent n411.

    Signed-off-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaya Kumar
     
  • Right now, if request_irq or anthing after it fails than we free the firmware
    for the second time what might end bad :)

    Signed-off-by: Sebastian Siewior
    Acked-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sebastian Siewior
     
  • This patch splits metronomefb into the platform independent metronomefb and
    the platform dependent am200epd.

    Signed-off-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaya Kumar
     
  • This patch is a bugfix for hecubafb_write which would return an incorrect
    error value for the bytecount from framebuffer writes.

    Signed-off-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaya Kumar
     
  • This patch is a bugfix for the use of cfb_* functions instead of sys_*
    functions. sys_* should be used with vmalloced framebuffers. the previous
    cfb_ use would not work for callers of imageblit/etc.

    Signed-off-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaya Kumar
     
  • Add platform code to support Freescale DIU. The platform code includes
    framebuffer memory allocation, pixel format, monitor port, etc.

    Signed-off-by: York Sun
    Signed-off-by: Timur Tabi
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    York Sun
     
  • The following features are supported:
    plane 0 works as a regular frame buffer, can be accessed by /dev/fb0
    plane 1 has two AOIs (area of interest), can be accessed by /dev/fb1 and /dev/fb2
    plane 2 has two AOIs, can be accessed by /dev/fb3 and /dev/fb4
    Special ioctls support AOIs

    All /dev/fb* can be used as regular frame buffer devices, except hardware
    change can only be made through /dev/fb0. Changing pixel clock has no effect
    on other fbs.

    Limitation of usage of AOIs:
    AOIs on the same plane can not be horizonally overlapped
    AOIs have horizonal order, i.e. AOI0 should be always on top of AOI1
    AOIs can not beyond phisical display area. Application should check AOI geometry
    before changing physical resolution on /dev/fb0

    required command line parameters to preallocate memory for frame buffer diufb.

    optional command line parameters to set modes and monitor
    video=fslfb:[resolution][,bpp][,monitor]
    Syntax:

    Resolution
    xres x yres-bpp@refresh_rate, the -bpp and @refresh_rate are optional
    eg, 1024x768, 1280x1024, 1280x1024-32, 1280x1024@60, 1280x1024-32@60, 1280x480-32@60

    Bpp
    bpp=32, bpp=24, or bpp=16

    Monitor
    monitor=0, monitor=1, monitor=2
    0 is DVI
    1 is Single link LVDS
    2 is Double link LVDS

    Note: switching monitor is a board feather, not DIU feather. MPC8610HPCD has three
    monitor ports to swtich to. MPC5121ADS doesn't have additional monitor port. So switching
    monirot port for MPC5121ADS has no effect.

    If compiled as a module, it takes pamameters mode, bpp, monitor with the same syntax above.

    Signed-off-by: York Sun
    Signed-off-by: Timur Tabi
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    York Sun
     
  • Mostly signedness fixes. nv10_sim_state existence in both drivers suggests
    that one of them should be removed, but that's for later.

    Signed-off-by: Alexey Dobriyan
    Cc: Antonino A. Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Both FB_RIVA and FB_NVIDIA depends on PCI, so CONFIG_PCI always defined for
    them.

    Signed-off-by: Alexey Dobriyan
    Cc: Antonino A. Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Signed-off-by: Alexey Dobriyan
    Cc: Antonino A. Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Since there's no way to autodetect panel modes, we're forced to hardcode them
    in the driver and add a big fat #ifdef. The OLPC DCON needs a specific mode
    line (at 1200x900). This adds it to both gxfb and lxfb.

    (Jordan said: We could probably detect the panel mode, but there isn't any
    reason to since the panel timings are well known and won't change. While OFW
    detection would be good computer science fu, it would be a wasted effort since
    its so easy to hard code them into the table.)

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • If there's no VSA2 (ie, if we're using tinybios or OpenFirmware), use the
    GLIU's P2D Range Offset Descriptor to determine how much memory we have
    available for the framebuffer.

    Originally based on a patch by Jordan Crouse. Tested with OpenFirmware;
    Pascal informs me that tinybios has a stub that fills in P2D_RO0.

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • ..Rather than using magic constants.

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • The Display Control's CRT_EN can be shut off when we enter FB_BLANK_POWERDOWN
    in an attempt to save additional power.

    Signed-off-by: Andres Salomon
    Cc: Jordan Crouse
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • By default disable VT switch, but allow it to be overridden via the
    'vt_switch' module arg.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Match other fb drivers (including gxfb). Also, document the current boot
    arguments in Documentation/fb/lxfb.txt.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • This adds the ability to suspend/resume the lxfb driver, which includes:
    - Register and palette saving code; registers are stored in lxfb_par.
    A few MSR values are saved as well.
    - lx_powerup and lx_powerdown functions which restore/save registers and
    enable/disable graphic engines.
    - lxfb_suspend/lxfb_resume

    Originally based on a patch by Jordan Crouse.

    [akpm@linux-foundation.org: be conventional, save an ifdef]
    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Finally, move the MSR bitfields around in lxfb.h, and rename them. Alas, most
    of that crap appears to be undocumented.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Finally drop the last remnants of df_regs, using vp_regs instead. Also, drop
    panel_width and panel_height from lxfb_par; they're unused.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • - Rename various bitfield defines to match the data sheet names.
    - Rename DF_ register definitions to VP_ to match the data sheet;
    ie, DF_PAR -> VP_PAR.
    - for GP/DC registers, rather than defining to specific addresses, use
    an enum to number them sequentially and just multiply by 4 (bytes) to
    access them (in read_*/write_* functions).
    - for VP/FP registers, use an enum and multiple by 8 (bytes). They're
    64bit registers.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • This creates read_gp/write_gp, read_dc/write_dc, read_vp/write_vp, and
    read_fp/write_fp for reading and updating those registers. Note that we don't
    follow the 'DF' naming; those will be renamed to VP shortly.

    Signed-off-by: Andres Salomon
    Cc: "Antonino A. Daplas"
    Cc: Jordan Crouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Extends the PLL frequency table of the AMD Geode-LX frame buffer driver to
    make use of the DIV4 bit, thus adding support for dotclocks between 6 and 25
    MHz. These are needed for small LCDs (e.g. 320x240). Also inserts some
    intermediate steps between pre-existing frequencies.

    Signed-off-by: Jens Rottmann
    Cc: Jordan Crouse
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jens Rottmann
     
  • AT91SAM9RL soc has a 2048 bytes deep FIFO, like AT91SAM9263.

    [bn@niasdigital.com: fix build breakage in atmel_lcdfb]
    Signed-off-by: Nicolas Ferre
    Cc: "Antonino A. Daplas"
    Cc: Nicolas FERRE
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • Adds different wiring mode for the LCD screen.

    The legacy atmel LCDC IP uses a non standard color mode, "BGR-555.1" instead
    "RGB-565". The major part of graphic stacks for embedded systems uses only
    "RGB-565". It is possible to swap LCD IOs instead of doing this bit swapping
    by software (See application note AT91SAM9 LCD Controller
    http://www.atmel.com/dyn/resources/prod_documents/doc6300.pdf)

    This wire swapping is done on the at91sam9rl-ek board (board code
    using this patch will come later).

    Signed-off-by: Nicolas Ferre
    Cc: David Brownell
    Cc: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Ferre
     
  • Teach atmel_lcdfb driver how to suspend/resume.

    Note that the backlight control should probably do more of the same stuff:
    turning off display power (more than just the backlight) and stopping the
    clocks (and dma to drive the no-longer-seen display). No point in wasting
    power to generate images that can't be observed, after all...

    Signed-off-by: David Brownell
    Signed-off-by: Nicolas Ferre
    Cc: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • If the user specified a fixed framebuffer address on the command line, it may
    have been initialized already with a splash image or something, so we
    shouldn't clear it.

    Therefore, we should only initialize the framebuffer if we allocated it
    ourselves. This patch also updates the AVR32 setup code to clear the
    framebuffer if it allocated it itself, i.e. the user didn't provide a fixed
    address or the reservation failed.

    I've updated the at91 platform code as well so that it initializes the
    framebuffer if it is located in SRAM, but I haven't tested that it actually
    works.

    Signed-off-by: Haavard Skinnemoen
    Cc: "Antonino A. Daplas"
    Cc: Nicolas FERRE
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Correct the dev arg of framebuffer_alloc() in arkfb, s3fb and vt8623fb.

    Signed-off-by: Ondrej Zajicek
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ondrej Zajicek
     
  • After resume from STR, image is shifted by 8 pixels to the left. This patch
    fixes it.

    Signed-off-by: Ondrej Zajicek
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ondrej Zajicek
     
  • There is no reason to drive the savagefb I2C bus at such a low speed, so bump
    it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers
    already run their I2C bus at this speed, and so are the legacy i2c-savage4 and
    i2c-prosavage drivers.

    Signed-off-by: Jean Delvare
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • in #if 0 inactivated function msttfb_load_cursor_image() the call eieio()
    occurs after rather than in the loop due to missing curly brackets.

    Signed-off-by: Roel Kluin
    Cc: Stephen Rothwell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • Don't treat valid modes returned by fb_find_mode() (best-fit modes, default
    modes or the first valid mode) as errors.

    Currently, when fb_find_mode() finds a valid mode belonging to one of the
    above-mentioned classes, uvesafb will ignore it and will try to set a 640x480
    video mode. The expected behaviour (introduced by this patch) would be to use
    the valid mode returned by fb_find_mode() instead.

    Signed-off-by: Michal Januszewski
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Januszewski
     
  • There is no reason to drive the radeon I2C buses at such a low speed, so bump
    it from 12.5 kbps to 50 kbps. The Intel (i810) and Matrox framebuffer drivers
    already run their I2C bus at this speed.

    Signed-off-by: Jean Delvare
    Acked-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • RTRACE() does exactly the same thing as the standard pr_debug() call, so just
    use the latter.

    Signed-off-by: Jean Delvare
    Acked-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Fix CONFIG_FB_RADEON_DEBUG. DEBUG must be defined before including any kernel
    header, otherwise dev_dbg() resolves to a no-op. Also, when debugging is
    disabled, don't set DEBUG at all instead of setting it to 0, to comply with
    what the kernel headers expect.

    Signed-off-by: Jean Delvare
    Acked-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Additionally provide PCI device id in character format if possible. (The
    printable characters were commonly used to identify the cards.)

    Signed-off-by: Andreas Herrmann
    Cc: "Antonino A. Daplas"
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Herrmann
     
  • Fix incorrect length for strncat by replacing it with strlcat

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

    Roel Kluin
     
  • Add removed option "mode" to keep compatibility with existing setups. The
    option is back for pm2fb, tridentfb and vt8623fb drivers.

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

    Krzysztof Helt