• Alan Previn's avatar
    drm/i915/guc: Fix GuC error capture sizing estimation and reporting · befb231d
    Alan Previn authored
    During GuC error capture initialization, we estimate the amount of size
    we need for the error-capture-region of the shared GuC-log-buffer.
    This calculation was incorrect so fix that. With the fixed calculation
    we can reduce the allocation of error-capture region from 4MB to 1MB
    (see note2 below for reasoning). Additionally, switch from drm_notice to
    drm_debug for the 3X spare size check since that would be impossible to
    hit without redesigning gpu_coredump framework to hold multiple captures.
    
    NOTE1: Even for 1x the min size estimation case, actually running out
    of space is a corner case because it can only occur if all engine
    instances get reset all at once and i915 isn't able extract the capture
    data fast enough within G2H handler worker.
    
    NOTE2: With the corrected calculation, a DG2 part required ~77K and a PVC
    required ~115K (1X min-est-size that is calculated as one-shot all-engine-
    reset scenario).
    
    Fixes: d7c15d76 ("drm/i915/guc: Check sizing of guc_capture output")
    Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
    Cc: Matthew Brost <matthew.brost@intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
    Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Chris Wilson <chris.p.wilson@intel.com>
    Signed-off-by: default avatarAlan Previn <alan.previn.teres.alexis@intel.com>
    Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
    Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20221026060506.1007830-2-alan.previn.teres.alexis@intel.com
    befb231d
intel_guc_log.c 24.3 KB