1. 13 Feb, 2017 1 commit
  2. 12 Feb, 2017 1 commit
  3. 09 Feb, 2017 11 commits
  4. 08 Feb, 2017 3 commits
  5. 07 Feb, 2017 12 commits
  6. 06 Feb, 2017 3 commits
  7. 03 Feb, 2017 5 commits
  8. 02 Feb, 2017 4 commits
    • Dave Airlie's avatar
      Merge branch 'drm-etnaviv-next' of https://git.pengutronix.de/git/lst/linux into drm-next · 99743ae4
      Dave Airlie authored
      It includes code cleanups from Bhumika and Liviu, a significant shader
      performance fix and additions to the cmdstream validator from Wladimir
      and the addition of a cmdbuf suballocator by myself.
      The suballocator improves performance on all chips by reducing the CPU
      overhead of the kernel driver and side steps the GC3000 FE MMU flush
      erratum, now making the workarounds in IOVA allocation we had before
      unnecessary, which results in a nice cleanup of the code in that area.
      
      * 'drm-etnaviv-next' of https://git.pengutronix.de/git/lst/linux:
        drm/etnaviv: Remove duplicate header file include
        Revert "drm/etnaviv: trick drm_mm into giving out a low IOVA"
        drm/etnaviv: add cmdbuf suballocator
        drm/etnaviv: get cmdbuf physical address through the cmdbuf abstraction
        drm/etnaviv: wire up iova handling in new cmdbuf abstraction
        drm/etnaviv: move cmdbuf de-/allocation into own file
        drm/etnaviv: always flush MMU TLBs on map/unmap
        drm/etnaviv: constify etnaviv_iommu_ops structures
        drm/etnaviv: set up initial PULSE_EATER register
        drm/etnaviv: add new GC3000 sensitive states
      99743ae4
    • Gabriel Krisman Bertazi's avatar
      drm: Fix build when FBDEV_EMULATION is disabled · 7e6328fd
      Gabriel Krisman Bertazi authored
      Commit be7f735cd5ea ("drm: Rely on mode_config data for fb_helper
      initialization") broke the build when CONFIG_DRM_FBDEV_EMULATION is
      disabled because it didn't update the prototype for drm_fb_helper_init
      in that case.
      
      Fixes: be7f735cd5ea ("drm: Rely on mode_config data for fb_helper
       initialization")
      Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170202193900.22075-1-krisman@collabora.co.uk
      7e6328fd
    • Gabriel Krisman Bertazi's avatar
      drm: Rely on mode_config data for fb_helper initialization · e4563f6b
      Gabriel Krisman Bertazi authored
      Instead of receiving the num_crts as a parameter, we can read it
      directly from the mode_config structure.  I audited the drivers that
      invoke this helper and I believe all of them initialize the mode_config
      struct accordingly, prior to calling the fb_helper.
      
      I used the following coccinelle hack to make this transformation, except
      for the function headers and comment updates.  The first and second
      rules are split because I couldn't find a way to remove the unused
      temporary variables at the same time I removed the parameter.
      
      // <smpl>
      @r@
      expression A,B,D,E;
      identifier C;
      @@
      (
      - drm_fb_helper_init(A,B,C,D)
      + drm_fb_helper_init(A,B,D)
      |
      - drm_fbdev_cma_init_with_funcs(A,B,C,D,E)
      + drm_fbdev_cma_init_with_funcs(A,B,D,E)
      |
      - drm_fbdev_cma_init(A,B,C,D)
      + drm_fbdev_cma_init(A,B,D)
      )
      
      @@
      expression A,B,C,D,E;
      @@
      (
      - drm_fb_helper_init(A,B,C,D)
      + drm_fb_helper_init(A,B,D)
      |
      - drm_fbdev_cma_init_with_funcs(A,B,C,D,E)
      + drm_fbdev_cma_init_with_funcs(A,B,D,E)
      |
      - drm_fbdev_cma_init(A,B,C,D)
      + drm_fbdev_cma_init(A,B,D)
      )
      
      @@
      identifier r.C;
      type T;
      expression V;
      @@
      - T C;
      <...
      when != C
      - C = V;
      ...>
      // </smpl>
      
      Changes since v1:
       - Rebased on top of the tip of drm-misc-next.
       - Remove mention to sti since a proper fix got merged.
      Suggested-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.co.uk>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170202162640.27261-1-krisman@collabora.co.uk
      e4563f6b
    • Chris Wilson's avatar
      drm: Provide a driver hook for drm_dev_release() · f30c9257
      Chris Wilson authored
      Some state is coupled into the device lifetime outside of the
      load/unload timeframe and requires teardown during final unreference
      from drm_dev_release(). For example, dmabufs hold both a device and
      module reference and may live longer than expected (i.e. the current
      pattern of the driver tearing down its state and then releasing a
      reference to the drm device) and yet touch driver private state when
      destroyed.
      
      v2: Export drm_dev_fini() and move the responsibility for finalizing the
      drm_device and freeing it to the release callback. (If no callback is
      provided, the core will call drm_dev_fini() and kfree(dev) as before.)
      v3: Remember to add drm_dev_fini() to drm_drv.h
      v4: Tidy language for kerneldoc
      v5: Cross reference from drm_dev_init() to note that driver->release()
      allows for arbitrary embedding.
      v6: Refer to driver data rather than driver state, as state is now
      becoming associated with the struct drm_atomic_state and friends.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      [danvet: Use the proper reference for struct members, which is
      &drm_driver.release.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170202093632.31017-1-chris@chris-wilson.co.uk
      f30c9257