• Daniele Ceraolo Spurio's avatar
    drm/xe/gsc: Query GSC compatibility version · 0881cbe0
    Daniele Ceraolo Spurio authored
    The version is obtained via a dedicated MKHI GSC HECI command.
    The compatibility version is what we want to match against for the GSC,
    so we need to call the FW version checker after obtaining the version.
    
    Since this is the first time we send a GSC HECI command via the GSCCS,
    this patch also introduces common infrastructure to send such commands
    to the GSC. Communication with the GSC FW is done via input/output
    buffers, whose addresses are provided via a GSCCS command. The buffers
    contain a generic header and a client-specific packet (e.g. PXP, HDCP);
    the clients don't care about the header format and/or the GSCCS command
    in the batch, they only care about their client-specific header. This
    patch therefore introduces helpers that allow the callers to
    automatically fill in the input header, submit the GSCCS job and decode
    the output header, to make it so that the caller only needs to worry about
    their client-specific input and output messages.
    
    v3: squash of 2 separate patches ahead of merge, so that the common
    functions and their first user are added at the same time
    Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
    Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
    Cc: Suraj Kandpal <suraj.kandpal@intel.com>
    Cc: John Harrison <John.C.Harrison@Intel.com>
    Reviewed-by: John Harrison <John.C.Harrison@Intel.Com> #v1
    Reviewed-by: default avatarSuraj Kandpal <suraj.kandpal@intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    0881cbe0
gsc_command_header_abi.h 999 Bytes