• Daniele Ceraolo Spurio's avatar
    drm/i915: Fix handling of non-supported uC · 305ceebd
    Daniele Ceraolo Spurio authored
    There are 2 issues around handling of missing uC support:
    
    - We treat lack of uC HW and lack of uC FW definition as 2 different
      cases, but both of them mean that we don't support the uC on the
      platform we're running on.
    
    - We rely on the modparam to decide if we can take uC paths or not, but
      we don't sanitize it if it is set incorrectly on platform with no uC
      support.
    
    To fix both of them, unify the 2 cases in a single one and sanitize the
    modparam on invalid configuration (after printing an error message).
    The log has been adapted as well, since the user doesn't care why we
    don't support GuC/HuC (no HW or no FW), just that we do not. Developers
    can easily find the answer based on the platform, so we can simplify the
    log.
    
    Correcting the modparam has been preferred over failing the load since
    this is what we usually do for non-supported feature (e.g. the now gone
    enable_ppgtt would fall back to the highest supported PPGTT mode if the
    selected one was not available).
    
    Note that this patch purposely doesn't change the behavior for platforms
    that do have uC support, in which case we will still fail if enable_guc
    is set and the firmware is not available on the system.
    Suggested-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Reviewed-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190725001813.4740-3-daniele.ceraolospurio@intel.com
    305ceebd
intel_uc.c 15.7 KB