1. 17 6月, 2016 1 次提交
  2. 16 6月, 2016 2 次提交
  3. 09 6月, 2016 1 次提交
    • L
      drm: Remove dev_pm_ops from drm_class · d14d2a84
      Lukas Wunner 提交于
      The PM core introduced the ability to keep devices runtime suspended
      during the entire system suspend/resume process with commit aae4518b
      ("PM / sleep: Mechanism to avoid resuming runtime-suspended devices
      unnecessarily"). Before this so-called "direct-complete" procedure was
      introduced, devices were always runtime resumed only to be immediately
      put to sleep again using their ->suspend hook. Direct-complete is
      enabled by returning a positive value from the ->prepare hook. The PCI
      core usually does this automatically.
      
      Direct-complete is only available for a device if all children use it as
      well. Currently we cannot support direct-complete for DRM drivers
      because the DRM core automatically registers multiple DRM minors which
      belong to device class drm_class, and drm_class uses a struct dev_pm_ops
      which lacks the ->prepare callback.
      
      While this could be solved by adding the missing ->prepare callback,
      closer inspection shows that there are no DRM drivers left which declare
      the legacy ->suspend and ->resume callbacks in their drm_driver struct.
      The last ones to remove them were i915 with commit 1751fcf9
      ("drm/i915: Fix module initialisation, v2.") and exynos with commit
      e7fefb1d ("drm/exynos: remove legacy ->suspend()/resume()").
      
      Consequently the struct dev_pm_ops of drm_class is now dead code. Remove
      it. If no dev_pm_ops is declared for a device, the PM core automatically
      enables direct-complete for it, thereby making that mechanism available
      to the parent DRM PCI devices.
      Signed-off-by: NLukas Wunner <lukas@wunner.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/da848fcd5ca72a35d9a722e644719977a47bb7ba.1465382836.git.lukas@wunner.de
      d14d2a84
  4. 27 4月, 2016 3 次提交
  5. 21 4月, 2016 1 次提交
  6. 20 4月, 2016 1 次提交
  7. 08 1月, 2016 1 次提交
  8. 15 12月, 2015 2 次提交
  9. 04 12月, 2015 1 次提交
  10. 16 10月, 2015 1 次提交
  11. 30 9月, 2015 1 次提交
    • D
      drm/doc: Update docs about device instance setup · 6e3f797c
      Daniel Vetter 提交于
      ->load is deprecated, bus functions are deprecated and everyone
      should use drm_dev_alloc&register.
      
      So update the .tmpl (and pull a bunch of the overview docs into the
      sourcecode to increase chances that it'll stay in sync in the future)
      and add notes to functions which are deprecated. I didn't bother to
      clean up and document the unload sequence similarly since that one is
      still a bit a mess: drm_dev_unregister does way too much,
      drm_unplug_dev does what _unregister should be doing but then has the
      complication of promising something it doesn't actually do (it doesn't
      unplug existing open fds for instance, only prevents new ones).
      
      Motivated since I don't want to hunt every new driver for usage of
      drm_platform_init any more ;-)
      
      v2: Reword the deprecation note for ->load a bit, using Laurent's
      suggestion as an example (but making the wording a bit stronger even).
      Fix spelling in commit message.
      
      v3: More spelling fixes from Laurent.
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Acked-by: David Herrmann <dh.herrmann@gmail.com> (v2)
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6e3f797c
  12. 09 9月, 2015 1 次提交
    • D
      drm: move drm_class into drm_sysfs.c · fcc90213
      David Herrmann 提交于
      Right now, drm_sysfs_create() returns the newly allocated "struct class"
      to the caller (which is drm_core_init()), which then has to set the
      global variable 'drm_class'. During cleanup, though, we call
      drm_sysfs_destroy() which implicitly uses the global 'drm_class'. This is
      confusing, as ownership of the global 'drm_class' is non-obvious.
      
      This patch changes drm_sysfs_create() to drm_sysfs_init() and makes it
      initialize the 'drm_class' object directly, rather than returning it.
      This way, both drm_sysfs_init() and drm_sysfs_destroy() work in a similar
      fashion and manage the global drm class.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      fcc90213
  13. 08 9月, 2015 1 次提交
  14. 22 7月, 2015 1 次提交
  15. 02 7月, 2015 2 次提交
    • D
      drm: Convert drm_legacy_ctxbitmap_init to void return type · ba6976c1
      Daniel Vetter 提交于
      It can't fail really.
      
      Also remove the redundant kms check Peter added.
      
      Cc: Peter Antoine <peter.antoine@intel.com>
      Reviewed-by: NPeter Antoine <peter.antoine@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      ba6976c1
    • P
      drm: Turn off Legacy Context Functions · 0e975980
      Peter Antoine 提交于
      The context functions are not used by the i915 driver and should not
      be used by modeset drivers. These driver functions contain several bugs
      and security holes. This change makes these functions optional can be
      turned on by a setting, they are turned off by default for modeset
      driver with the exception of the nouvea driver that may require them with
      an old version of libdrm.
      
      The previous attempt was
      
      commit 7c510133
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Aug 8 15:41:21 2013 +0200
      
          drm: mark context support as a legacy subsystem
      
      but this had to be reverted
      
      commit c21eb21c
      Author: Dave Airlie <airlied@redhat.com>
      Date:   Fri Sep 20 08:32:59 2013 +1000
      
          Revert "drm: mark context support as a legacy subsystem"
      
      v2: remove returns from void function, and formatting (Daniel Vetter)
      
      v3:
      - s/Nova/nouveau/ in the commit message, and add references to the
        previous attempts
      - drop the part touching the drm hw lock, that should be a separate
        patch.
      
      Signed-off-by: Peter Antoine <peter.antoine@intel.com> (v2)
      Cc: Peter Antoine <peter.antoine@intel.com> (v2)
      Reviewed-by: NPeter Antoine <peter.antoine@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      0e975980
  16. 24 6月, 2015 1 次提交
  17. 05 5月, 2015 3 次提交
  18. 13 3月, 2015 1 次提交
  19. 05 1月, 2015 1 次提交
    • R
      drm: add atomic properties · 88a48e29
      Rob Clark 提交于
      Once a driver is using atomic helpers for modeset, the next step is to
      switch over to atomic properties.  To do this, make sure that any
      modeset objects have their ->atomic_{get,set}_property() vfuncs suitably
      populated if they have custom properties (you did already remember to
      plug in atomic-helper func for the legacy ->set_property() vfuncs,
      right?), and then set DRIVER_ATOMIC bit in driver_features flag.
      
      A new cap is introduced, DRM_CLIENT_CAP_ATOMIC, for the purposes of
      shielding legacy userspace from atomic properties.  Mostly for the
      benefit of legacy DDX drivers that do silly things like getting/setting
      each property at startup (since some of the new atomic properties will
      be able to trigger modeset).
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      [danvet: Squash in fixup patch to check for DRM_MODE_PROP_ATOMIC
      instaed of the CAP define when filtering properties. Reported by
      Tvrtko Uruslin, acked by Rob.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      88a48e29
  20. 25 11月, 2014 1 次提交
  21. 13 10月, 2014 1 次提交
  22. 03 10月, 2014 1 次提交
  23. 24 9月, 2014 1 次提交
  24. 12 9月, 2014 3 次提交
  25. 10 9月, 2014 2 次提交
  26. 08 8月, 2014 1 次提交
    • D
      Revert "drm: drop redundant drm_file->is_master" · 7963e9db
      Dave Airlie 提交于
      This reverts commit 48ba8137.
      
      Thanks to Chris:
      "drm_file->is_master is not synomous with having drm_file->master ==
      drm_file->minor->master. This is because drm_file->master is the same
      for all drm_files of the same generation and so when there is a master,
      every drm_file believes itself to be the master. Confusion ensues and
      things go pear shaped when one file is closed and there is no master
      anymore."
      
      Conflicts:
      	drivers/gpu/drm/drm_drv.c
      	drivers/gpu/drm/drm_stub.c
      7963e9db
  27. 07 8月, 2014 1 次提交
  28. 06 8月, 2014 2 次提交
  29. 05 8月, 2014 1 次提交