1. 11 Dec, 2019 35 commits
  2. 10 Dec, 2019 3 commits
  3. 09 Dec, 2019 2 commits
    • Daniele Ceraolo Spurio's avatar
      drm/i915/guc: kill the GuC client · 3c9abe88
      Daniele Ceraolo Spurio authored
      We now only use 1 client without any plan to add more. The client is
      also only holding information about the WQ and the process desc, so we
      can just move those in the intel_guc structure and always use stage_id
      0.
      
      v2: fix comment (John)
      v3: fix the comment for real, fix kerneldoc
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191205220243.27403-4-daniele.ceraolospurio@intel.com
      3c9abe88
    • Daniele Ceraolo Spurio's avatar
      drm/i915/guc: kill doorbell code and selftests · e9362e13
      Daniele Ceraolo Spurio authored
      Instead of relying on the workqueue, the upcoming reworked GuC
      submission flow will offer the host driver indipendent control over
      the execution status of each context submitted to GuC. As part of this,
      the doorbell usage model has been reworked, with each doorbell being
      paired to a single lrc and a doorbell ring representing new work
      available for that specific context. This mechanism, however, limits
      the number of contexts that can be registered with GuC to the number of
      doorbells, which is an undesired limitation. To avoid this limitation,
      we requested the GuC team to also provide a H2G that will allow the host
      to notify the GuC of work available for a specified lrc, so we can use
      that mechanism instead of relying on the doorbells. We can therefore drop
      the doorbell code we currently have, also given the fact that in the
      unlikely case we'd want to switch back to using doorbells we'd have to
      heavily rework it.
      The workqueue will still have a use in the new interface to pass special
      commands, so that code has been retained for now.
      
      With the doorbells gone and the GuC client becoming even simpler, the
      existing GuC selftests don't give us any meaningful coverage so we can
      remove them as well. Some selftests might come with the new code, but
      they will look different from what we have now so if doesn't seem worth
      it to keep the file around in the meantime.
      
      v2: fix comments and commit message (John)
      Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Cc: Matthew Brost <matthew.brost@intel.com>
      Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191205220243.27403-3-daniele.ceraolospurio@intel.com
      e9362e13