• Michal Wajdeczko's avatar
    drm/xe: Split MCR initialization · 2d3789e3
    Michal Wajdeczko authored
    The initialization order of GT topology, MCR, PAT and GuC HWconfig
    as done today by native/PF driver, can't be followed as-is by the
    VF driver, since fuse registers used in GT topology discovery will
    be obtained by the VF driver from the GuC in HWconfig step.
    
    While native/PF drivers need to program the HW PAT table prior to
    loading the GuC, this requires only multicast writes support from
    the MCR code, which could be initialized separately from the full
    MCR support that requires the GT topology to setup steering data.
    
    Split MCR initialization into two steps to avoid introducing VF
    specific code paths. This also fixes duplicated spin_lock inits.
    Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Michał Winiarski <michal.winiarski@intel.com>
    Cc: Zhanjun Dong <zhanjun.dong@intel.com>
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240530115814.1284-1-michal.wajdeczko@intel.com
    2d3789e3
xe_gt_mcr.c 23.7 KB