• Daniele Ceraolo Spurio's avatar
    drm/i915/huc: bump timeout for delayed load and reduce print verbosity · 21f213e6
    Daniele Ceraolo Spurio authored
    We're observing sporadic HuC delayed load timeouts in CI, due to mei_pxp
    binding completing later than we expected. HuC is still loaded when the
    bind occurs, but in the meantime i915 has started allowing submission to
    the VCS engines even if HuC is not there.
    In most of the cases I've observed, the timeout was due to the
    init/resume of another driver between i915 and mei hitting errors and
    thus adding an extra delay, but HuC was still loaded before userspace
    could submit, because the whole resume process time was increased by the
    delays.
    
    Given that there is no upper bound to the delay that can be introduced
    by other drivers, I've reached the following compromise with the media
    team:
    
    1) i915 is going to bump the timeout to 5s, to reduce the probability
    of reaching it. We still expect HuC to be loaded before userspace
    starts submitting, so increasing the timeout should have no impact on
    normal operations, but in case something weird happens we don't want to
    stall video submissions for too long.
    
    2) The media driver will cope with the failing submissions that manage
    to go through between i915 init/resume complete and HuC loading, if any
    ever happen. This could cause a small corruption of video playback
    immediately after a resume (we should be safe on boot because the media
    driver polls the HUC_STATUS ioctl before starting submissions).
    
    Since we're accepting the timeout as a valid outcome, I'm also reducing
    the print verbosity from error to notice.
    
    v2: use separate prints for MEI GSC and MEI PXP init timeouts (John)
    v3: add MISSING_CASE to the if-else chain (John)
    
    References: https://gitlab.freedesktop.org/drm/intel/-/issues/7033
    Fixes: 27536e03 ("drm/i915/huc: track delayed HuC load with a fence")
    Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Tony Ye <tony.ye@intel.com>
    Cc: John Harrison <john.c.harrison@intel.com>
    Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221013203245.1801788-1-daniele.ceraolospurio@intel.com
    21f213e6
intel_huc.c 13.1 KB