On Wed, Jul 29, 2015 at 06:48:28PM +0100, Dave Gordon wrote: > This patch series enables command submission via the GuC. In this mode, > instead of the host CPU driving the execlist port directly, it hands > over work items to the GuC, using a doorbell mechanism to tell the GuC > that new items have been added to its work queue. The GuC then dispatches > contexts to the various GPU engines, and manages the resulting context- > switch interrupts. Completion of a batch is however still signalled to > the CPU; the GuC is not involved in handling user interrupts. > > There are two subsequences within the patch series: > > drm/i915: GuC-specific firmware loader > drm/i915: Debugfs interface to read GuC load status > > These two patches provide the GuC loader and a debugfs interface to > verify the resulting state. At this point in the sequence we can load > and activate the GuC firmware, but not submit any batches through it. > (This is nonetheless a potentially useful state, as the GuC could do > other useful work even when not handling batch submissions). > > drm/i915: Expose one LRC function for GuC submission mode > drm/i915: Prepare for GuC-based command submission > drm/i915: Enable GuC firmware log > drm/i915: Implementation of GuC submission client > drm/i915: Interrupt routing for GuC submission > drm/i915: Integrate GuC-based command submission > drm/i915: Debugfs interface for GuC submission statistics > drm/i915: Enable GuC submission, where supported > > In this second section, we implement the GuC submission mechanism, link > it into the (execlist-based) submission path, and finally enable it > (on supported platforms). > > On platforms where there is no GuC, or if GuC submission is explicitly > disabled, batch submission will revert to using the execlist mechanism > directly. On the other hand, if the GuC firmware cannot be found or is > invalid, the GPU will be unusable. > > The GuC firmware itself is not included in this patchset; it is or will > be available for download from https://01.org/linuxgraphics/downloads/ > This driver works with and requires GuC firmware revision 3.x. It will > not work with any firmware version 1.x, as the GuC protocol in those > revisions was incompatible and is no longer supported. > [TOR:] This patch set looks good. There is one comment in the first patch that should be updated. Otherwise, I did not see any changes required. For the 10 patches: Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> However, the guc firmware version 3.x is still not available on 01.org. For that reason the 10th patch should not be merged yet. The first 9 patches can be merged now; hopefully before there are difficult merge conflicts. Also, the guc firmware going through the release process is version 4.x. Alex Dai is working on a few patches needed for version 4.x. Thanks, Tom > Ben Widawsky (0): > Vinit Azad (0): > Michael H. Nguyen (0): > created the original versions on which some of these patches are based. > > Alex Dai (5): > drm/i915: GuC-specific firmware loader > drm/i915: Debugfs interface to read GuC load status > drm/i915: Prepare for GuC-based command submission > drm/i915: Enable GuC firmware log > drm/i915: Integrate GuC-based command submission > > Dave Gordon (5): > drm/i915: Expose one LRC function for GuC submission mode > drm/i915: Implementation of GuC submission client > drm/i915: Interrupt routing for GuC submission > drm/i915: Debugfs interface for GuC submission statistics > drm/i915: Enable GuC submission, where supported > > Documentation/DocBook/drm.tmpl | 14 + > drivers/gpu/drm/i915/Makefile | 4 + > drivers/gpu/drm/i915/i915_debugfs.c | 122 +++- > drivers/gpu/drm/i915/i915_dma.c | 9 + > drivers/gpu/drm/i915/i915_drv.h | 11 + > drivers/gpu/drm/i915/i915_gem.c | 16 + > drivers/gpu/drm/i915/i915_gpu_error.c | 13 +- > drivers/gpu/drm/i915/i915_guc_reg.h | 17 +- > drivers/gpu/drm/i915/i915_guc_submission.c | 887 +++++++++++++++++++++++++++++ > drivers/gpu/drm/i915/i915_params.c | 4 +- > drivers/gpu/drm/i915/i915_reg.h | 15 +- > drivers/gpu/drm/i915/intel_guc.h | 122 ++++ > drivers/gpu/drm/i915/intel_guc_fwif.h | 3 +- > drivers/gpu/drm/i915/intel_guc_loader.c | 613 ++++++++++++++++++++ > drivers/gpu/drm/i915/intel_lrc.c | 65 ++- > drivers/gpu/drm/i915/intel_lrc.h | 8 + > 16 files changed, 1881 insertions(+), 42 deletions(-) > create mode 100644 drivers/gpu/drm/i915/i915_guc_submission.c > create mode 100644 drivers/gpu/drm/i915/intel_guc.h > create mode 100644 drivers/gpu/drm/i915/intel_guc_loader.c > > -- > 1.9.1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx