1. 16 12月, 2010 1 次提交
    • D
      video: add driver for PXA3xx 2D graphics accelerator · 364dbdf3
      Daniel Mack 提交于
      This adds a driver for the the 2D graphics accelerator found on PXA3xx
      processors. Only resource mapping, interrupt handling and a simple ioctl
      handler is done by the kernel part, the rest of the logic is implemented
      in DirectFB userspace.
      
      Graphic applications greatly benefit for line drawing, blend, and
      rectangle and triangle filling operations.
      
      Benchmarks done on a PXA303 using the df_dok benchmarking tool follow,
      where the value in square brackets show the CPU usage during that test.
      
      Without accelerator (benchmarking 256x252 on 480x262 RGB16 (16bit)):
      
        Anti-aliased Text                              3.016 secs (   65.649 KChars/sec) [ 99.6%]
        Fill Rectangle                                 3.021 secs (  175.107 MPixel/sec) [ 98.0%]
        Fill Rectangle (blend)                         3.582 secs (    3.602 MPixel/sec) [ 99.7%]
        Fill Rectangles [10]                           3.177 secs (  182.753 MPixel/sec) [ 98.1%]
        Fill Rectangles [10] (blend)                  18.020 secs (    3.580 MPixel/sec) [ 98.7%]
        Fill Spans                                     3.019 secs (  145.306 MPixel/sec) [ 98.0%]
        Fill Spans (blend)                             3.616 secs (    3.568 MPixel/sec) [ 99.4%]
        Blit                                           3.074 secs (   39.874 MPixel/sec) [ 98.0%]
        Blit 180                                       3.020 secs (   32.042 MPixel/sec) [ 98.0%]
        Blit with format conversion                    3.005 secs (   19.321 MPixel/sec) [ 99.6%]
        Blit from 32bit (blend)                        4.792 secs (    2.692 MPixel/sec) [ 98.7%]
      
      With accelerator:
      
        Anti-aliased Text                              3.056 secs (*  36.518 KChars/sec) [ 21.3%]
        Fill Rectangle                                 3.015 secs (* 115.543 MPixel/sec) [  8.9%]
        Fill Rectangle (blend)                         3.180 secs (*  20.286 MPixel/sec) [  1.8%]
        Fill Rectangles [10]                           3.251 secs (* 119.062 MPixel/sec) [  1.2%]
        Fill Rectangles [10] (blend)                   6.293 secs (*  20.502 MPixel/sec) [  0.3%]
        Fill Spans                                     3.051 secs (*  97.264 MPixel/sec) [ 35.7%]
        Fill Spans (blend)                             3.377 secs (*  15.282 MPixel/sec) [ 17.8%]
        Blit                                           3.046 secs (*  27.533 MPixel/sec) [  2.6%]
        Blit 180                                       3.098 secs (*  27.070 MPixel/sec) [  2.2%]
        Blit with format conversion                    3.131 secs (*  39.148 MPixel/sec) [  2.8%]
        Blit from 32bit (blend)                        3.346 secs (*  11.568 MPixel/sec) [  0.8%]
      Signed-off-by: NDaniel Mack <daniel@caiaq.de>
      Tested-by: NSven Neumann <s.neumann@raumfeld.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Denis Oliver Kropp <dok@directfb.org>
      Cc: Sven Neumann <s.neumann@raumfeld.com>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      364dbdf3
  2. 05 8月, 2010 1 次提交
  3. 04 8月, 2010 1 次提交
  4. 24 5月, 2010 1 次提交
  5. 14 3月, 2010 1 次提交
  6. 13 3月, 2010 1 次提交
  7. 16 12月, 2009 1 次提交
  8. 09 12月, 2009 1 次提交
    • T
      OMAP: Add VRAM manager · afedec18
      Tomi Valkeinen 提交于
      Add a Video RAM manager for OMAP 2 and 3 platforms. VRAM manager is used
      to allocate large continuous blocks of SDRAM or SRAM. The features VRAM
      manager has that are missing from dma_alloc_* functions are:
      
      - Support for OMAP2's SRAM
      - Allocate without ioremapping
      - Allocate at defined physical addresses
      - Allows larger VRAM area and larger allocations
      
      The upcoming DSS2 uses VRAM manager.
      
      VRAM area size can be defined in kernel config, board file or with
      kernel boot parameters. Board file definition overrides kernel config,
      and boot parameter overrides kernel config and board file.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@nokia.com>
      afedec18
  9. 23 9月, 2009 3 次提交
  10. 13 6月, 2009 1 次提交
  11. 07 5月, 2009 1 次提交
  12. 01 4月, 2009 2 次提交
  13. 27 2月, 2009 2 次提交
  14. 10 2月, 2009 1 次提交
  15. 22 1月, 2009 1 次提交
  16. 13 1月, 2009 2 次提交
  17. 07 11月, 2008 1 次提交
  18. 17 10月, 2008 3 次提交
  19. 27 8月, 2008 1 次提交
  20. 29 7月, 2008 1 次提交
  21. 25 7月, 2008 4 次提交
  22. 28 4月, 2008 2 次提交
    • J
      fbdev: platforming metronomefb and am200epd · 03c33a4f
      Jaya Kumar 提交于
      This patch splits metronomefb into the platform independent metronomefb and
      the platform dependent am200epd.
      Signed-off-by: NJaya Kumar <jayakumar.lkml@gmail.com>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      03c33a4f
    • Y
      fbdev: powerpc: driver for Freescale 8610 and 5121 DIU · 9b53a9e2
      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: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9b53a9e2
  23. 25 4月, 2008 1 次提交
  24. 20 3月, 2008 1 次提交
  25. 11 3月, 2008 1 次提交
  26. 30 11月, 2007 1 次提交
    • H
      x86_64 EFI boot support: EFI frame buffer driver · 7c83172b
      Huang, Ying 提交于
      This patch adds Graphics Output Protocol support to the kernel.  UEFI2.0 spec
      deprecates Universal Graphics Adapter (UGA) protocol and only Graphics Output
      Protocol (GOP) is produced.  Therefore, the boot loader needs to query the
      UEFI firmware with appropriate Output Protocol and pass the video information
      to the kernel.  As a result of GOP protocol, an EFI framebuffer driver is
      needed for displaying console messages.  The patch adds a EFI framebuffer
      driver.  The EFI frame buffer driver in this patch is based on the Intel Mac
      framebuffer driver.
      
      The ELILO bootloader takes care of passing the video information as
      appropriate for EFI firmware.
      
      The framebuffer driver has been tested in i386 kernel and x86_64 kernel on EFI
      platform.
      Signed-off-by: NChandramouli Narayanan <mouli@linux.intel.com>
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andi Kleen <ak@suse.de>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7c83172b
  27. 17 10月, 2007 2 次提交
    • M
      bf54x-lq043fb: framebuffer driver for Blackfin BF54x framebuffer device driver · e9fa7c43
      Michael Hennerich 提交于
      Blackfin BF54x framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD
      
      [adaplas]
      Add 'fb' suffix to driver name.
      Move Makefile entry under platform device section
      Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: NBryan Wu <bryan.wu@analog.com>
      Signed-off-by: NAntonino Daplas <adaplas@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e9fa7c43
    • M
      uvesafb: the driver core · 8bdb3a2d
      Michal Januszewski 提交于
      uvesafb is an enhanced version of vesafb.  It uses a userspace helper (v86d)
      to execute calls to the x86 Video BIOS functions.  The driver is not limited
      to any specific arch and whether it works on a given arch or not depends on
      that arch being supported by the userspace daemon.  It has been tested on
      x86_32 and x86_64.
      
      A single BIOS call is represented by an instance of the uvesafb_ktask
      structure.  This structure contains a buffer, a completion struct and a
      uvesafb_task substructure, containing the values of the x86 registers, a flags
      field and a field indicating the length of the buffer.  Whenever a BIOS call
      is made in the driver, uvesafb_exec() builds a message using the uvesafb_task
      substructure and the contents of the buffer.  This message is then assigned a
      random ack number and sent to the userspace daemon using the connector
      interface.
      
      The message's sequence number is used as an index for the uvfb_tasks array,
      which provides a mapping from the messages coming from userspace to the
      in-kernel uvesafb_ktask structs.
      
      The userspace daemon performs the requested operation and sends a reply in the
      form of a uvesafb_task struct and, optionally, a buffer.  The seq and ack
      numbers in the reply should be exactly the same as those in the request.
      
      Each message from userspace is processed by uvesafb_cn_callback() and after
      passing a few sanity checks leads to the completion of a BIOS call request.
      Signed-off-by: NMichal Januszewski <spock@gentoo.org>
      Signed-off-by: NAntonino Daplas <adaplas@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Paulo Marques <pmarques@grupopie.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8bdb3a2d
  28. 01 8月, 2007 1 次提交