1. 18 12月, 2013 1 次提交
  2. 31 10月, 2013 1 次提交
  3. 12 10月, 2013 2 次提交
    • R
      DRM: Armada: Add Armada DRM driver · 96f60e37
      Russell King 提交于
      This patch adds support for the pair of LCD controllers on the Marvell
      Armada 510 SoCs.  This driver supports:
      - multiple contiguous scanout buffers for video and graphics
      - shm backed cacheable buffer objects for X pixmaps for Vivante GPU
        acceleration
      - dual lcd0 and lcd1 crt operation
      - video overlay on each LCD crt via DRM planes
      - page flipping of the main scanout buffers
      - DRM prime for buffer export/import
      
      This driver is trivial to extend to other Armada SoCs.
      
      Included in this commit is the core driver with no output support; output
      support is platform and encoder driver dependent.
      Tested-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      96f60e37
    • D
      drm: Add separate Kconfig option for fbdev helpers · 92b6f89f
      Daniel Vetter 提交于
      For drivers which might want to disable fbdev legacy support.
      
      Select the new option in all drivers for now, so this shouldn't result
      in any change. Drivers need some work anyway to make fbdev support
      optional (if they have it implemented, that is), so the recommended
      way to expose this is by adding per-driver options. At least as long
      as most drivers don't support disabling the fbdev support.
      
      v2: Update for new drm drivers msm and rcar-du. Note that Rob's msm
      driver can already take advantage of this, which allows us to build
      msm without any fbdev depencies in the kernel!
      
      v3: Move the MODULE_* stuff from the fbdev helper file to
      drm_crtc_helper.c.
      
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Acked-by: NDave Airlie <airlied@linux.ie>
      Reviewed-by: NChon Ming Lee <chon.ming.lee@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      92b6f89f
  4. 25 8月, 2013 1 次提交
    • R
      drm/msm: basic KMS driver for snapdragon · c8afe684
      Rob Clark 提交于
      The snapdragon chips have multiple different display controllers,
      depending on which chip variant/version.  (As far as I can tell, current
      devices have either MDP3 or MDP4, and upcoming devices have MDSS.)  And
      then external to the display controller are HDMI, DSI, etc. blocks which
      may be shared across devices which have different display controller
      blocks.
      
      To more easily add support for different display controller blocks, the
      display controller specific bits are split out into a "kms" module,
      which provides the kms plane/crtc/encoder objects.
      
      The external HDMI, DSI, etc. blocks are part encoder, and part connector
      currently.  But I think I will pull in the drm_bridge patches from
      chromeos tree, and split them into a bridge+connector, with the
      registers that need to be set in modeset handled by the bridge.  This
      would remove the 'msm_connector' base class.  But some things need to be
      double checked to make sure I could get the correct ON/OFF sequencing..
      
      This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
      (part of MDP4 block), and hdmi.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      c8afe684
  5. 19 8月, 2013 2 次提交
    • D
      drm: remove procfs code, take 2 · cb6458f9
      Daniel Vetter 提交于
      So almost two years ago I've tried to nuke the procfs code already
      once before:
      
      http://lists.freedesktop.org/archives/dri-devel/2011-October/015707.html
      
      The conclusion was that userspace drivers (specifically libdrm device
      node detection) stopped relying on procfs in 2001. But after some
      digging it turned out that the drmstat tool in libdrm is still using
      those files (but only when certain options are set). So we've decided
      to keep profcs.
      
      But I when I've started to dig around again what exactly this tool
      does I've noticed that it tries to read the "mem", "vm", and "vma"
      files from procfs. Now as far my git history digging shows "mem" never
      did anything useful (at least in the version that first showed up in
      upstream history in 2004) and the file was remove in
      
      commit 955b12de
      Author: Ben Gamari <bgamari@gmail.com>
      Date:   Tue Feb 17 20:08:49 2009 -0500
      
          drm: Convert proc files to seq_file and introduce debugfs
      
      Which means that for over 4 years drmstat has been broken, and no one
      cared. In my opinion that's proof enough that no one is actually using
      drmstat, and so that we can savely nuke the procfs support from drm.
      
      While at it fix up the error case cleanup for debugfs in drm_get_minor.
      
      v2: Fix dates, libdrm stopped relying on procfs for drm node detection
      in 2001.
      
      v3: fixup compilation warning for !CONFIG_DEBUG_FS, reported by
      Fengguang Wu.
      
      Cc: kbuild test robot <fengguang.wu@intel.com>
      Cc: Dave Airlie <airlied@linux.ie>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      cb6458f9
    • R
      drm: add flip-work helper · cabaafc7
      Rob Clark 提交于
      A small helper to queue up work to do, from workqueue context, after a
      flip.  Typically useful to defer unreffing buffers that may be read by
      the display controller until vblank.
      
      v1: original
      v2: wire up docbook + couple docbook fixes
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      cabaafc7
  6. 25 7月, 2013 1 次提交
    • D
      drm: add unified vma offset manager · fe3078fa
      David Herrmann 提交于
      If we want to map GPU memory into user-space, we need to linearize the
      addresses to not confuse mm-core. Currently, GEM and TTM both implement
      their own offset-managers to assign a pgoff to each object for user-space
      CPU access. GEM uses a hash-table, TTM uses an rbtree.
      
      This patch provides a unified implementation that can be used to replace
      both. TTM allows partial mmaps with a given offset, so we cannot use
      hashtables as the start address may not be known at mmap time. Hence, we
      use the rbtree-implementation of TTM.
      
      We could easily update drm_mm to use an rbtree instead of a linked list
      for it's object list and thus drop the rbtree from the vma-manager.
      However, this would slow down drm_mm object allocation for all other
      use-cases (rbtree insertion) and add another 4-8 bytes to each mm node.
      Hence, use the separate tree but allow for later migration.
      
      This is a rewrite of the 2012-proposal by David Airlie <airlied@linux.ie>
      
      v2:
       - fix Docbook integration
       - drop drm_mm_node_linked() and use drm_mm_node_allocated()
       - remove unjustified likely/unlikely usage (but keep for rbtree paths)
       - remove BUG_ON() as drm_mm already does that
       - clarify page-based vs. byte-based addresses
       - use drm_vma_node_reset() for initialization, too
      v4:
       - allow external locking via drm_vma_offset_un/lock_lookup()
       - add locked lookup helper drm_vma_offset_lookup_locked()
      v5:
       - fix drm_vma_offset_lookup() to correctly validate range-mismatches
         (fix (offset > start + pages))
       - fix drm_vma_offset_exact_lookup() to actually do what it says
       - remove redundant vm_pages member (add drm_vma_node_size() helper)
       - remove unneeded goto
       - fix documentation
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@gmail.com>
      fe3078fa
  7. 27 6月, 2013 1 次提交
  8. 01 5月, 2013 1 次提交
  9. 22 4月, 2013 1 次提交
  10. 12 4月, 2013 1 次提交
    • D
      drm: add new QXL driver. (v1.4) · f64122c1
      Dave Airlie 提交于
      QXL is a paravirtual graphics device used by the Spice virtual desktop
      interface.
      
      The drivers uses GEM and TTM to manage memory, the qxl hw fencing however
      is quite different than normal TTM expects, we have to keep track of a number
      of non-linear fence ids per bo that we need to have released by the hardware.
      
      The releases are freed from a workqueue that wakes up and processes the
      release ring.
      
      releases are suballocated from a BO, there are 3 release categories, drawables,
      surfaces and cursor cmds. The hw also has 3 rings for commands, cursor and release handling.
      
      The hardware also have a surface id tracking mechnaism and the driver encapsulates it completely inside the kernel, userspace never sees the actual hw surface
      ids.
      
      This requires a newer version of the QXL userspace driver, so shouldn't be
      enabled until that has been placed into your distro of choice.
      
      Authors: Dave Airlie, Alon Levy
      
      v1.1: fixup some issues in the ioctl interface with padding
      v1.2: add module device table
      v1.3: fix nomodeset, fbcon leak, dumb bo create, release ring irq,
            don't try flush release ring (broken hw), fix -modesetting.
      v1.4: fbcon cpu usage reduction + suitable accel flags.
      Signed-off-by: NAlon Levy <alevy@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f64122c1
  11. 20 2月, 2013 1 次提交
    • R
      drm/tilcdc: add TI LCD Controller DRM driver (v4) · 16ea975e
      Rob Clark 提交于
      A simple DRM/KMS driver for the TI LCD Controller found in various
      smaller TI parts (AM33xx, OMAPL138, etc).  This driver uses the
      CMA helpers.  Currently only the TFP410 DVI encoder is supported
      (tested with beaglebone + DVI cape).  There are also various LCD
      displays, for which support can be added (as I get hw to test on),
      and an external i2c HDMI encoder found on some boards.
      
      The display controller supports a single CRTC.  And the encoder+
      connector are split out into sub-devices.  Depending on which LCD
      or external encoder is actually present, the appropriate output
      module(s) will be loaded.
      
      v1: original
      v2: fix fb refcnting and few other cleanups
      v3: get +/- vsync/hsync from timings rather than panel-info, add
          option DT max-bandwidth field so driver doesn't attempt to
          pick a display mode with too high memory bandwidth, and other
          small cleanups
      v4: remove some unneeded stuff from panel-info struct, properly
          set high bits for hfp/hsw/hbp for rev 2, add DT bindings docs
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Tested-by: NKoen Kooi <koen@dominion.thruhere.net>
      16ea975e
  12. 17 2月, 2013 1 次提交
    • R
      drm/omap: move out of staging · 8bb0daff
      Rob Clark 提交于
      Now that the omapdss interface has been reworked so that omapdrm can use
      dispc directly, we have been able to fix the remaining functional kms
      issues with omapdrm.  And in the mean time the PM sequencing and many
      other of that open issues have been solved.  So I think it makes sense
      to finally move omapdrm out of staging.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      8bb0daff
  13. 28 11月, 2012 1 次提交
  14. 20 11月, 2012 1 次提交
  15. 23 10月, 2012 1 次提交
  16. 18 9月, 2012 3 次提交
  17. 17 5月, 2012 3 次提交
    • D
      drm/kms: driver for virtual cirrus under qemu · f9aa76a8
      Dave Airlie 提交于
      This is the initial driver for emulated cirrus GPU found in qemu.
      This driver only supports the emulated GPU and doesn't attempt
      to bind to any real cirrus GPUs.
      
      This driver is intended to be used with xf86-video-modesetting in userspace.
      It requires at least version 0.3.0
      
      This follow the same design as ast and mgag200, and is based on work
      done by Matthew Garrett previously.
      
      This GPU has no hw cursor, and it can't scanout 32-bpp, only packed 24-bpp.
      i.e. it sucks.
      Reviewed-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f9aa76a8
    • D
      mgag200: initial g200se driver (v2) · 414c4531
      Dave Airlie 提交于
      This is a driver for the G200 server engines chips,
      it doesn't driver any of the Matrix G series desktop cards.
      
      It will bind to G200 SE A,B, G200EV, G200WB, G200EH and G200ER cards.
      
      Its based on previous work done my Matthew Garrett but remodelled
      to follow the same style and flow as the AST server driver. It also
      works along the same lines as the AST server driver wrt memory management.
      
      There is no userspace driver planned, xf86-video-modesetting should be used.
      It also appears these GPUs have no ARGB hw cursors.
      
      v2: add missing tagfifo reset + G200 SE memory bw setup pieces.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      414c4531
    • D
      drm: Initial KMS driver for AST (ASpeed Technologies) 2000 series (v2) · 312fec14
      Dave Airlie 提交于
      This is the initial driver for the Aspeed Technologies chips found in
      servers. This driver supports the AST 2000, 2100, 2200, 2150 and 2300. It
      doesn't support the AST11xx due to lack of hw to test it on, and them requiring
      different codepaths.
      
      This driver is intended to be used with xf86-video-modesetting in userspace.
      
      This driver has a slightly different design than other KMS drivers, but
      future server chips will probably share similiar setup. As these GPUs commonly
      have low video RAM, it doesn't make sense to put the kms console in VRAM
      always. This driver places the kms console into system RAM, and does dirty
      updates to a copy in video RAM. When userspace sets a new scanout buffer,
      it forcefully evicts the video RAM console, and X can create a framebuffer
      that can use all of of video RAM.
      
      This driver uses TTM but in a very simple fashion to control the eviction
      to system RAM of the console, and multiple servers.
      
      v2: add s/r support, fix Kconfig.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      312fec14
  18. 30 3月, 2012 1 次提交
  19. 20 3月, 2012 2 次提交
    • C
      drm: allow loading an EDID as firmware to override broken monitor · da0df92b
      Carsten Emde 提交于
      Broken monitors and/or broken graphic boards may send erroneous or no
      EDID data. This also applies to broken KVM devices that are unable to
      correctly forward the EDID data of the connected monitor but invent
      their own fantasy data.
      
      This patch allows to specify an EDID data set to be used instead of
      probing the monitor for it. It contains built-in data sets of frequently
      used screen resolutions. In addition, a particular EDID data set may be
      provided in the /lib/firmware directory and loaded via the firmware
      interface. The name is passed to the kernel as module parameter of the
      drm_kms_helper module either when loaded
        options drm_kms_helper edid_firmware=edid/1280x1024.bin
      or as kernel commandline parameter
        drm_kms_helper.edid_firmware=edid/1280x1024.bin
      
      It is also possible to restrict the usage of a specified EDID data set
      to a particular connector. This is done by prepending the name of the
      connector to the name of the EDID data set using the syntax
        edid_firmware=[<connector>:]<edid>
      such as, for example,
        edid_firmware=DVI-I-1:edid/1920x1080.bin
      in which case no other connector will be affected.
      
      The built-in data sets are
      Resolution    Name
      --------------------------------
      1024x768      edid/1024x768.bin
      1280x1024     edid/1280x1024.bin
      1680x1050     edid/1680x1050.bin
      1920x1080     edid/1920x1080.bin
      
      They are ignored, if a file with the same name is available in the
      /lib/firmware directory.
      
      The built-in EDID data sets are based on standard timings that may not
      apply to a particular monitor and even crash it. Ideally, EDID data of
      the connected monitor should be used. They may be obtained through the
      drm/cardX/cardX-<connector>/edid entry in the /sys/devices PCI directory
      of a correctly working graphics adapter.
      
      It is even possible to specify the name of an EDID data set on-the-fly
      via the /sys/module interface, e.g.
      echo edid/myedid.bin >/sys/module/drm_kms_helper/parameters/edid_firmware
      The new screen mode is considered when the related kernel function is
      called for the first time after the change. Such calls are made when the
      X server is started or when the display settings dialog is opened in an
      already running X server.
      Signed-off-by: NCarsten Emde <C.Emde@osadl.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      da0df92b
    • D
      drm/usb: move usb support into a separate module · 9c1dfc55
      Dave Airlie 提交于
      In order to satisfy all the various Kconfig options between
      USB and DRM, we need to split the USB code out into a separate module
      and export symbols to it.
      
      This fixes build problems in -next reported by sfr.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      9c1dfc55
  20. 16 3月, 2012 1 次提交
  21. 15 3月, 2012 1 次提交
    • D
      drm/udl: initial UDL driver (v4) · 5320918b
      Dave Airlie 提交于
      This is an initial drm/kms driver for the displaylink devices.
      
      Supports fb_defio,
      supports KMS dumb interface
      supports 24bpp via conversion to 16bpp, hw can do this better.
      supports hot unplug using new drm core features.
      
      On an unplug, it disables connector polling, unplugs connectors
      from sysfs, unplugs fbdev layer (using Kay's API), drops all the
      USB device URBs, and call the drm core to unplug the device.
      
      This driver is based in large parts on udlfb.c so I've licensed
      it under GPLv2.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5320918b
  22. 22 12月, 2011 1 次提交
  23. 16 11月, 2011 1 次提交
  24. 05 10月, 2011 1 次提交
    • I
      DRM: add DRM Driver for Samsung SoC EXYNOS4210. · 1c248b7d
      Inki Dae 提交于
      This patch is a DRM Driver for Samsung SoC Exynos4210 and now enables
      only FIMD yet but we will add HDMI support also in the future.
      
      this patch is based on git repository below:
      git://people.freedesktop.org/~airlied/linux.git
      branch name: drm-next
      commit-id: 88ef4e3f
      
      you can refer to our working repository below:
      http://git.infradead.org/users/kmpark/linux-2.6-samsung
      branch name: samsung-drm
      
      We tried to re-use lowlevel codes of the FIMD driver(s3c-fb.c
      based on Linux framebuffer) but couldn't so because lowlevel codes
      of s3c-fb.c are included internally and so FIMD module of this driver has
      its own lowlevel codes.
      
      We used GEM framework for buffer management and DMA APIs(dma_alloc_*)
      for buffer allocation so we can allocate physically continuous memory
      for DMA through it and also we could use CMA later if CMA is applied to
      mainline.
      
      Refer to this link for CMA(Continuous Memory Allocator):
      http://lkml.org/lkml/2011/7/20/45
      
      this driver supports only physically continuous memory(non-iommu).
      
      Links to previous versions of the patchset:
      v1: < https://lwn.net/Articles/454380/ >
      v2: < http://www.spinics.net/lists/kernel/msg1224275.html >
      v3: < http://www.spinics.net/lists/dri-devel/msg13755.html >
      v4: < http://permalink.gmane.org/gmane.comp.video.dri.devel/60439 >
      v5: < http://comments.gmane.org/gmane.comp.video.dri.devel/60802 >
      
      Changelog v2:
      DRM: add DRM_IOCTL_SAMSUNG_GEM_MMAP ioctl command.
      
          this feature maps user address space to physical memory region
          once user application requests DRM_IOCTL_SAMSUNG_GEM_MMAP ioctl.
      
      DRM: code clean and add exception codes.
      
      Changelog v3:
      DRM: Support multiple irq.
      
          FIMD and HDMI have their own irq handler but DRM Framework can regiter
          only one irq handler this patch supports mutiple irq for Samsung SoC.
      
      DRM: Consider modularization.
      
          each DRM, FIMD could be built as a module.
      
      DRM: Have indenpendent crtc object.
      
          crtc isn't specific to SoC Platform so this patch gets a crtc
          to be used as common object.
          created crtc could be attached to any encoder object.
      
      DRM: code clean and add exception codes.
      
      Changelog v4:
      DRM: remove is_defult from samsung_fb.
      
          is_default isn't used for default framebuffer.
      
      DRM: code refactoring to fimd module.
          this patch is be considered with multiple display objects and
          would use its own request_irq() to register a irq handler instead of
          drm framework's one.
      
      DRM: remove find_samsung_drm_gem_object()
      
      DRM: move kernel private data structures and definitions to driver folder.
      
          samsung_drm.h would contain only public information for userspace
          ioctl interface.
      
      DRM: code refactoring to gem modules.
          buffer module isn't dependent of gem module anymore.
      
      DRM: fixed security issue.
      
      DRM: remove encoder porinter from specific connector.
      
          samsung connector doesn't need to have generic encoder.
      
      DRM: code clean and add exception codes.
      
      Changelog v5:
      DRM: updated fimd(display controller) driver.
          added various pixel formats, color key and pixel blending features.
      
      DRM: removed end_buf_off from samsung_drm_overlay structure.
          this variable isn't used and end buffer address would be
          calculated by each sub driver.
      
      DRM: use generic function for mmap_offset.
          replaced samsung_drm_gem_create_mmap_offset() and
          samsung_drm_free_mmap_offset() with generic ones applied
          to mainline recentrly.
      
      DRM: removed unnecessary codes and added exception codes.
      
      DRM: added comments and code clean.
      
      Changelog v6:
      DRM: added default config options.
      
      DRM: added padding for 64-bit align.
      
      DRM: changed prefix 'samsung' to 'exynos'
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NSeung-Woo Kim <sw0312.kim@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Reviewed-by: NDave Airlie <airlied@redhat.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1c248b7d
  25. 07 2月, 2011 2 次提交
  26. 30 8月, 2010 1 次提交
  27. 04 8月, 2010 1 次提交
  28. 02 7月, 2010 1 次提交
  29. 01 6月, 2010 1 次提交
  30. 23 2月, 2010 1 次提交
    • P
      drm: Add generic multipart buffer. · 7a9f0dd9
      Pauli Nieminen 提交于
      Allocating multiple pages of memory for data that is coming
      from user space may fail. To fix memory allocation failures
      the buffer object should be split to multiple independ pages.
      
      drm buffer provides generic interface to copy and process
      large data arrays from user space.
      
      Interface includes allocation and free functions to allocate
      the buffer object and data storage pages.
      
      All access operations are performed relative to a internal
      pointer which is advanced with drm_buffer_advance function.
      
      The buffer can be accessed using drm_buffer_pointer_to_XXX
      functions if it is known that requested object doesn't split
      over a page boundary. These functions don't do any error
      checking to maximize performance.
      
      If there is large object which could be split there is special
      drm_buffer_read_object function. drm_buffer_read_object takes
      a pointer as argument which is used as temporary store for
      data if it is split over boundary in the buffer.
      Signed-off-by: NPauli Nieminen <suokkos@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      7a9f0dd9
  31. 15 12月, 2009 1 次提交
  32. 11 12月, 2009 1 次提交
    • B
      drm/nouveau: Add DRM driver for NVIDIA GPUs · 6ee73861
      Ben Skeggs 提交于
      This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.
      
      This driver is a KMS-based driver and requires a compatible nouveau
      userspace libdrm and nouveau X.org driver.
      
      This driver requires firmware files not available in this kernel tree,
      interested parties can find them via the nouveau project git archive.
      
      This driver is reverse engineered, and is in no way supported by nVidia.
      
      Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
      is available, and the kms driver should support driving nearly all
      output types (displayport is under development still) along with supporting
      suspend/resume.
      
      This work is all from the upstream nouveau project found at
      nouveau.freedesktop.org.
      
      The original authors list from nouveau git tree is:
      Anssi Hannula <anssi.hannula@iki.fi>
      Ben Skeggs <bskeggs@redhat.com>
      Francisco Jerez <currojerez@riseup.net>
      Maarten Maathuis <madman2003@gmail.com>
      Marcin Kościelnicki <koriakin@0x04.net>
      Matthew Garrett <mjg@redhat.com>
      Matt Parnell <mparnell@gmail.com>
      Patrice Mandin <patmandin@gmail.com>
      Pekka Paalanen <pq@iki.fi>
      Xavier Chantry <shiningxc@gmail.com>
      along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6ee73861