• 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
intel_guc_submission.c 23 KB