Hi, Now when the blocking problems with iommu layer have been solved by commits 910170442944e1f8674fd5ddbeeb8ccd1877ea98 and 65ca7f5f7d1cdde6c25172fe6107cd16902f826f it is possible to test and experiment with this code on KBL.
I have tried to accomodate all the review feedback that was given by the previous review round (thanks reviewers!). The context is now created with regular means and then promoted to be svm context by the context param ioctl as requested by Chris Wilson. The hw_id vs pasid got resolved as they are orthogonal things in gen9+. I dropped the bdw support, and I think before possible merging the skl should be also exluded. But I kept it for now if there are some brave souls who wants to try. Development and bugfixing are now kbl+ only. The big open item from last review round is KMS integration. I don't have answer to that at this point. Chris asked if this should be done by creating regular objects and then mmap them for svm use. Another option could be that with new mmap flag we could map a range as uncached? Regardless, for beignet things should already be usable for experimentation. I improved the testset but it is still quite thin. Basic tests work with kbl reliably. The access to gtt through svm doesn't work (due to special pte used to fault for it). SVM is inherently a ppgtt concept and trickery to access through it into gtt space feels akward. Can anyone think any use case for it? Most fresh snapshot of this code in: https://cgit.freedesktop.org/~miku/drm-intel/log/?h=svm and tests: https://cgit.freedesktop.org/~miku/drm-intel/log/?h=svm Chris already helped to iron out some bigger wrinkles, thanks! Here it is and thanks for any feedback, -Mika Jesse Barnes (2): drm/i915: IOMMU based SVM implementation v16 drm/i915: add SVM execbuf ioctl v13 Mika Kuoppala (1): drm/i915: Create context desc template when context is created drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915/i915_drv.c | 1 + drivers/gpu/drm/i915/i915_drv.h | 5 + drivers/gpu/drm/i915/i915_gem_context.c | 96 +++++++++++++++- drivers/gpu/drm/i915/i915_gem_context.h | 30 +++++ drivers/gpu/drm/i915/i915_gem_execbuffer.c | 175 +++++++++++++++++++++++++++++ drivers/gpu/drm/i915/i915_reg.h | 16 +++ drivers/gpu/drm/i915/intel_device_info.c | 6 + drivers/gpu/drm/i915/intel_lrc.c | 32 ++---- include/uapi/drm/i915_drm.h | 45 ++++++++ 10 files changed, 384 insertions(+), 23 deletions(-) -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx