• Michal Wajdeczko's avatar
    drm/xe/pf: Improve VF control · 2bd87f0f
    Michal Wajdeczko authored
    Our initial VF control implementation was focused on providing
    a very minimal support for the VF_STATE_NOTIFY events just to
    meet GuC requirements, without tracking a VF state or doing any
    expected actions (like cleanup in case of the FLR notification).
    
    Try to improve this by defining set of VF state machines, each
    responsible for processing one activity (PAUSE, RESUME, STOP or
    FLR). All required steps defined by the VF state machine are then
    executed by the PF worker from the dedicated workqueue.
    
    Any external requests or notifications simply try to transition
    between the states to trigger a work and then wait for that work
    to finish. Some predefined default timeouts are used to avoid
    changing existing API calls, but it should be easy to extend the
    control API to also accept specific timeout values.
    Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: Piotr Piórkowski <piotr.piorkowski@intel.com>
    Reviewed-by: default avatarPiotr Piórkowski <piotr.piorkowski@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240828210809.1528-5-michal.wajdeczko@intel.com
    2bd87f0f
xe_gt_sriov_pf_control.h 880 Bytes