1. 27 6月, 2019 1 次提交
  2. 21 6月, 2019 2 次提交
  3. 17 6月, 2019 2 次提交
  4. 04 6月, 2019 1 次提交
  5. 30 5月, 2019 1 次提交
  6. 28 5月, 2019 13 次提交
  7. 03 5月, 2019 1 次提交
  8. 27 4月, 2019 1 次提交
  9. 25 4月, 2019 4 次提交
  10. 24 4月, 2019 1 次提交
  11. 05 4月, 2019 1 次提交
  12. 02 4月, 2019 2 次提交
  13. 22 3月, 2019 1 次提交
    • C
      drm/i915: Introduce the i915_user_extension_method · 9d1305ef
      Chris Wilson 提交于
      An idea for extending uABI inspired by Vulkan's extension chains.
      Instead of expanding the data struct for each ioctl every time we need
      to add a new feature, define an extension chain instead. As we add
      optional interfaces to control the ioctl, we define a new extension
      struct that can be linked into the ioctl data only when required by the
      user. The key advantage being able to ignore large control structs for
      optional interfaces/extensions, while being able to process them in a
      consistent manner.
      
      In comparison to other extensible ioctls, the key difference is the
      use of a linked chain of extension structs vs an array of tagged
      pointers. For example,
      
      struct drm_amdgpu_cs_chunk {
              __u32           chunk_id;
              __u32           length_dw;
              __u64           chunk_data;
      };
      
      struct drm_amdgpu_cs_in {
              __u32           ctx_id;
              __u32           bo_list_handle;
              __u32           num_chunks;
              __u32           _pad;
              __u64           chunks;
      };
      
      allows userspace to pass in array of pointers to extension structs, but
      must therefore keep constructing that array along side the command stream.
      In dynamic situations like that, a linked list is preferred and does not
      similar from extra cache line misses as the extension structs themselves
      must still be loaded separate to the chunks array.
      
      v2: Apply the tail call optimisation directly to nip the worry of stack
      overflow in the bud.
      v3: Defend against recursion.
      v4: Fixup local types to match new uabi
      
      Opens:
      - do we include the result as an out-field in each chain?
      struct i915_user_extension {
      	__u64 next_extension;
      	__u64 name;
      	__s32 result;
      	__u32 mbz; /* reserved for future use */
      };
      * Undecided, so provision some room for future expansion.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190322092325.5883-1-chris@chris-wilson.co.uk
      9d1305ef
  14. 08 3月, 2019 2 次提交
  15. 28 2月, 2019 1 次提交
  16. 06 2月, 2019 1 次提交
  17. 27 1月, 2019 1 次提交
  18. 22 1月, 2019 1 次提交
  19. 17 1月, 2019 1 次提交
  20. 02 1月, 2019 1 次提交
    • Z
      drm/i915/gvt: Change KVMGT as self load module · 9bdb0734
      Zhenyu Wang 提交于
      This trys to make 'kvmgt' module as self loadable instead of loading
      by i915/gvt device model. So hypervisor specific module could be
      stand-alone, e.g only after loading hypervisor specific module, GVT
      feature could be enabled via specific hypervisor interface, e.g VFIO/mdev.
      
      So this trys to use hypervisor module register/unregister interface
      for that. Hypervisor module needs to take care of module reference
      itself when working for hypervisor interface, e.g for VFIO/mdev,
      hypervisor module would reference counting mdev when open and release.
      
      This makes 'kvmgt' module really split from GVT device model. User
      needs to load 'kvmgt' to enable VFIO/mdev interface.
      
      v6:
      - remove unused variable
      
      v5:
      - put module reference in register error path
      
      v4:
      - fix checkpatch warning
      
      v3:
      - Fix module reference handling for device open and release. Unused
        mdev devices would be cleaned up in device unregister when module unload.
      
      v2:
      - Fix kvmgt order after i915 for built-in case
      
      Cc: "Yuan, Hang" <hang.yuan@intel.com>
      Cc: Alex Williamson <alex.williamson@redhat.com>
      Cc: "He, Min" <min.he@intel.com>
      Reviewed-by: NYuan, Hang <hang.yuan@intel.com>
      Acked-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      9bdb0734
  21. 05 12月, 2018 1 次提交