1. 20 Nov, 2014 10 commits
  2. 16 Nov, 2014 22 commits
  3. 15 Nov, 2014 1 commit
  4. 14 Nov, 2014 7 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
    • Dave Airlie's avatar
      Merge tag 'drm/fixes/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next · 4fb2ac6e
      Dave Airlie authored
      drm: Miscellaneous fixes for v3.19-rc1
      
      This is a small collection of fixes that I've been carrying around for a
      while now. Many of these have been posted and reviewed or acked. The few
      that haven't I deemed too trivial to bother.
      
      * tag 'drm/fixes/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux:
        video/hdmi: Relicense header under MIT license
        drm/gma500: mdfld: Reuse video/mipi_display.h
        drm: Make drm_mode_create_tv_properties() signature consistent
        drm: Implement drm_get_pci_dev() dummy for !PCI
        drm/prime: Use unsigned type for number of pages
        drm/gem: Fix typo in kerneldoc
        drm: Use const data when creating blob properties
        drm: Use size_t for blob property sizes
      4fb2ac6e
    • Dave Airlie's avatar
      Merge tag 'drm/panel/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux into drm-next · 8aa3dc3c
      Dave Airlie authored
      drm/panel: Changes for v3.19-rc1
      
      This contains support for a couple of new panels, updates for some GPIO
      API changes and a bunch of updates to the MIPI DSI support that should
      make it easier to write panel drivers in the future.
      
      * tag 'drm/panel/for-3.19-rc1' of git://people.freedesktop.org/~tagr/linux: (31 commits)
        drm/panel: Add Sharp LQ101R1SX01 support
        drm/dsi: Do not require .owner field to be set
        drm/dsi: Resolve MIPI DSI device from phandle
        drm/dsi: Implement DCS set_{column,page}_address commands
        drm/dsi: Implement DCS {get,set}_pixel_format commands
        drm/dsi: Implement DCS get_power_mode command
        drm/dsi: Implement DCS soft_reset command
        drm/dsi: Implement DCS nop command
        drm/dsi: Add to DocBook documentation
        drm/dsi: Implement some standard DCS commands
        drm/dsi: Implement generic read and write commands
        drm/panel: s6e8aa0: Use standard MIPI DSI function
        drm/dsi: Add mipi_dsi_set_maximum_return_packet_size() helper
        drm/dsi: Constify mipi_dsi_msg
        drm/dsi: Make mipi_dsi_dcs_{read,write}() symmetrical
        drm/dsi: Add DSI transfer helper
        drm/dsi: Add message to packet translator
        drm/dsi: Introduce packet format helpers
        drm/panel: s6e8aa0: Fix build warnings on 64-bit
        drm/panel: ld9040: Fix build warnings on 64-bit
        ...
      8aa3dc3c