1. 21 1月, 2016 1 次提交
    • C
      dma-mapping: always provide the dma_map_ops based implementation · e1c7e324
      Christoph Hellwig 提交于
      Move the generic implementation to <linux/dma-mapping.h> now that all
      architectures support it and remove the HAVE_DMA_ATTR Kconfig symbol now
      that everyone supports them.
      
      [valentinrothberg@gmail.com: remove leftovers in Kconfig]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: Chris Metcalf <cmetcalf@ezchip.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Helge Deller <deller@gmx.de>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Steven Miao <realmz6@gmail.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: NValentin Rothberg <valentinrothberg@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e1c7e324
  2. 22 12月, 2015 1 次提交
  3. 15 12月, 2015 1 次提交
  4. 21 10月, 2015 1 次提交
    • E
      drm/vc4: Add KMS support for Raspberry Pi. · c8b75bca
      Eric Anholt 提交于
      This is enough for fbcon and bringing up X using
      xf86-video-modesetting.  It doesn't support the 3D accelerator or
      power management yet.
      
      v2: Drop FB_HELPER select thanks to Archit's patches.  Do manual init
          ordering instead of using the .load hook.  Structure registration
          more like tegra's, but still using the typical "component" code.
          Drop no-op hooks for atomic_begin and mode_fixup() now that
          they're optional.  Drop sentinel in Makefile.  Fix minor style
          nits I noticed on another reread.
      
      v3: Use the new bcm2835 clk driver to manage pixel/HSM clocks instead
          of having a fixed video mode.  Use exynos-style component driver
          matching instead of devicetree nodes to list the component driver
          instances.  Rename compatibility strings to say bcm2835, and
          distinguish pv0/1/2.  Clean up some h/vsync code, and add in
          interlaced mode setup.  Fix up probe/bind error paths.  Use
          bitops.h macros for vc4_regs.h
      
      v4: Include i2c.h, allow building under COMPILE_TEST, drop msleep now
          that other bugs have been fixed, add timeouts to cpu_relax()
          loops, rename hpd-gpio to hpd-gpios.
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c8b75bca
  5. 20 8月, 2015 1 次提交
    • J
      drm/layerscape: Add Freescale DCU DRM driver · 109eee2f
      Jianwei Wang 提交于
      This patch add support for Two Dimensional Animation and Compositing
      Engine (2D-ACE) on the Freescale SoCs.
      
      2D-ACE is a Freescale display controller. 2D-ACE describes
      the functionality of the module extremely well its name is a value
      that cannot be used as a token in programming languages.
      Instead the valid token "DCU" is used to tag the register names and
      function names.
      
      The Display Controller Unit (DCU) module is a system master that
      fetches graphics stored in internal or external memory and displays
      them on a TFT LCD panel. A wide range of panel sizes is supported
      and the timing of the interface signals is highly configurable.
      Graphics are read directly from memory and then blended in real-time,
      which allows for dynamic content creation with minimal CPU
      intervention.
      
      The features:
      (1) Full RGB888 output to TFT LCD panel.
      (2) Blending of each pixel using up to 4 source layers
      dependent
      on size of panel.
      (3) Each graphic layer can be placed with one pixel resolution
      in either axis.
      (4) Each graphic layer support RGB565 and RGB888 direct colors
      without alpha channel and BGRA8888 BGRA4444 ARGB1555 direct
      colors
      with an alpha channel and YUV422 format.
      (5) Each graphic layer support alpha blending with 8-bit
      resolution.
      This is a simplified version, only one primary plane, one
      framebuffer, one crtc, one connector and one encoder for TFT
      LCD panel.
      Signed-off-by: NAlison Wang <b18965@freescale.com>
      Signed-off-by: NXiubo Li <lixiubo@cmss.chinamobile.com>
      Signed-off-by: NJianwei Wang <jianwei.wang.chn@gmail.com>
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      109eee2f
  6. 18 8月, 2015 2 次提交
  7. 15 8月, 2015 1 次提交
  8. 06 8月, 2015 3 次提交
    • A
      drm: Add top level Kconfig option for DRM fbdev emulation · a03fdcb1
      Archit Taneja 提交于
      Legacy fbdev emulation support via DRM is achieved through KMS FB helpers.
      Most modesetting drivers enable provide fbdev emulation by default by
      selecting KMS FB helpers. A few provide a separate Kconfig option for the
      user to enable or disbale fbdev emulation.
      
      Enabling fbdev emulation is finally a distro-level decision. Having a top
      level Kconfig option for fbdev emulation helps by providing a uniform way
      to enable/disable fbdev emulation for any modesetting driver. It also lets
      us remove unnecessary driver specific Kconfig options that causes bloat.
      
      With a top level Kconfig in place, we can stub out the fb helper functions
      when not needed without breaking functionality. Having stub functions also
      prevents drivers to require wrapping fb helper function calls with #ifdefs.
      
      DRM_FBDEV_EMULATION defaults to y since many drivers enable fbdev
      emulation by default and majority of distributions expect the fbdev
      interface in the kernel.
      Signed-off-by: NArchit Taneja <architt@codeaurora.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a03fdcb1
    • A
      drm/fb_helper: Create wrappers for blit, copyarea and fillrect funcs · 742547b7
      Archit Taneja 提交于
      drm drivers that emulate fbdev populate their fb_fillrect, fb_copyarea
      and fb_imageblit fb_ops with the help of cfb_* or sys_* fbdev core
      helper functions.
      
      Create drm_fb_helper functions that wrap around these calls.
      
      This is part of an effort to prevent drm drivers from calling fbdev
      functions directly, in order to make fbdev emulation a top level drm
      option.
      
      v3:
      - Fixed kerneldoc errors
      
      v2:
      - Added kerneldocs
      - Follow the drm way of aligning of arguments in func definitions
      - Remove unnecessary checks for non NULL fb_info
      Signed-off-by: NArchit Taneja <architt@codeaurora.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      742547b7
    • A
      drm/fb_helper: Create wrappers for fb_sys_read/write funcs · cbb1a82e
      Archit Taneja 提交于
      Some drm drivers populate their fb_ops with fb_sys_read/write fb sysfs
      ops.
      
      Create a drm_fb_helper function that wraps around these calls.
      
      This is part of an effort to prevent drm drivers from calling fbdev
      functions directly, in order to make fbdev emulation a top level drm
      option.
      
      v3:
      - Fix kerneldoc errors
      
      v2:
      - Added kerneldocs
      - Follow the drm way of aligning of arguments in func definitions
      - Remove unnecessary checks for non NULL fb_info
      Signed-off-by: NArchit Taneja <architt@codeaurora.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      cbb1a82e
  9. 04 6月, 2015 1 次提交
  10. 03 6月, 2015 1 次提交
    • D
      Add virtio gpu driver. · dc5698e8
      Dave Airlie 提交于
      This patch adds a kms driver for the virtio gpu.  The xorg modesetting
      driver can handle the device just fine, the framebuffer for fbcon is
      there too.
      
      Qemu patches for the host side are under review currently.
      
      The pci version of the device comes in two variants: with and without
      vga compatibility.  The former has a extra memory bar for the vga
      framebuffer, the later is a pure virtio device.  The only concern for
      this driver is that in the virtio-vga case we have to kick out the
      firmware framebuffer.
      
      Initial revision has only 2d support, 3d (virgl) support requires
      some more work on the qemu side and will be added later.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      dc5698e8
  11. 02 4月, 2015 1 次提交
  12. 03 2月, 2015 1 次提交
    • C
      drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS · db88c8f4
      Chen Gang S 提交于
      DRM_GEM_CMA_HELPER is depend on HAVE_DMA_ATTRS, or it will break the
      building. The related error (with allmodconfig under xtensa):
      
          CC [M]  drivers/gpu/drm/drm_gem_cma_helper.o
        drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_create':
        drivers/gpu/drm/drm_gem_cma_helper.c:110:19: error: implicit declaration of function 'dma_alloc_writecombine' [-Werror=implicit-function-declaration]
          cma_obj->vaddr = dma_alloc_writecombine(drm->dev, size,
                           ^
        drivers/gpu/drm/drm_gem_cma_helper.c:110:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
          cma_obj->vaddr = dma_alloc_writecombine(drm->dev, size,
                         ^
        drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_free_object':
        drivers/gpu/drm/drm_gem_cma_helper.c:193:3: error: implicit declaration of function 'dma_free_writecombine' [-Werror=implicit-function-declaration]
           dma_free_writecombine(gem_obj->dev->dev, cma_obj->base.size,
           ^
        drivers/gpu/drm/drm_gem_cma_helper.c: In function 'drm_gem_cma_mmap_obj':
        drivers/gpu/drm/drm_gem_cma_helper.c:330:8: error: implicit declaration of function 'dma_mmap_writecombine' [-Werror=implicit-function-declaration]
          ret = dma_mmap_writecombine(cma_obj->base.dev->dev, vma,
                ^
      Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      db88c8f4
  13. 22 1月, 2015 1 次提交
  14. 21 1月, 2015 1 次提交
  15. 02 12月, 2014 1 次提交
  16. 26 11月, 2014 1 次提交
    • P
      drm: imx: Move imx-drm driver out of staging · 6556f7f8
      Philipp Zabel 提交于
      The imx-drm driver was put into staging mostly for the following reasons,
      all of which have been addressed or superseded:
       - convert the irq driver to use linear irq domains
       - work out the device tree bindings, this lead to the common of_graph
         bindings being used
       - factor out common helper functions, this mostly resulted in the
         component framework and drm of_graph helpers.
      
      Before adding new fixes, and certainly before adding new features,
      move it into its proper place below drivers/gpu/drm.
      Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6556f7f8
  17. 10 9月, 2014 1 次提交
  18. 11 8月, 2014 1 次提交
  19. 06 8月, 2014 1 次提交
    • C
      drm: Perform cmdline mode parsing during connector initialisation · eaf99c74
      Chris Wilson 提交于
      i915.ko has a custom fbdev initialisation routine that aims to preserve
      the current mode set by the BIOS, unless overruled by the user. The
      user's wishes are determined by what, if any, mode is specified on the
      command line (via the video= parameter). However, that command line mode
      is first parsed by drm_fb_helper_initial_config() which is called after
      i915.ko's custom initial_config() as a fallback method. So in order for
      us to honour it, we need to move the cmdline parser earlier. If we
      perform the connector cmdline parsing as soon as we initialise the
      connector, that cmdline mode and forced status is then available even if
      the fbdev helper is not compiled in or never called.
      
      We also then expose the cmdline user mode in the connector mode lists.
      
      v2: Rebase after connector->name upheaval.
      
      v3: Adapt mga200 to look for the cmdline mode in the new place. Nicely
      simplifies things while at that.
      
      v4: Fix checkpatch.
      
      v5: Select FB_CMDLINE to adapt to the changed fbdev patch.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73154
      Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (v2)
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> (v2)
      Cc: dri-devel@lists.freedesktop.org
      Cc: Julia Lemire <jlemire@matrox.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      eaf99c74
  20. 05 8月, 2014 1 次提交
  21. 31 7月, 2014 1 次提交
  22. 17 7月, 2014 1 次提交
    • O
      amdkfd: Add amdkfd skeleton driver · 4a488a7a
      Oded Gabbay 提交于
      This patch adds the amdkfd skeleton driver. The driver does nothing except
      define a /dev/kfd device.
      
      It returns -ENODEV on all amdkfd IOCTLs.
      
      v3: Move bool field to the end of structure, removed the pmc ioctls and added
      a meaningful error message for ioctl error.
      
      v5:
      
      Create a new folder drm/amd and move amdkfd from drm/radeon/ to drm/amd/
      Remove scheduler_class from kfd_priv.h as it was never used
      Add skeleton implementation of the Get Version IOCTL
      
      v6:
      Update module version to the correct number and remove the "default m" from the
      Kconfig file
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      4a488a7a
  23. 02 6月, 2014 1 次提交
    • J
      drm/exynos: Fix PTN3460 dependency · b26c04f4
      Jean Delvare 提交于
      The following configuration options combination:
      
      CONFIG_DRM_EXYNOS_DP=y
      CONFIG_DRM_PTN3460=m
      
      currently leads to the following linker failure:
      
      drivers/built-in.o: In function `exynos_drm_attach_lcd_bridge':
      .../drivers/gpu/drm/exynos/exynos_dp_core.c:1004:
      undefined reference to `ptn3460_init'
      
      This is because ptn3460_init can't be implemented in a module while
      its caller is built into the kernel. So add the proper dependency in
      Kconfig so that the above can't happen.
      
      I moved DRM_PTN3460 earlier in Kconfig, next to the I2C helper module
      section, so that the user has a chance to select it before moving to
      the Exynos-specific section.
      
      IMHO the proper way to solve the problem would be to turn ptn3460 into
      a clean I2C driver, similar to the other I2C helper chip drivers. It's
      the only way to not sink into impossible-to-guess dependencies. Then
      ptn3460 could even be moved together with the other I2C helper chip
      drivers.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      b26c04f4
  24. 23 3月, 2014 1 次提交
  25. 23 12月, 2013 1 次提交
  26. 18 12月, 2013 2 次提交
    • T
      drm: Add panel support · aead40ea
      Thierry Reding 提交于
      Add a very simple framework to register and lookup panels. Panel drivers
      can initialize a DRM panel and register it with the framework, allowing
      them to be retrieved and used by display drivers. Currently only support
      for DPMS and obtaining panel modes is provided. However it should be
      sufficient to enable a large number of panels. The framework should also
      be easily extensible to support more sophisticated kinds of panels such
      as DSI.
      
      The framework hasn't been tied into the DRM core, even though it should
      be easily possible to do so if that's what we want. In the current
      implementation, display drivers can simple make use of it to retrieve a
      panel, obtain its modes and control its DPMS mode.
      
      Note that this is currently only tested on systems that boot from a
      device tree. No glue code has been written yet for systems that use
      platform data, but it should be easy to add.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      aead40ea
    • A
      drm: Add MIPI DSI bus support · 068a0023
      Andrzej Hajda 提交于
      MIPI DSI bus allows to model DSI hosts and DSI peripherals using the
      Linux driver model. DSI hosts are registered by the DSI host drivers.
      During registration DSI peripherals will be created from the children
      of the DSI host's device tree node. Support for registration from
      board-setup code will be added later when needed.
      
      DSI hosts expose operations which can be used by DSI peripheral drivers
      to access associated devices.
      Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      068a0023
  27. 31 10月, 2013 1 次提交
  28. 12 10月, 2013 3 次提交
    • 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/i915: Kconfig option to disable the legacy fbdev support · 4520f53a
      Daniel Vetter 提交于
      Boots Just Fine (tm)!
      
      The only glitch seems to be that at least on Fedora the boot splash
      gets confused and doesn't display much at all.
      
      And since there's no ugly console flickering anymore in between, the
      flicker while switching between X servers (VT support is still enabled)
      is even more jarring.
      
      Also, I'm unsure whether we don't need to somehow kick out vgacon, now
      that nothing else gets in the way. But stuff seems to work, so I
      don't care. Also everything still works as well with VGA_CONSOLE=n
      
      Also the #ifdef mess needs a bit of a cleanup, follow-up patches will
      do just that.
      
      To keep the Kconfig tidy, extract all the i915 options into its own
      file.
      
      v2:
      - Rebase on top of the preliminary hw support option and the
        intel_drv.h cleanup.
      - Shut up warnings in i915_debugfs.c
      
      v3: Use the right CONFIG variable, spotted by Chon Ming.
      
      Cc: Lee, Chon Ming <chon.ming.lee@intel.com>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: NChon Ming Lee <chon.ming.lee@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4520f53a
    • 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
  29. 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
  30. 22 8月, 2013 1 次提交
  31. 19 8月, 2013 1 次提交
    • G
      drm: DRM should depend on HAS_DMA · cc6a36f2
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
      drivers/built-in.o: In function `__drm_pci_free':
      drivers/gpu/drm/drm_pci.c:112: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `drm_pci_alloc':
      drivers/gpu/drm/drm_pci.c:72: undefined reference to `dma_alloc_coherent'
      drivers/built-in.o: In function `drm_gem_unmap_dma_buf':
      drivers/gpu/drm/drm_prime.c:87: undefined reference to `dma_unmap_sg'
      drivers/built-in.o: In function `drm_gem_map_dma_buf':
      drivers/gpu/drm/drm_prime.c:78: undefined reference to `dma_map_sg'
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      cc6a36f2
  32. 28 6月, 2013 1 次提交
  33. 27 6月, 2013 1 次提交
  34. 22 4月, 2013 1 次提交