1. 20 Nov, 2014 12 commits
  2. 16 Nov, 2014 22 commits
  3. 15 Nov, 2014 1 commit
  4. 14 Nov, 2014 5 commits
    • Dave Airlie's avatar
      Merge tag 'drm/gem-cma/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next · ca5a71de
      Dave Airlie authored
      drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input
      
      Some drivers erroneously treat the .pitch and .size fields of struct
      drm_mode_create_dumb as inputs. While the include/uapi/drm/drm_mode.h
      header has a comment denoting them as outputs, that seemingly wasn't
      enough to make drivers use them properly.
      
      The result is that some userspace doesn't explicitly zero out those
      fields, assuming that the kernel won't use them. That causes problems
      since the data within the structure might be uninitialized, so bogus
      data may end up confusing drivers (ridiculously large values for the
      pitch, ...).
      
      This series attempts to improve the situation by fixing all drivers to
      not use the output fields. Furthermore to spare new drivers this bad
      surprise, the DRM core now zeros out these fields prior to handing the
      data structure to the driver.
      
      Lessons learned from this are that future IOCTLs should be properly
      documented (in the DRM DocBook for example) and should be rigorously
      defined. To prevent misuse like this, userspace should be required to
      zero out all output fields. The kernel should check for this and fail
      if that's not the case.
      
      * tag 'drm/gem-cma/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux:
        drm/cma: Remove call to drm_gem_free_mmap_offset()
        drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input
        drm/rcar: gem: dumb: pitch is an output
        drm/omap: gem: dumb: pitch is an output
        drm/cma: Introduce drm_gem_cma_dumb_create_internal()
        drm/doc: Add GEM/CMA helpers to kerneldoc
        drm/doc: mm: Fix indentation
        drm/gem: Fix a few kerneldoc typos
      ca5a71de
    • Dave Airlie's avatar
      drm/qxl: use suggested x/y offset properties to pass guest prefs · 7dea0941
      Dave Airlie authored
      This passes the guest preferences for a where to place the
      outputs through to userspace. Userspace would need to be updated
      to take note of this information, X server and GNOME.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7dea0941
    • Dave Airlie's avatar
      drm: add properties for suggested x/y offset for connectors. (v2) · 5bb2bbf5
      Dave Airlie authored
      Virtual GPUs would like to give the guest some indication where on the screen
      the outputs are layed out. So far we only provide modes, these
      properties could be exposed to userspace so the desktop environment
      could use them as hints to set the correct offsets.
      
      v2: rename properties to be more consistent.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      5bb2bbf5
    • Daniel Vetter's avatar
      drm: Simplify return value handling in drm_crtc.c · baf698b0
      Daniel Vetter authored
      While looking through drm_crtc.c to double-check make locking changes
      I've noticed that there's a few other places that would now benefit
      from simplified return value handling.
      
      So let's flatten the control flow and replace and always 0 ret with 0
      where possible.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      baf698b0
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next · b0654103
      Dave Airlie authored
      drm/tegra: Changes for v3.19-rc1
      
      The highlights in this pull request are:
      
        * IOMMU support: The Tegra DRM driver can now deal with discontiguous
          buffers if an IOMMU exists in the system. That means it can allocate
          using drm_gem_get_pages() and will map them into IOVA space via the
          IOMMU API. Similarly, non-contiguous PRIME buffers can be imported
          from a different driver, which allows better integration with gk20a
          (nouveau) and less hacks.
      
        * Universal planes: This is precursory work for atomic modesetting and
          will allow hardware cursor support to be implemented on pre-Tegra114
          where RGB cursors were not supported.
      
        * DSI ganged-mode support: The DSI controller can now gang up with a
          second DSI controller to drive high resolution DSI panels.
      
      Besides those bigger changes there is a slew of fixes, cleanups, plugged
      memory leaks and so on.
      
      * tag 'drm/tegra/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux: (44 commits)
        drm/tegra: gem: Check before freeing CMA memory
        drm/tegra: fb: Add error codes to error messages
        drm/tegra: fb: Properly release GEM objects on failure
        drm/tegra: Detach panel when a connector is removed
        drm/tegra: Plug memory leak
        drm/tegra: gem: Use more consistent data types
        drm/tegra: fb: Do not destroy framebuffer
        drm/tegra: gem: dumb: pitch and size are outputs
        drm/tegra: Enable the hotplug interrupt only when necessary
        drm/tegra: dc: Universal plane support
        drm/tegra: dc: Registers are 32 bits wide
        drm/tegra: dc: Factor out DC, window and cursor commit
        drm/tegra: Add IOMMU support
        drm/tegra: Fix error handling cleanup
        drm/tegra: gem: Use dma_mmap_writecombine()
        drm/tegra: gem: Remove redundant drm_gem_free_mmap_offset()
        drm/tegra: gem: Cleanup tegra_bo_create_with_handle()
        drm/tegra: gem: Extract tegra_bo_alloc_object()
        drm/tegra: dsi: Set up PHY_TIMING & BTA_TIMING registers earlier
        drm/tegra: dsi: Replace 1000000 by USEC_PER_SEC
        ...
      b0654103